如何用ffmpeg添加专辑封面?

Adi*_*y k 25 ffmpeg albumart

大家好,我坚持在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
Run Code Online (Sandbox Code Playgroud)

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

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

Unrecognized option 'c'
Failed to set value 'copy' for option 'c'
Run Code Online (Sandbox Code Playgroud)

我正在寻找另一种解决方案,我来自: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
Run Code Online (Sandbox Code Playgroud)

也返回相同的输出,我已经研究为什么返回:

Unrecognized option 'c'
Failed to set value 'copy' for option 'c'
Run Code Online (Sandbox Code Playgroud)

但是没有身体有同样的问题.有人可以帮帮我吗?

nb:我使用ubuntu 12.04和ffmpeg版本0.8.6-4:0.8.6-0.谢谢

ale*_*son 31

随着最新版本,

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
Run Code Online (Sandbox Code Playgroud)

使用-map输入流输出关联
使用-c copy直接多路复用器/ REMUX
-id3v2_version 3是什么是在命令行中失踪.请注意,这将写一个IDV2.3,但你可以要求2.4(-id3v2_version 4)

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

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


Lor*_*yer 12

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

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
Run Code Online (Sandbox Code Playgroud)

fcomment="Cover (front)"必须是小写.如果没有,ID3标题中的图片类型将不会被设置!

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


Mah*_*zad 7

这就是我如何将不同的输入/源格式(在本例中为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
Run Code Online (Sandbox Code Playgroud)

笔记

如果 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(又名logo.png)中,选择第一个流 ( 0)
-c:1 copy 选修的 将第二个输入(图像)的编解码器设置为copy(无转换)
b:a 320k 选修的 将音频流的比特率设置为320k请参阅脚注1中可接受的值

感谢konsoleboxStack Overflow 上的回答

1:选项的有效比特率b:a
8k| 16k| 24k| 32k| 40k| 48k| 64k| 80k| 96k| 112k| 128k| 160k| 192k| 224k| 256k|320k