我需要用循环连接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需要文件名,而串联文件则无法实现。
谁能帮我实现我的目标!
谢谢
答案 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应该具有相同的属性-采样率,频道布局等。