如何用ffmpeg叠加两个音频?

How to overlay two audio with ffmpeg?

我正在尝试将两个音频与这些代码混合:

for %a in ("audio\*.mp3") do ffmpeg -y -i "%a" -i "background\back.mp3" -filter_complex "[0:0]volume=1[a];[1:0]volume=0.1[b];[a][b]amix=inputs=2:duration=first" "source\%~na.mp3"

我的 "back.mp3" 很短,我需要它重复播放直到第一个 mp3 文件结束。

我该怎么做?

使用 ffmpeg 4.1 或更新版本,您可以使用 stream_loop。

for %a in ("audio\*.mp3") do ffmpeg -y -i "%a" -stream_loop -1 -i "background\back.mp3" -filter_complex "[0:0]volume=1[a];[1:0]volume=0.1[b];[a][b]amix=inputs=2:duration=first" "source\%~na.mp3"