我有一个音频文件,其中包含前导和尾随静音,具有以下细节:
编解码器:MPEG AAC音频(mp4a)频道:立体声采样率:44100 Hz比特率:253 kbps
我想删除沉默并保持质量不变。
到目前为止,我已经尝试了
sox 1.mp3 2.mp3 silence 1 0.5 1% reverse silence 1 0.5 1% reverse
这应该删除前导和尾随的沉默。 但出于某种原因,它并没有消除尾随的沉默。这似乎是一个反复出现的问题。在另一个论坛上找到以下内容。
http://ffmpeg-users.933282.n4.nabble.com/How-to-delete-digital-silence-tp4667256p4667356.html
此外,ffmpeg将比特率降低到128kbps。这可以通过添加 -ab 253k 并发出命令来解决:
a
现在的问题是没有删除尾随的静音,当我想处理一批文件时,我不能为每个文件使用相同的比特率(如253kbps)。我想知道如何在这种情况下使用VBR。
我知道我可以使用sox并使用静音和反向功能来修剪沉默。
http://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence"本文中的示例3"
但是sox有以下问题:
在sox中使用静音滤波器时,它会将比特率限制为128kbps。
#gallery li a{display:block}
#gallery li img{width:100%;}
答案 0 :(得分:0)
您的问题实际上由两个组成,一个是关于尾随静音,第二个是关于比特率。
这是对第二个问题的回答:
为了保持音频源的精确质量,您可以使用 -c:a pcm_s16le
和 .wav 容器(如果适用)。
第二个选项是使用质量标度 -q:a N
, N(不像 -q:v
是特定于编解码器的,您最好测试不同的值,对于 MP3,它是从 0 到 9,其中 0 是最高质量)
如果两者都不是未压缩的 WAV 和质量等级,但您仍然希望获得原始质量(因此,无需重新编码),答案将很棘手:
-ss TIMESTAMP
(输入的开始时间)和 -c:a copy
转换原始曲目