You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python音频格式转换失败求助:使用pydub遇WindowsError错误

解决pydub AudioSegment转MP3时的WindowsError: [Error 2]问题

嘿,我之前做音频转换的时候也踩过这个坑!这个报错本质上是程序找不到需要的文件——要么是你要处理的源文件,要么是pydub依赖的ffmpeg工具。给你几个排查和解决的方向:

  • 先确认源文件路径绝对正确
    很多时候是相对路径搞的鬼,比如你以为程序和源文件在同一目录,但实际工作目录不一样。建议直接用绝对路径,而且Windows路径里的反斜杠要转义,或者用原始字符串避免麻烦:

    from pydub import AudioSegment
    # 用原始字符串避免转义问题
    original_name = r"C:\Users\YourName\Desktop\input_video.mp4"
    new_name = r"C:\Users\YourName\Desktop\output_audio.mp3"
    
    original_audio = AudioSegment.from_file(original_name)
    original_audio.export(new_name, format="mp3")
    

    另外检查文件名有没有空格、中文或者特殊字符,有的话尽量改成纯英文+数字的命名,避免路径解析错误。

  • 必须安装并配置ffmpeg
    pydub本身不做编码解码,全靠ffmpeg帮忙。如果你没装ffmpeg,或者没把它加到系统环境变量里,pydub就会找不到工具,报这个错。

    1. 下载对应Windows版本的ffmpeg压缩包,解压到某个固定路径(比如C:\ffmpeg)
    2. 把C:\ffmpeg\bin这个路径添加到系统的PATH环境变量里
    3. 重启你的Python编辑器/终端,让环境变量生效
      要是不想改环境变量,也可以在代码里直接指定ffmpeg的位置:
    from pydub import AudioSegment
    # 手动指定ffmpeg的执行文件路径
    AudioSegment.converter = r"C:\ffmpeg\bin\ffmpeg.exe"
    
    original_name = r"C:\path\to\your\source_file"
    new_name = r"C:\path\to\output.mp3"
    original_audio = AudioSegment.from_file(original_name)
    original_audio.export(new_name, format="mp3")
    
  • 检查源文件是否存在/被占用
    可以先加一行代码验证文件是否真的在指定路径:

    import os
    if not os.path.exists(original_name):
        print(f"源文件不存在:{original_name}")
    

    另外如果源文件被其他程序(比如视频播放器)打开着,也会导致pydub无法读取,记得关闭相关程序再试。

内容的提问来源于stack exchange,提问作者itay12v

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:02:50