为什么使用“ffmpeg -i input.mp4 -i music.mp3 output.mp4”向视频添加背景音乐不起作用?

Why is adding background music to video using `ffmpeg -i input.mp4 -i music.mp3 output.mp4` not working?

我研究了 google 和 Whosebug 以了解如何将背景音乐添加到视频中,其中许多人建议使用

ffmpeg -i input.mp4 -i audio.mp3 -shortest output.mp4

我一直在努力实现这一点,但就是行不通。当我尝试添加地图时

ffmpeg -i "input.mp4" -i bg.mp3 -map 0:v:0 -map 1:a:0 oo.mp4

视频声音替换为bg.mp3

如果我尝试 -map 0 -map 1:a:0 或不提供地图,则根本不会添加音频。

如何添加背景音乐?我也没有收到任何错误。

-map 是 select 或; select 来自输入“文件”的一种流。要合并两个音频流,您需要一个音频过滤器:

ffmpeg -i input.mp4 -i audio.mp3 -lavfi "[0:a][1:a]amerge[out]" -map 0:v -map [out]:a -shortest output.mp4
  • -lavfi:与-filter_complex相同,因为你有两个输入
  • [0:a][1:a] 从第一个和第二个输入获取音频流
  • -map 0:v select 来自第一个输入的未经处理的视频流
  • -map [out]:a select 来自 filtergraph 的音频流(已处理)

默认设置 amerge 过滤器中的最短选项。

如果您遇到问题,您可能还需要检查 amix 过滤器、文件的音频编解码器和音量过滤器以调整 filtergraph 中输入的音量。

其他参考资料: