![如何使用 FFMpeg 仅从 mp3 文件的开头和结尾修剪静音?](https://linux22.com/image/1571579/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20FFMpeg%20%E4%BB%85%E4%BB%8E%20mp3%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%BC%80%E5%A4%B4%E5%92%8C%E7%BB%93%E5%B0%BE%E4%BF%AE%E5%89%AA%E9%9D%99%E9%9F%B3%EF%BC%9F.png)
经过调查寻找解决问题的方法,我最终一无所获。
我希望 Windows 10 中有一个上下文菜单选项,这样每当我右键单击 MP3 文件时,我都可以使用此选项来修剪 MP3 文件开头和结尾的静音部分。我不想从音频文件的中间部分删除静音部分。
谁能给我提供适当的 FFmpeg 命令行来删除 MP3 文件的开头和结尾的静音部分?
答案1
像这样:
ffmpeg -i input.mp3 -af "silenceremove=start_periods=1:start_duration=1:start_threshold=-60dB:detection=peak,aformat=dblp,areverse,silenceremove=start_periods=1:start_duration=1:start_threshold=-60dB:detection=peak,aformat=dblp,areverse" output.flac
您需要根据具体情况调整阈值( start_threshold
)和持续时间( )。start_duration
答案2
对我来说,使用 mp4 文件执行此项工作的最佳选择是此过滤器:
ffmpeg -i INPUT.mp4 -af "areverse,atrim=start=0.2,silenceremove=start_periods=1:start_silence=0.1:start_threshold=0.02,areverse,atrim=start=0.2,silenceremove=start_periods=1:start_silence=0.1:start_threshold=0.02"
-acodec aac OUTPUT.mp4,
了解过滤器的所有部件:
areverse
:反转整个音频。atrim=start=0.2
:剪掉前 0.2 秒,以避免音频结尾处可能出现的高频停止录制噪音(请记住音频是反转的)。silenceremove=start_periods=1:start_silence=0.1:start_threshold=0.02
:此部分剪掉了结尾的静默。areverse
:此部分将音频恢复为原始方式。atrim=start=0.2
剪掉前 0.2 秒以避免音频开头可能出现的高噪音silenceremove=start_periods=1:start_silence=0.1:start_threshold=0.02"
:这部分删除了开头的沉默
答案3
值得一提的是,虽然原始问题明确要求使用 FFmpeg,但有一个名为的工具mp3splt
可以修剪静音(-r
),而无需重新编码 MP3。这样可以保持 MP3 的原始质量。