Python中等效于Lame MP3转换器的是什么?

8 投票
5 回答
7055 浏览
提问于 2025-04-16 18:13

我需要在服务器上把mp3音频文件转换成64kbps的格式。

现在,我是用subprocess来调用lame这个工具,但我在想有没有其他好的选择呢?

5 个回答

0

如果你想用LAME来编码你的MP3文件(而不是用PyMedia),你可以使用ctypes来封装LAME的编码器DLL(如果你在Linux上,就是.so文件)。你使用的具体封装代码会和LAME DLL的版本有关(而且这些版本有很多,真让人头疼),所以我不能给你具体的例子,不过ctypes的文档应该能清楚地说明如何封装DLL。

1

我一直在使用Python音频工具,这个工具可以把不同的音频格式互相转换。

我已经用它把.wav格式的文件转换成了mp3、.flac和.m4a格式。

2

这个话题在这里似乎有个稍微旧一点的讨论:http://www.dreamincode.net/forums/topic/72083-lame-mp3-encoder-for-python/

最后的结论是通过Python和C语言的结合,创建一个自定义的绑定来使用lame_enc.dll。

得出这个结论的原因是现有的绑定库(比如pymedia和py-lame)没有得到维护。

不幸的是,那位朋友没有成功让它工作起来 :)

也许你可以继续使用subprocess。你可以利用这个选择,把编码的过程抽象得更高一些,并且重用代码或策略,来选择性地执行其他命令行编码工具(比如ogg或shn工具)。

我见过好几个音频提取工具采用了这种策略。

撰写回答