使用Node.js以.m4a格式下载包含音乐的文件。
问题:我找不到将标签和封面艺术(缩略图)添加到.m4a文件的方法。
我在使用另一个程序之前做过这个:…
一种方法是使用 节点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,正如布拉德在评论中提到的那样。如果您尝试,我会对您的反馈感兴趣。
我终于通过使用节点使用ffmpeg解决了我的问题!
https://www.ffmpeg.org/ https://www.npmjs.com/package/ffmpeg
问题是\ node_modules \ ffmpeg \ lib \ video.js决定跳过重复命令,因此ffmpeg从未正确读取由多个相同命令组成的请求。但是,通过对video.js文件的快速模式,我能够使它工作!我已成功将标签和缩略图写入我的.m4a