Pydub 无法定位 ffprobe

Rec*_*ive 6 python ffmpeg libav pydub

这是与此类似问题的链接:Pydub (WindowsError: [Error 2] The system can not find the file specified) 虽然在这个问题中是 ffmpeg,我通过设置绝对路径解决了这个问题。

使用以下任一方法设置转换器和/或 ffmpeg 的绝对路径后:

AudioSegment.converter = r'C:\ffmpeg\bin'

或者

AudioSegment.ffmpeg = r'C:\ffmpeg\bin'

我仍然收到此错误:

C:\Program Files\Python36\lib\site-packages\pydub\utils.py:193: RuntimeWarning: 找不到 ffprobe 或 avprobe - 默认为 ffprobe,但可能不起作用- 默认为 ffprobe,但可能不起作用”,RuntimeWarning)回溯(最近一次调用最后一次):文件“C:/Users/Sean/Desktop/vp/encode_audio/m4a_to_wav.py”,第 4 行,在歌曲 = AudioSegment.from_file 中("pines.m4a", "m4a") 文件 "C:\Program Files\Python36\lib\site-packages\pydub\audio_segment.py",第 660 行,在 from_file info = mediainfo_json(orig_file) 文件 "C:\ Program Files\Python36\lib\site-packages\pydub\utils.py”,第 263 行,在 mediainfo_json res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE) 文件“C:\Program Files\Python36 \lib\subprocess.py”,第 707 行,在初始化 restore_signals, start_new_session) File "C:\Program Files\Python36\lib\subprocess.py", line 990, in _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件`

我的路径 envvar 中有 ffmpeg。我的路径 envvar 中也有 libav,并按照https://github.com/jiaaro/pydub#dependencies 中指定的顺序安装了 libav,然后安装了 pydub 。

我正在做的任何事情似乎都没有奏效,所以任何想法或解决方案都将不胜感激!

Har*_*aru 5

我有同样的问题,但我在五分钟前解决了它。

这是解决方案:

  1. 将 ffmpeg 文件下载到您的计算机并安装它。

  2. 传递ffmpeg文件位置的系统路径。 在此处输入图片说明

(¥ 表示 \)

我把文件放入 C:\\ffmpeg\\ffmpeg\\bin\\ffmpeg.exe

(注意:这是在我更改文件名之后)

from pydub import AudioSegment
AudioSegment.converter = "C:\\ffmpeg\\ffmpeg\\bin\\ffmpeg.exe"
AudioSegment.ffmpeg = "C:\\ffmpeg\\ffmpeg\\bin\\ffmpeg.exe"
AudioSegment.ffprobe ="C:\\ffmpeg\\ffmpeg\\bin\\ffprobe.exe"
Run Code Online (Sandbox Code Playgroud)

将这些行放在 import 语句之后。

最后重启电脑

这个问题我很苦恼,但是现在问题解决了。


小智 5

添加@Gopesh Kwandelwal 的答案

sudo apt 安装 ffmpeg

另一种方法是安装 Anaconda 或 Miniconda,然后使用:
conda install ffmpeg

这在自定义环境中对我有用,甚至不需要重新启动内核,更不用说重新启动计算机了。(我无法对该线程发表评论,因为我没有足够的声誉)。