我想将音频文件连接起来,并在它们之间设置特定的静音。然后,我需要修剪输入音频,以使中间的空间准确。
我试过
ffmpeg \
-i 1.mp3 -af silenceremove=1:0:-50dB \
-f lavfi -t 0.5 -i anullsrc \
-i 2.mp3 -af silenceremove=1:0:-50dB \
-f lavfi -t 0.5 -i anullsrc -i 3.mp3 \
-af silenceremove=1:0:-50dB \
-filter_complex 'concat=n=5:v=0:a=1' out.mp3
但收到错误:
选项 af(设置音频过滤器)不能应用于输入 url anullsrc - 您正在尝试将输入选项应用于输出文件,反之亦然。
将此选项移至其所属的文件之前。
分析输入文件 anullsrc 的选项时出错。
打开输入文件时出错:参数无效
它似乎-af
适用于下一个-f
选项。
答案1
过滤器不是源操作,而是对选择输出的流执行的。
在这种情况下,由于您有多个需要合并的文件,请在图表内执行所有过滤。
ffmpeg \
-f lavfi -t 0.5 -i anullsrc \
-i 1.mp3 \
-i 2.mp3 \
-i 3.mp3 \
-filter_complex '[1]silenceremove=1:0:-50dB[a1];\
[2]silenceremove=1:0:-50dB[a2];\
[3]silenceremove=1:0:-50dB[a3];\
[a1][0][a2][0][a3]concat=n=5:v=0:a=1' out.mp3