Python 使用pydub导出时出错-如何为pydub安装mp3编解码器?

Python 使用pydub导出时出错-如何为pydub安装mp3编解码器?,python,ffmpeg,export,mp3,pydub,Python,Ffmpeg,Export,Mp3,Pydub,我第一次使用这个库,所以我不确定这是一个错误还是我没有正确地做一些事情 我想将文件导出到mp3中,加载效果非常好: wav=AudioSegment.from_wav(Path) #If I execute only this line, there are no errors. 但当我尝试将文件导出到mp3时: wav.export(r"WavOut.mp3",format="mp3") 它抛出以下错误: WindowsError:[错误2]系统找不到指定的文件 完整错误报告: 我相信我

我第一次使用这个库,所以我不确定这是一个错误还是我没有正确地做一些事情

我想将文件导出到mp3中,加载效果非常好:

wav=AudioSegment.from_wav(Path)  #If I execute only this line, there are no errors.
但当我尝试将文件导出到mp3时:

wav.export(r"WavOut.mp3",format="mp3")
它抛出以下错误:

WindowsError:[错误2]系统找不到指定的文件

完整错误报告:

我相信我使用了正确的语法。 它创建mp3输出文件,但绝对为空,输入路径正确,因为:

os.startfile(Path) #Will work
另外,我在windows路径中注册了ffmpeg,注册为:

;c:\ffmpeg\bin   #It is currently callable from any cmd prompt in windows.
什么会失败?谢谢



经过更多的测试,我发现这是一个编码问题。如果我将输出设置为“wav”,它就会工作。但是我真的不知道我应该如何安装一个mp3编码器,让它与pydub一起工作,所以我把问题改成了这个问题,因为这才是真正的问题。ffmpeg已经安装,所以我不知道还能做什么:\

我想它找不到ffmpeg二进制文件。Python内置了wave支持,因此pydub不需要ffmpeg来打开/关闭/修改wave文件

在使用ffmpeg二进制文件之前,请尝试指定其位置,如下所示:

from pydub import AudioSegment
AudioSegment.converter = "c:\ffmpeg\bin\ffmpeg.exe"

wav = AudioSegment.from_wav(Path)  #If I execute only this line, there are no errors.
wav.export(r"WavOut.mp3",format="mp3")
编辑:我们已将属性名称从
AudioSegment.ffmpeg
更改为
AudioSegment.converter
,因为我们现在同时支持ffmpeg和avconv


在分配给此属性之前,请检查您的版本使用了哪些属性(它是从0.9.0版本开始的“转换器”)

Hey:感谢您提供了这个强大的库和您的支持。只是尝试了建议的更改位仍然不起作用。仔细检查了ffmpeg.exe的路径。再说一次,如果不是将“mp3”导出到wav,它将工作。可能与此有关,但太复杂了,我无法理解: