使用ffmpeg在两个音频文件之间交叉淡入淡出?

时间:2017-11-22 14:23:48

标签: audio filter ffmpeg fading cross-fade

我有两个mp3文件,想要将它们连接到一个新文件。但是,我只想要每个文件的部分,我想在两者之间创建一个交叉淡入淡出。

所以例如我想要a.mp3的前3分钟,然后在5秒内从1:20分钟开始(b.mp3内)从b.mp3交叉淡入淡出。

这是我想要的时间线说明:

timeline

所以生成的文件的总长度是3:05分钟加上b.mp3的长度减去1:25分钟,这可以达到b.mp3加上1:40分钟的长度。

我对ffmpeg的源选择,映射和过滤器语法缺乏经验,无法获得我想要的结果。例如,我可以将淡入或淡出应用于一个mp3文件,但我不知道如何使这两个重叠,从而导致两个音频源之间的交叉淡入淡出。

为了清楚起见:我正在寻找命令行来执行此操作,即使用ffmpeg的独立版本,我没有在应用程序中使用ffmpeg作为库或任何东西。

1 个答案:

答案 0 :(得分:4)

使用

ffmpeg -i a.mp3 -i b.mp3
 -filter_complex
      "[0]atrim=0:185.0[a]; [1]atrim=80.0[b];
       [a][b]acrossfade=d=5.0"
 out.mp3

所有时间都在几秒钟内。