37

我一直坚持在 mp3 文件上添加专辑封面。

我已经研究并搜索了这个问题,但还没有找到解决方案。文档建议使用ffmpeg此脚本将图像(专辑封面)添加到 mp3 :

ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3

来源:http ://www.ffmpeg.org/ffmpeg-all.html#mp3

但它不起作用。我的控制台输出是:

Unrecognized option 'c'
Failed to set value 'copy' for option 'c'

我寻找了另一种解决方案并得到了这个:http ://trac.ffmpeg.org/ticket/2221 :

ffmpeg -i input.mp3 -i cover.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3

这将返回相同的输出:

Unrecognized option 'c'
Failed to set value 'copy' for option 'c'

任何人都可以帮助我,好吗?

注意:我使用 ubuntu 12.04 和 ffmpeg 版本 0.8.6-4:0.8.6-0。

谢谢。

4

3 回答 3

47

With Recent version,

ffmpeg -i in.mp3 -i test.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" out.mp3

Use -map to associate input stream to the output
Use -c copy to directly demux/remux
The -id3v2_version 3 is what is missing in your command line. Note that that wil write an IDV2.3 but you can ask for a 2.4 (-id3v2_version 4)

with the -id3v2_version 3 option the -metadataoption will be well interpreted

Note: the metadata comment is case-sensitive.

于 2013-09-10T11:52:19.987 回答
16

这里有一件重要的事情需要注意,这让我浪费了一个小时的工作时间:

ffmpeg -i in.mp3 -i test.jpeg -map 0:0 -map 1:0 -codec copy -id3v2_version 3 \ 
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" out.mp3

fincomment="Cover (front)"必须小写。如果没有,则不会设置 ID3 标头中的图片类型!

另一个可能对某人有帮助的提示:为避免将 JPEG 封面图像转换为 png,您必须设置-codec copy.

于 2018-02-16T15:05:02.087 回答
3

问题是您没有定义要复制的编解码器。如果音频应该是-c:a copy封面被识别为视频(去图!!),所以-c:v copy

ffmpeg -i audio-in.mp3 -i picture.png -c:a copy -c:v copy -map 0:0 -map 1:0 -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" audio-out.mp3
于 2019-05-24T11:46:10.367 回答