使用ffmpeg在一个音频文件中使用多个fadeIn/fadeOut效果

far*_*arw 10 audio ffmpeg

我有一些问题要为一个音频文件添加几个淡入淡出效果.当我尝试使用这样的命令时:

ffmpeg -y -i /home/user/video/test/sound.mp3 -af "afade=t=in:ss=0:d=3,afade=t=out:st=7:d=3,afade=t=in:st=10:d=3,afade=t=out:st=17:d=3,afade=t=in:st=20:d=3,afade=t=out:st=27:d=3" /tmp/test.mp3
Run Code Online (Sandbox Code Playgroud)

然后我的输出音频文件只有一次应用了fadeinfadeout.所有下一个效果都不会被应用.有没有办法将多个淡入淡出效果应用于同一个音频文件?此外,此命令中ssst参数之间的区别是什么?

mat*_*ewd 8

问题是,在淡出音频后,你试图在沉默中消失.

解决方案是在您想要开始淡入时禁用淡出过滤器.

您可以使用时间轴编辑实现该功能,以便在特定时间内启用过滤器.

以下示例工作得很好:

ffmpeg -i input.mp3 -af "afade=enable='between(t,0,3)':t=in:ss=0:d=3,afade=enable='between(t,7,10)':t=out:st=7:d=3,afade=enable='between(t,10,13)':t=in:st=10:d=3,afade=enable='between(t,13,16)':t=out:st=13:d=3" -t 16 output.mp3
Run Code Online (Sandbox Code Playgroud)

  • 请注意,开始时间参数的名称为“ st”,而不是“ ss”,如2015年答案中所述 (2认同)

Art*_*era 7

使用ffmpeg 2.5.2为我工作.

我正在使用淡入和淡出音频滤波器,持续时间为3秒.

ffmpeg -i audio.mp3 -af 'afade=t=in:ss=0:d=3,afade=t=out:st=27:d=3' out.mp3
Run Code Online (Sandbox Code Playgroud)

我建议升级你的ffmpeg,因为这可能是一个bug.更多信息在文档中.


Yuk*_*uki 5

看看这里:ffmpeg音量过滤器

volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
Run Code Online (Sandbox Code Playgroud)

完整命令:

ffmpeg -i movie.wav -filter volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame modified-movie.wav
Run Code Online (Sandbox Code Playgroud)