pydub "Couldn't find ffmpeg or avconv - defaulting to ffmpeg" 問題解決


 

我通過 命令行安裝了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的。啊,原來環境變量是沒有生效。

 

最后發現,修改了系統環境變量之后,新修改的內容,對於之后啟動的程序生效,對於修改前就駐留內存的程序不生效。

 

所以配置好后,重啟下軟件就好了(不需要重啟系統)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM