如何使用 node.js 将作者、标题和缩略图等标签添加到 .m4a 音频文件?

How to add tags like Author,Title and Thumbnail to an .m4a audio file using node.js?

使用 Node.js 以 .m4a 格式下载包含音乐的文件。

问题:我找不到向 .m4a 文件添加标签和封面艺术(缩略图)的方法。

我在使用另一个程序之前这样做过:通过 MediaHuman youtube -> mp3 下载器实现(即使它下载为 m4a,我想要的格式)https://ufile.io/yzyzt

(P.S.I我愿意使用其他语言,只要该语言可以将其链接到节点,但如果可以纯粹在 node.js )

非常感谢有关此主题的任何线索。

一种方法是使用 node-taglib2,一个基于 taglib 的 Node.js C++ 插件,在 npm 存储库中可用。

此模块可轻松编辑 mpeg 元数据:

const fs = require('fs');
const taglib = require('taglib2');

let props = {
  artist: 'Howlin\' Wolf',
  title: 'Evil is goin\' on',
  pictures: [
    {
      "mimetype": 'image/jpeg',
      "picture": fs.readFileSync('./thumbnail.jpg')
    } 
  ]
}

taglib.writeTagsSync('./file.m4a', props);

现在我们可以检查元数据是否已更新:

let tags = taglib.readTagsSync('./file.m4a')

console.log(tags.artist, '-', tags.title)  // Howlin' Wolf - Evil is goin' on
console.log(tags.pictures)  // [ { mimetype: 'image/jpeg', picture: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 43 00 03 02 02 03 02 02 03 03 03 03 04 03 03 04 05 08 05 05 04 04 05 0a 07 07 06 ... > } ]

但是当然还有其他选项可以做同样的事情,我相信您也可以使用 ffmpeg,正如 Brad 在他的评论中提到的那样。如果您尝试一下,我会对您的反馈感兴趣。

我终于通过使用 ffmpeg 和 node 解决了我的问题!

https://www.ffmpeg.org/ https://www.npmjs.com/package/ffmpeg

问题是 \node_modules\ffmpeg\lib\video.js 决定跳过重复的命令,因此 ffmpeg 从未正确读取由多个相同命令组成的请求。但是,通过快速 mod 到 video.js 文件,我能够让它工作!我已经成功地将标签和缩略图写入我的 .m4a