如何让pydub找到ffmpeg?Python导入运行报错求助
解决pydub无法定位ffmpeg及文件路径错误的方案
一、解决ffmpeg无法定位的问题
你安装的ffmpeg-python只是Python绑定库,必须下载ffmpeg的二进制可执行文件才能让pydub正常工作,按以下步骤操作:
- 下载对应Windows版本的ffmpeg压缩包,解压到固定目录(比如
C:\ffmpeg) - 无需修改系统PATH,直接在代码中指定ffmpeg路径:在导入pydub后添加一行代码:
pydub.AudioSegment.converter = r"C:\ffmpeg\bin\ffmpeg.exe" - 验证:打开命令提示符,输入
ffmpeg -version,能输出版本信息说明路径配置正确
二、解决文件路径无效的错误
报错中的OSError: [Errno 22] Invalid argument是路径格式或实际路径有误导致的:
- 把代码中的占位符
*redacted*替换成你的真实用户名 - 使用Windows兼容的路径格式:
要么用原始字符串(前面加r):
要么用双反斜杠:trumpet = AudioSegment.from_mp3(r"C:\Users\你的真实用户名\Downloads\trumpet-e4-14829.mp3")trumpet = AudioSegment.from_mp3("C:\\Users\\你的真实用户名\\Downloads\\trumpet-e4-14829.mp3") - 确认文件确实存在于该路径,检查文件名(包括后缀)是否拼写正确
修正后的完整代码示例
import pydub from pydub import AudioSegment # 指定ffmpeg路径 pydub.AudioSegment.converter = r"C:\ffmpeg\bin\ffmpeg.exe" # 使用正确的文件路径 trumpet = AudioSegment.from_mp3(r"C:\Users\你的真实用户名\Downloads\trumpet-e4-14829.mp3") pydub.playback.play(trumpet)
内容的提问来源于stack exchange,提问作者Isaac Howse
相关产品推荐
相关产品推荐

