如何在一个命令中使用FFMPEG修剪静音并连接两个音频文件?

时间:2018-10-16 19:03:49

标签: audio filter ffmpeg concatenation

我想从audio1.wav的末尾到audio2.wav的开头修剪静音,并通过添加预定义的持续时间静音来将它们串联起来?


更新


以下ffmpeg命令在两个wav文件(来自answer)之间添加静音:

  

ffmpeg -y -i $ in_wav_0 -i $ in_wav_1 -filter_complex“ aevalsrc = exprs = 0:d = $ pause [silence],[0:a] [silence] [1:a] concat = n = 3: v = 0:a = 1 [outa]“ -map [outa] $ out_wav

此命令从末尾(从answer开始)消除静默:

  

ffmpeg -i input.wav -af silenceremove = 1:0:-50dB input.wav

如何将这两个与命令结合起来,以便无论原始音频文件的开头和结尾分别出现静音,串联都会在两者之间产生固定的持续时间静音间隔?而且最好是一个命令。

1 个答案:

答案 0 :(得分:1)

命令将 in_a_0.wav in_a_1.wav 作为输入,将 out.wav 作为输出。下面的命令分别从输入文件的末尾修剪静默,并在这两者之间增加1.5秒的静默。

ffmpeg -loglevel verbose -y -i in_a_0.wav -i in_a_1.wav -filter_complex "[0:a] silenceremove=stop_periods=1:stop_duration=1:stop_threshold=-50dB [first], [1:a] silenceremove=start_periods=1:start_duration=0:start_threshold=-50dB [second],aevalsrc=exprs=0:d=1.5[silence],[first] [silence] [second] concat=n=3:v=0:a=1[outa]" -map [outa] out.wav