Python AudioSegment winError 2 The system cannot find the file specified(winError2 找不到系统文件)

在Python中使用pydub库时遇到winError 2错误,通常由于ffmpeg配置不当引起。正确解决方案包括:1. 从官方下载ffmpeg的exe文件而非源码;2. 解压并确认bin目录包含ffmpeg.exe、ffprobe.exe。若问题依旧,可能是PyCharm或pydub版本冲突,尝试将ffmpeg相关exe文件拷贝到项目路径下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个pydub 包的开发错误;中文环境里面的解决方案几乎都是胡说八道,我查看了pydub的代码后,给出如下解决方案,亲测有效。我的环境是 python3.6 pydub 0.23.1

这个问题首先是由于ffmpeg造成的

1. 下载而不是直接安装ffmpeg 

     下载地址是(http://ffmpeg.org/),这里需要注意的是下载ffmpeg的exe文件,而不是直接下载source code ,更不是使用pip install ffmpeg

2. 下载完成后,将exe文件解压到自定义位置,同时进入其bin子文件查看是否有ffmpeg.exe ffprobe.exe 以及ffplay.exe 在运行过程中需要使用前两者的路径

按照下面方式即可完成正常使用不会报错

测试代码如下:

from pydub import silence, AudioSegment
from pathlib import Path

import os, sys
import matplotlib.pyplot as plt

print (sys.version)

#AudioSegment.ffmpeg = os.getcwd()+"\\ffmpeg\\bin\\ffmpeg.exe"

AudioSegment.converter = r"D:\Program Files\ffmpeg-20200401-afa5e38-win64-static\bin\ffmpeg.exe"
AudioSegment.ffprobe   = r"D:\Program Files\ffmpeg-20200401-afa5e38-win64-static\bin\ffprobe.e
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值