pydub "Couldn't find ffmpeg or avconv - defaulting to ffmpeg" 问题解决
listenwhy 人气:0
我通过 命令行安装了pydub库,运行报了如下错误
RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work
warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", RuntimeWarning)
明明先通过 pip3 install ffmpeg 命令安装了ffmpeg了为啥还会报这个错?
我搜索了下,网上说是要下载ffmpeg包,然后配置系统环境变量。
于是下载并配置了如下的包:
https://github.com/BtbN/FFmpeg-Builds/releases
结果报 “找不到程序输入点”,看的我一脸懵逼。
然后换了一个:
https://github.com/GyanD/codexffmpeg/releases/tag/2021-01-01-git-63505fc60a
测试命令 ffmpeg -version,配置成功了。
但 pydub 还是报错。
又继续搜索,发现有一个说要手动指定目录:
from pydub import AudioSegment AudioSegment.converter = r'my-install-dir\\ffmpeg_full_gyanbin\\ffmpeg.exe'
还是没啥用。
看了下源码,debug跟踪了下,其实就是将环境变量读取出来,然后逐个拼接上"ffmpeg.exe“ 然后判断是不是可执行的文件:
在读取的环境变量,envdir_list中,独没有刚增加的ffmpeg的。啊,原来环境变量是没有生效。
最后发现,修改了系统环境变量之后,新修改的内容,对于之后启动的程序生效,对于修改前就驻留内存的程序不生效。
所以配置好后,重启下软件就好了(不需要重启系统)。
加载全部内容