如何使用 ffmpeg 删除文件开头和结尾的静音?

如何使用 ffmpeg 删除文件开头和结尾的静音?

一些早期的帖子说,silenceremove 过滤器不支持从末尾修剪静音?现在还是这样吗?

我的音频是无损的,所以我不需要流复制或任何类似的东西。

另外,我该如何设置它才能将“静音”降低到 96dB 以下?

答案1

下面是一个可以完成这一任务的 Python 脚本:

  • 它从名为 input 的文件夹中读取所有 m4a 文件
  • 消除开头和结尾的沉默
  • 输出要输出的文件

来源:

import os
temp1 = "temp1.m4a"
temp2 = "temp2.m4a"
temp3 = "temp3.m4a"
all_files = [x for x in os.listdir("input/")]
for file in all_files:
  if file.endswith(".m4a"):
    print os.popen("ffmpeg -i long/" + file + " -af silenceremove=1:0:-96dB " + temp1).read()
    print os.popen("ffmpeg -i " + temp1 + " -af areverse " + temp2).read()
    print os.popen("ffmpeg -i " + temp2 + " -af silenceremove=1:0:-96dB " + temp3).read()
    print os.popen("ffmpeg -i " + temp3 + " -af areverse output/" + file).read()
    os.remove(temp1)
    os.remove(temp2)
    os.remove(temp3)

答案2

使用 4.1.3 版本仍然无法从末端修剪。

解决方法:

ffmpeg -i IN.WAV -af silenceremove=start_periods=1:start_silence=0.1:start_threshold=-96dB,areverse,silenceremove=start_periods=1:start_silence=0.1:start_threshold=-96dB,areverse OUT.WAV

相关内容