用于将文件转换为MP3并设置质量的Python库
我正在寻找一个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/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 )