如何在Linux中减小MP3文件的大小?

20

有人知道有没有Linux下的软件能够在尽可能减小MP3文件大小的同时对音质影响最小吗?

我刚用pngcrush对我们资产库中的所有png图像进行了处理,效果很好,我希望能够对我们的MP3文件做同样的处理。即使能够将文件大小减小10%,这对我来说也是一个不错的胜利。

有什么建议吗?需要能够从Shell脚本中调用的东西。

谢谢,Max

3个回答

41

你可以使用lame命令和--mp3input选项。

例如,您可以使用-b选项对mp3文件进行降采样(downsampling)并指定新的较低的比特率(bitrate)。例如,如果您的起始mp3质量为256kbs,则可以将其比特率降低到128kbs

lame --mp3input -b 128 input.mp3 output.mp3
根据输入文件的比特率,output.mp3 文件的质量会变低,从而减小文件大小。
来自 lame 手册页面: --mp3input 假设输入文件是 MP3 文件。 对于从一个 MP3 编码为另一个 MP3 降采样很有用。例如,可以用来通过 IceCast 服务器进行流媒体传输。

8
值得注意的是,你可能需要明确地重新采样,例如 --resample 22.05,这通常适用于语音。例如:mkdir out; for f in*.mp3; do lame --mp3input -b 64 --resample 22.50 "$f" "out/$f" ; done - ideasman42
寻找另一种解决方案。lame存在问题,对于其他使用mplayer完美播放的随机文件会失败。 - Tom Russell

3
这取决于您想要实现什么目标。avconv(之前的ffmpeg)是一个很好的工具,但是关于参数的选择没有一种通用的解决方案,因为这在很大程度上取决于音频数据的类型(音乐、语音等)和原始比特率等。尝试使用不同的设置,可能将其转换为单声道,看看哪种设置可以为您产生仍然可接受的结果。
作为一个经验法则:语音可以压缩得非常好,将其降采样到11kHz仍然可以给出可接受的结果,但是音乐也可以通过减少比特率或切换到单声道来缩小。

1
关于语音的好建议,谢谢! - Max Williams

-2

尝试使用Audacity。这是一个免费的音频编辑程序。


1
它需要可编写脚本。我有Audacity,但我不认为你可以纯粹将其用作命令行工具,对吗? - Max Williams
尝试使用avconv(ffmpeg)进行脚本编写。 - Janos Pasztor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接