Pydub unable to locate ffprobe
Question:
Here is the link to a similar question to this: Pydub (WindowsError: [Error 2] The system can not find the file specified)
Although in this one the problem is with ffmpeg, which I solved by setting the absolute path.
After setting the absolute path for converter and/or ffmpeg with either:
AudioSegment.converter = r'C:ffmpegbin'
or
AudioSegment.ffmpeg = r'C:ffmpegbin'
I still get this error:
C:Program FilesPython36libsite-packagespydubutils.py:193: 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)
Traceback (most recent call last):
File "C:/Users/Sean/Desktop/vp/encode_audio/m4a_to_wav.py", line 4, in
song = AudioSegment.from_file("pines.m4a", "m4a")
File "C:Program FilesPython36libsite-packagespydubaudio_segment.py", line 660, in from_file
info = mediainfo_json(orig_file)
File "C:Program FilesPython36libsite-packagespydubutils.py", line 263, in mediainfo_json
res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
File "C:Program FilesPython36libsubprocess.py", line 707, in init
restore_signals, start_new_session)
File "C:Program FilesPython36libsubprocess.py", line 990, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified`
I have ffmpeg in my path envvar. I also have libav in my path envvar, and installed libav and then pydub in the order specified at https://github.com/jiaaro/pydub#dependencies.
Nothing I’m doing appears to be working, so any ideas or solutions would be greatly appreciated!
Answers:
I had the same problem, but I solved it five minutes ago.
Here is the solution:
-
Download ffmpeg file into your computer and install it.
-
(¥ means )
I put the file into C:\ffmpeg\ffmpeg\bin\ffmpeg.exe
(Attention: This is after I changed the filename)
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"
Put these lines after the import sentence.
At last, reboot your computer
I have suffered from this problem very much, but the problem is solved now.
I followed the step mentioned by @user9402680 but still causing issue. Then I add ffmpeg bin file path location to PATH environment variable. Its working fine now
For Linux/Ubuntu/Debian users:
sudo apt install ffmpeg
To add on to @Gopesh Kwandelwal’s answer
sudo apt install ffmpeg
an alternative is to have Anaconda or Miniconda installed, then use:
conda install ffmpeg
This worked for me when inside a custom environment, and didn’t even require restarting the kernel, let alone restarting the computer. (I couldn’t comment on that thread b/c I don’t have enough reputation).
Mac OS
Mac (using homebrew):
ffmpeg
brew install ffmpeg
Reference
Here is the link to a similar question to this: Pydub (WindowsError: [Error 2] The system can not find the file specified)
Although in this one the problem is with ffmpeg, which I solved by setting the absolute path.
After setting the absolute path for converter and/or ffmpeg with either:
AudioSegment.converter = r'C:ffmpegbin'
or
AudioSegment.ffmpeg = r'C:ffmpegbin'
I still get this error:
C:Program FilesPython36libsite-packagespydubutils.py:193: 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)
Traceback (most recent call last):
File "C:/Users/Sean/Desktop/vp/encode_audio/m4a_to_wav.py", line 4, in
song = AudioSegment.from_file("pines.m4a", "m4a")
File "C:Program FilesPython36libsite-packagespydubaudio_segment.py", line 660, in from_file
info = mediainfo_json(orig_file)
File "C:Program FilesPython36libsite-packagespydubutils.py", line 263, in mediainfo_json
res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
File "C:Program FilesPython36libsubprocess.py", line 707, in init
restore_signals, start_new_session)
File "C:Program FilesPython36libsubprocess.py", line 990, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified`
I have ffmpeg in my path envvar. I also have libav in my path envvar, and installed libav and then pydub in the order specified at https://github.com/jiaaro/pydub#dependencies.
Nothing I’m doing appears to be working, so any ideas or solutions would be greatly appreciated!
I had the same problem, but I solved it five minutes ago.
Here is the solution:
-
Download ffmpeg file into your computer and install it.
(¥ means )
I put the file into C:\ffmpeg\ffmpeg\bin\ffmpeg.exe
(Attention: This is after I changed the filename)
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"
Put these lines after the import sentence.
At last, reboot your computer
I have suffered from this problem very much, but the problem is solved now.
I followed the step mentioned by @user9402680 but still causing issue. Then I add ffmpeg bin file path location to PATH environment variable. Its working fine now
For Linux/Ubuntu/Debian users:
sudo apt install ffmpeg
To add on to @Gopesh Kwandelwal’s answer
sudo apt install ffmpeg
an alternative is to have Anaconda or Miniconda installed, then use:
conda install ffmpeg
This worked for me when inside a custom environment, and didn’t even require restarting the kernel, let alone restarting the computer. (I couldn’t comment on that thread b/c I don’t have enough reputation).
Mac OS
Mac (using homebrew):
ffmpeg
brew install ffmpeg