我需要用循环连接2个小音频文件,并在单个命令中添加背景音乐。

我能够将两个音频文件与背景音乐连接在一起。我上面给出的代码正在工作。

ffmpeg -i 1.mp3 -i 2.mp3 -i background.mp3
-filter_complex "[0:0][1:0]concat=n=2:v=0:a=1,volume=1dB,aformat=fltp, pan=stereo|c0=c0|c1=c0[a0];
[2]volume=0.5dB,aformat=fltp,pan=stereo|c0=c0|c1=c1[a1];[a0][a1]amix=inputs=2:duration=longest,aformat=fltp[a]"
-map "[a]" -strict -2 -y output.mp3

但我想使连接文件循环播放直至背景音乐结束。背景音乐比连接的文件长约5倍。

如果有人可以建议一个命令解决方案。

我知道amovie标记,但不幸的是,在这里无法使用它,因为据我所知,amovie要求使用串联文件无法实现的文件名。

谁能帮我实现我的目标!

谢谢

最佳答案

使用concat多路分配器。

创建一个文本文件

file 1.mp3
file 2.mp3

然后,
ffmpeg -f concat -stream_loop -1 -i list.txt -i background.mp3
-filter_complex "[0]volume=1dB,aformat=fltp,pan=stereo|c0=c0|c1=c0[a0];
                 [1]volume=0.5dB,aformat=fltp,pan=stereo|c0=c0|c1=c1[a1];
                 [a0][a1]amix=inputs=2:duration=shortest,aformat=fltp[a]"
-map "[a]" -strict -2 -y output.mp3

1.mp3和2.mp3应该具有相同的属性-采样率,通道布局..etc

关于ffmpeg - concat 2迷你音频文件并循环播放并添加背景音乐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64302127/

10-17 03:04