filter - 如何使用 ffmpeg 过滤器音量在 10 秒后静音 2 秒?

标签 filter ffmpeg volume

我正在使用这个命令来静音音频:

ffmpeg -i input.mp4 -af "volume=enable ='between(t,10,15)':volume=0, volume=enable ='between(t,20,25)':volume=0, volume=enable ='between(t,30,35)':volume=0, volume=enable ='between(t,40,45)':volume=0, volume=enable ='between(t,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

关于filter - 如何使用 ffmpeg 过滤器音量在 10 秒后静音 2 秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63485394/

相关文章:

javascript - 了解测试中的过滤器注入(inject)

iphone - LocalPushNotification声音和iPhone的音量按钮

django - 在 Django admin 中按自定义日期范围过滤

css - 如果我只有原始和生成的 jpeg,是否可以确定已应用于图像的确切 css 图像过滤器?

search - 使用什么样的过滤器来匹配像 OCallaghan 和 O'Callaghan 这样的东西?

ffmpeg - 使用 ffmpeg 将文本和图像添加到视频中

c++ - 如何从H264中的ffmpeg读取sei未注册的用户数据?

audio - ffmpeg 转换并将静音音轨添加到 mpeg

audio - p5 找不到变量 masterVolume

java - 如何使用 Win32 API 直接从驱动器读取/写入驱动器