如何使用FFMpeg将背景音乐添加到另一个音频文件中?

时间:2019-11-08 17:59:54

标签: audio ffmpeg

我有两个文件:story.wav(180秒)和background-music.wav(90秒)。我需要一个FFMpeg命令,该命令将两个文件合并,并在story.wav结束前30秒在background-music.wav(带有esin)中淡入。

我在单独的命令中有此命令:

ffmpeg -i background-music.wav -filter_complex afade=t=in:curve=esin:ss=0:d=30 fadein.wav
ffmpeg -i fadein.wav -af "adelay=150000|150000" delayed.wav
ffmpeg -i delayed.wav -i story.wav -filter_complex amix=inputs=2:duration=longest final.wav

这很丑-而且存在一个问题,即第一部分的体积仅为50%(应保留该体积)。

必须有一种优雅的方法可以在一个命令中实现这一目标-但是如何做到呢?

奖金问题:如何在同一命令中将结果转换为mp3(设置了比特率等参数)?

感谢您的帮助! 塞巴斯蒂安

1 个答案:

答案 0 :(得分:1)

使用

ffmpeg -i background-music.wav -i story.wav
-filter_complex
   "[0]afade=t=in:curve=esin:ss=0:d=30,adelay=150000|150000[bg];
    [1]volume=2[fg];
    [bg][fg]amix=inputs=2:duration=longest"
-b:a 128k final.mp3