将专辑插图添加到 MP3 文件而不会降低音频质量

fbi*_*bid 5 audio mp3 bash ffmpeg

我想将一张图片作为专辑插图添加到 MP3 文件中,而不会降低音频质量。我在 Debian 上使用 FFmpeg,命令如下:

ffmpeg -i input.mp3 -i cover.jpg -c copy -c:a libmp3lame -map 0 -map 1 out.mp3
Run Code Online (Sandbox Code Playgroud)

我不知道这是否libmp3lame1是错误,但输出文件的比特率与原始文件的比特率不同。通过查看输入和输出文件之间的文件大小差异可以很容易地注意到这一点,因为输出文件比输入文件小几 MB。

正如@Yorik在回答中所建议的那样,我删除了libmp3lame编码参数。然而,这导致了另一个问题。如果输入和输出文件是一样的(即我想把封面图jpg添加到同一个文件中,而不生成新的),好像只处理了第一帧,结果是一个很小的文件(即 176kB) 没有任何音频。

这是我现在使用的 FFmpeg 命令:

ffmpeg -i test.mp3 -i cover.jpg -c copy -c:a libmp3lame -map 0 -map 1 test.mp3
Run Code Online (Sandbox Code Playgroud)

Yor*_*rik 9

您想copy用于所有(两个)流。通过为所有音频指定编解码器,您正在重新编码,这就是比特率改变的原因。复制操作也应该更快。

稍微偏离主题:我从未(直接)将 ffmpeg 用于元数据,但您可能会遗漏一些语法。参见例如:https : //stackoverflow.com/questions/18710992/how-to-add-album-art-with-ffmpeg