concat 2迷你音频文件并循环播放并添加背景音乐

时间:2019-08-16 15:40:12

标签: ffmpeg

我需要用循环连接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需要文件名,而串联文件则无法实现。

谁能帮我实现我的目标!

谢谢

1 个答案:

答案 0 :(得分:0)

使用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应该具有相同的属性-采样率,频道布局等。