如何使用 ffmpeg 添加专辑封面



我一直在向 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

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

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

我寻找另一种解决方案并得到了这个:

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。

谢谢。

使用最新版本,

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

使用 -map 将输入流关联到输出
使用-c copy直接解复用/复用
-id3v2_version 3是命令行中缺少的内容。请注意,这将编写IDV2.3,但您可以要求2.4(-id3v2_version 4

使用-id3v2_version 3选项,-metadata选项将被很好地解释

注意:元数据注释区分大小写。

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

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

comment="Cover (front)"中的f必须为小写。否则,将不会设置 ID3 标题中的图片类型!

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

这就是我将不同的输入/源格式(在本例中为 video.ts)转换为 MP3 的方式,并且还一次性将封面艺术添加到结果 MP3 中(一个命令):

ffmpeg -ss 5 -to 13 -i video.ts -i logo.png -map 0:a -map 1:0 -c:1 copy -b:a 320k -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" result.mp3

注意

如果 ffmpeg 失败并出现错误,请尝试从命令中省略-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)"

命令中使用的选项说明:

选择必填?描述
-ss 5 自选指定输入的开始时间(以秒为单位)
-to 13 自选指定输入的结束时间(以秒为单位)
-i video.ts -第一个输入(要转换的文件)
-i logo.png -第二个输入(专辑/封面)
-map 0:a -从输入0(又名 video.ts)中选择音频 ( a
-map 1:0 -从输入1(又名徽标.png)中选择第一个流(0
-c:1 copy 自选将第二个输入(图像)的编解码器设置为 copy(无转换)
b:a 320k 自选将音频流的比特率设置为 320k ;请参阅脚注 1 中的接受值

问题是您没有定义要复制的编解码器。如果音频应该-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

无法评论,但 Mahozad 的回答为我提供了诀窍,只是添加了 -map 0:a(而不仅仅是"0"或"0:0")和 -map 1:0,没有其他任何东西:

ffmpeg -i url.m3u8 -i url.jpg -map 0:a -map 1:0 file:output.mp3

相关内容

  • 没有找到相关文章

最新更新