通过 1 某人通过 ffmpeg 我需要组合 2 个音频并向其中添加图片(专辑)

Through 1 someone through ffmpeg I need to combine 2 audio and add a picture (album) to it

通过ffmpeg通过whom 1 我需要合并2个音频并向其中添加一张图片(专辑)

<--------->            1-audio
     <-------------->  2-audio
<------------------->  output

https://superuser.com/questions/1509582/ffmpeg-merge-two-audio-file-with-defined-overlapping-time

我看了这个 link,它结合了 2 个音频。 现在我需要给它添加一张图片(相册)


这是使用我的命令

ffmpeg -i 1.mp3 -i 2.mp3 -filter_complex "[1]adelay=Ns|Ns[a1];[0:a][a1]amix=inputs=2[a]" -map "[a]" output.mp3

多亏了这个,我才能够将两个音频合二为一。

我是这样看的

ffmpeg -i 1.mp3 -i 2.mp3 -i 1.png -filter_complex "[1]adelay=5s|5s[a1];[0:a][a1]amix=inputs=2[a]" -map "[a]" -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
1.mp3 - first audio (1:35 s)
2.mp3 - second audio (0:16 s)
1.png - picture (album) (170x170)

我遇到了这个错误

Streamcopy requested for output stream 0:0, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.


我需要什么?

我需要结合此命令将图片(相册)添加到音频

当我说图片(专辑)时,我就是那个意思。 图片中清楚地显示了这一点。 https://i.imgur.com/z64KhoS.png

要解决错误,您需要删除 -c:a copy。正如错误消息告诉您的那样,您无法复制过滤器的输出 - 您需要重新编码音频。只需删除它即可启用转码,但如果您需要进行一些特定配置,您可能希望为 mp3 编码器提供选项。

然后您还需要删除 -map 0:0 -map 1:0,因为它们将被过滤器的输出替换。

最后,您需要添加-map 2:0来映射图像。这是因为图像现在是第三个输入而不是第二个。

所以最终的命令行将是这样的:

ffmpeg -i 1.mp3 -i 2.mp3 -i 1.png -filter_complex "[1]adelay=5s|5s[a1];[0:a][a1]amix=inputs=2[a]" -map "[a]" -c:v copy -map 2:0 -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" audio-out.mp3