Python中将.wav音频转换为.ogg格式时出现报错如何解决?
问题根因
你遇到的报错本质是pydub调用ffmpeg进行ogg格式编码时,缺失对应的编码支持组件:由于你转换mp3格式正常,说明ffmpeg的基础路径配置是生效的,但你当前使用的ffmpeg为精简版本,没有携带ogg格式所需的libvorbis编码器,导致编码命令执行失败抛出文件找不到错误。
排查解决步骤
- 第一步:验证当前ffmpeg是否支持ogg编码
打开Windows命令提示符(CMD),执行命令:
若输出中没有前缀带ffmpeg -codecs | findstr vorbisE(代表支持编码)的libvorbis相关条目,即可确认是编码器缺失问题。 - 第二步:替换全功能版ffmpeg
下载包含全编码支持的ffmpeg Windows版本,解压后将bin目录下的ffmpeg.exe、ffprobe.exe、ffplay.exe三个文件放到你的Python脚本同级目录,或者将ffmpeg的bin目录完整添加到系统环境变量PATH中,添加完成后重启你的代码编辑器/命令行窗口确保环境变量生效。 - 第三步:显式指定编码器调用
修改导出ogg的代码行,显式指定编码库避免pydub默认匹配错误:sound.export(dst, format="ogg", codec="libvorbis") - 可选:升级pydub到最新版本,避免旧版本的参数匹配bug:
pip install --upgrade pydub
验证方法
修改后重新运行代码,正常情况下会在脚本目录生成output.ogg文件,播放确认音频内容正常即可。
内容的提问来源于stack exchange,提问作者L.K.ROBOTS
相关产品推荐
相关产品推荐

