You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg操作:如何在音频中间时段降音量及指定时段静音

嘿,这两个音频处理需求用FFmpeg完全能搞定,我给你详细说下具体的实现命令和细节:

一、将音频第80秒至第100秒设置为静音

最直接的方式是用FFmpeg的volume滤镜,通过enable参数指定生效的时间段。具体命令如下:

ffmpeg -i input.mp3 -filter_complex "[0:a]volume=0:enable='between(t,80,100)'[a]" -map "[a]" output.mp3

参数说明:

  • -i input.mp3:指定你的输入音频文件(替换成实际文件名和格式,比如.wav、.flac都可以)
  • volume=0:将音量设置为0,也就是静音
  • enable='between(t,80,100)':让这个静音效果只在第80秒到第100秒之间生效(时间单位是秒,支持小数,比如80.5就是80秒半)
  • -map "[a]":将处理后的音频流输出到目标文件
二、在音频任意时段降低音量

原理和静音类似,只是把volume的值改成小于1的小数(1代表原音量,0.5就是50%音量,以此类推),同样用enable指定时间段。

示例1:单时段降音量

比如要把第30秒到第50秒的音量降到原音量的30%:

ffmpeg -i input.mp3 -filter_complex "[0:a]volume=0.3:enable='between(t,30,50)'[a]" -map "[a]" output.mp3

示例2:多时段不同幅度降音量

如果需要在多个时间段设置不同的音量(比如30-50秒降30%,70-90秒降60%),可以串联多个volume滤镜:

ffmpeg -i input.mp3 -filter_complex "[0:a]volume=0.3:enable='between(t,30,50)'[a1];[a1]volume=0.4:enable='between(t,70,90)'[a]" -map "[a]" output.mp3

灵活的时间段写法

除了between(t,start,end),还可以用这些写法适配不同场景:

  • 从第X秒开始到音频结束:enable='gte(t,X)'(比如gte(t,60)就是60秒之后生效)
  • 从音频开头到第Y秒结束:enable='lte(t,Y)'(比如lte(t,45)就是前45秒生效)

小提示

如果你的FFmpeg版本比较旧,可能需要调整enable的语法,但主流的4.x及以上版本都支持上面的写法。测试的时候可以先拿一小段音频试手,避免浪费时间~

内容的提问来源于stack exchange,提问作者harishkumar329

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:02:13