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

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

在使用其他程序之前,我已经完成了此操作:由MediaHuman youtube-> mp3下载器实现(即使它以m4a格式下载,也是我想要的格式)https://ufile.io/yzyzt

(P.S.我愿意使用另一种语言,只要该语言可以链接到节点即可,但是如果完全可以在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在他的评论中提到的那样。如果您愿意,我会对您的反馈意见感兴趣。

07-24 09:48
查看更多