Pydub (windowserror: [error 2] The System Can Not Find The File Specified)
Solution 1:
Make sure that you have ffmpeg
http://www.ffmpeg.org/ installed. You can get help from this official page.
Other thing that I can think of is that ffmpeg
is installed and is in your path but not in the path of the process using pydub
.
If this is the reason for the error, then you can set the absolute path to ffmpeg
directly like shown below:
import pydub
pydub.AudioSegment.ffmpeg = "/absolute/path/to/ffmpeg"
sound = AudioSegment.from_mp3("test.mp3")
Give this a try.
Solution 2:
In newer versions of pydub, you can specify the absolute path to your ffmpeg executable by setting the class attribute converter
, e.g.:
from pydub importAudioSegmentAudioSegment.converter = "/usr/local/bin/ffmpeg"
In older versions the class attribute used to be ffmpeg
, which is deprecated now.
Solution 3:
In jupyter notebook this error could persist since the error is with anaconda environment. You can solve this by installing ffmpeg
from conda-forge
Got to anaconda prompt and type:
conda install -c conda-forge ffmpeg
Solution 4:
The other way is put ffmpeg.exe,ffplay.exe in the current working directory
Solution 5:
Solution for MacOs and compiled Python
Maybe this solution is a bit hacky and not the best way, but it actually works for me on MacOs where I had the same problem. It solves the problem if the python script cannot access the system $PATH variable. I had to do it this way because I run my python code as a compiled binary from a java program which means for some reasons that the system $PATH variable set on my MacOs system cannot be accessed by the compiled python code.
Add this to your python code:
import osos.environ["PATH"] += os.pathsep + '/usr/local/bin'
'/usr/local/bin'
is the default for MacOs - please change it if you installed ffmpeg in a different location.
I got the idea from an answer to that question: how do I modify the system path variable in python script?
Post a Comment for "Pydub (windowserror: [error 2] The System Can Not Find The File Specified)"