Conda环境已装FFmpeg仍报[Errno 2]找不到ffprobe错误求助
解决[Errno 2] No such file or directory: 'ffprobe'错误
问题根源
你使用的pydub库依赖ffprobe工具解析音频文件,虽然Conda环境中已安装FFmpeg,但pydub无法自动定位到ffprobe的路径,导致报错。
解决方案
1. 定位Conda环境中ffprobe的路径
激活你的Conda环境后,执行对应命令获取路径:
- Linux/macOS:
which ffprobe - Windows(命令提示符):
where ffprobe
返回示例:
- Linux:
/home/xxx/miniconda3/envs/your_env/bin/ffprobe - Windows:
C:\Users\xxx\miniconda3\envs\your_env\Library\bin\ffprobe.exe
2. 在代码中指定ffprobe和ffmpeg路径
在调用AudioSegment前,添加路径配置代码:
from pydub import AudioSegment # 替换为你实际获取到的路径 AudioSegment.converter = "/path/to/conda/env/bin/ffmpeg" AudioSegment.ffprobe = "/path/to/conda/env/bin/ffprobe"
Windows示例:
AudioSegment.converter = r"C:\Users\xxx\miniconda3\envs\your_env\Library\bin\ffmpeg.exe" AudioSegment.ffprobe = r"C:\Users\xxx\miniconda3\envs\your_env\Library\bin\ffprobe.exe"
3. 补充:修复音频下载逻辑
你的代码当前存在逻辑错误:response.content是API返回的JSON数据,并非音频文件。需要从API响应的JSON中提取音频URL,单独下载音频:
import io from pydub import AudioSegment # 从API返回的data中提取音频URL(替换为实际字段名) audio_url = data['audio_url'] audio_response = requests.get(audio_url) # 加载音频文件 song = AudioSegment.from_file(io.BytesIO(audio_response.content), format='mp3')
内容的提问来源于stack exchange,提问作者Riccardo
相关产品推荐
相关产品推荐

