gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:57:02 26 4
gpt4 key购买 nike

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

我想将文件导出为 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] 系统找不到指定的文件

完整错误报告:http://pastebin.com/3CpZBkEK

我相信我使用的是正确的语法。它创建 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 版本开始的“转换器”)

关于python - 使用 pydub 导出时出错 - 如何为 pydub 安装 mp3 编解码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20443850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com