我弄清楚了如何使用复杂的过滤器连接多个音频文件,但在结果文件中偏移音频时遇到了困难。比如说,我想在每个连接文件之间添加 1 秒的静音间隙。可以使用 FFmpeg 来实现吗?
答案1
生成一个空音频流并将其与修剪部分一起插入。
假设你有三个音频文件,并且你希望它们之间的间隔分别为 1 秒和 3 秒,那么你可以使用
ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -f lavfi -i anullsrc -filter_complex \
"[3]atrim=duration=1[g1];[3]atrim=duration=3[g2];
[0][g1][1][g2][2]concat=n=5:v=0:a=1" out.mp3
如果你也需要修剪输入,
ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -f lavfi -i anullsrc -filter_complex \
"[0]atrim=duration=20[t0];[1]atrim=duration=120[t1];[2]atrim=duration=45[t2];
[3]atrim=duration=1[g1];[3]atrim=duration=3[g2];
[t0][g1][t1][g2][t2]concat=n=5:v=0:a=1" out.mp3