pydub "Couldn't find ffmpeg or avconv - defaulting to ffmpeg" 问题解决

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

pydub "Couldn't find ffmpeg or avconv - defaulting to ffmpeg" 问题解决

listenwhy   2021-01-04 我要评论

 

我通过 命令行安装了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的。啊,原来环境变量是没有生效。

 

最后发现,修改了系统环境变量之后,新修改的内容,对于之后启动的程序生效,对于修改前就驻留内存的程序不生效。

 

所以配置好后,重启下软件就好了(不需要重启系统)。

 

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们