用于将文件转换为MP3并设置质量的Python库

23 投票
6 回答
68056 浏览
提问于 2025-04-15 13:27

我正在寻找一个Python库,它可以把音频文件(比如.ogg或.wav格式)转换成mp3格式,以便在网页上播放。

另外,如果有关于如何设置播放质量的建议,那就太好了。

谢谢!

6 个回答

4

我在用Python来操作gstreamer。刚开始用的时候有点难,但一旦上手了,几乎什么都能做。

从命令行来看(可以参考gstreamer的文档):

gst-launch -v filesrc location=music.wav ! decodebin ! audioconvert ! audioresample ! lame bitrate=192 ! id3v2mux ! filesink location=music.mp3

输入的filesrc location=...可以是gstreamer能播放的任何文件,不仅仅是.wav格式。你还可以添加一个叫做caps过滤器的东西,在编码之前将音频重新采样到特定的采样率。

在你的Python程序中,你会用到gst.parse_launch(...),获取filesrc和filesink这两个部分,然后调用一些设置函数来更改输入和输出的文件名。

75

我写了一个,专门用来做这个事情 =D

from pydub import AudioSegment
AudioSegment.from_file("/input/file").export("/output/file", format="mp3")

很简单!

要指定比特率,只需使用 bitrate 这个参数就可以了……

from pydub import AudioSegment
sound = AudioSegment.from_file("/input/file")
sound.export("/output/file", format="mp3", bitrate="128k")
3

看起来PyMedia可以做到这一点:

http://pymedia.org/

这里还有一些关于如何转换成不同格式的信息,同时设置比特率:

http://pymedia.org/tut/recode_audio.html

例如:

params= {
'id': acodec.getCodecId('mp3'),
'bitrate': r.bitrate,
'sample_rate': r.sample_rate,
'ext': 'mp3',
'channels': r.channels }
enc= acodec.Encoder( params )

撰写回答