youtube_dl下载YouTube mp3时报错未找到ffprobe/ffmpeg,多种方案尝试无效
问题原因
你通过pip安装的ffprobe、ffmpeg均为Python封装包,并非youtube-dl依赖的官方ffmpeg可执行二进制程序,因此无法被识别。手动添加系统PATH后未生效大概率是未重启终端/编辑器,导致环境变量未加载。
解决方案
方案1:系统环境配置(通用)
- 下载ffmpeg官方Windows构建包,解压后找到
bin目录,确认目录下存在ffmpeg.exe、ffprobe.exe两个可执行文件 - 将
bin目录的完整绝对路径添加到系统环境变量PATH中 - 添加完成后重启代码编辑器/命令行终端,打开cmd执行
ffmpeg -version,输出版本信息即为配置成功
方案2:Anaconda环境专属配置(无需修改系统PATH)
打开对应Anaconda环境的终端,执行以下命令即可自动安装适配的ffmpeg二进制程序:
conda install ffmpeg
方案3:代码内直接指定路径(兜底方案,无需修改环境配置)
直接在你的ydl_opts配置中添加ffmpeg_location参数,手动指定ffmpeg的bin目录路径即可,示例如下:
from __future__ import unicode_literals import youtube_dl songs = ['https://www.youtube.com/watch?v=8qLL2Gx3I_k','https://www.youtube.com/watch?v=WNeLUngb-Xg', 'https://www.youtube.com/watch?v=saxxJZCr2-k', 'https://www.youtube.com/watch?v=pICAha0nsb0', 'https://www.youtube.com/watch?v=RCmKDK1TYmE'] # 替换ffmpeg_location的值为你本地ffmpeg的bin目录实际路径 ydl_opts = { 'ffmpeg_location': 'C:/ffmpeg/bin/', 'postprocessors': [{'key': 'FFmpegExtractAudio','preferredcodec': 'mp3','preferredquality': 0}] } with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download(songs)
注意事项
- 路径中不要包含中文、特殊字符,Windows路径建议使用正斜杠
/,避免单反斜杠的转义问题 - 修改系统PATH后必须重启终端/编辑器才会生效
内容的提问来源于stack exchange,提问作者Morgenstern
相关产品推荐
相关产品推荐

