如何解决如何使用ffmpeg过滤器音量将10秒后的音频静音2秒?
我正在使用此命令将音频静音:
ffmpeg -i input.mp4 -af "volume=enable ='between(t,10,15)':volume=0,volume=enable ='between(t,20,25)':volume=0,30,35)':volume=0,40,45)':volume=0,50,55)':volume=0" -c:v copy -c:a aac -b:a 192K output.mp4
如何重复或循环使用此过滤器而无需一次又一次地写它?
例如,此命令在特定秒后缩放视频:
ffmpeg -i input.mp4 -vf "zoompan=z='if(lte(mod(time,6),3),zoom+1.5,zoom-3)':x='iw/2-(iw/zoom)/2':y='ih/2-(ih/zoom)/2':d=1:fps=24" -c:v libx264 -crf 20 -preset:v ultrafast -profile:v high -g 60 -threads 2 -c:a aac -b:a 192K output.mp4
如何在特定的几秒钟后使用这种音量过滤器使音频静音?
解决方法
提示:您可以通过添加一个使能表达式来定位多个时间范围或条件,例如
ffmpeg -i input.mp4 -af "volume=volume=0:enable ='between(t,10,15)+between(t,20,25)+between(t,30,35)+between(t,40,45)+between(t,50,55)'" -c:v copy -c:a aac -b:a 192K output.mp4
如果模式是规则的,例如“每10秒钟,持续2秒钟”,则通常使用mod函数,该函数将返回左侧操作数的剩余部分,再加上右侧操作数。然后附上一个类似lte
(小于或等于)的比较函数
在这种情况下,
ffmpeg -i input.mp4 -af "volume=volume=0:enable ='lte(mod(t\,10)\,2)'" -c:v copy -c:a aac -b:a 192K output.mp4
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。