How to set ffmpeg for matplotlib in mac os x
Solution 1
I had the same problem. My solution was very simple.
Download the binary from here.
Then do
sudo mv ~/Downloads/ffmpeg /usr/bin/
Solution 2
I had success when installing with homebrew:
brew install ffmpeg
After that set up the FFMpegWriter yourself by:
mywriter = animation.FFMpegWriter()
anim.save('mymovie.mp4',writer=mywriter)
Solution 3
I think the solution can be found in the workaround in this and this post.
It seems that the path of the shell is not loaded by matplotlib, and since macports are installed in /opt/local/bin
, ffmpeg
can't be found.
Either go for the hack described above, try making a symlink in /bin
for ffmpeg
, or try adding the path to ffmpeg
to the python path as suggested in the comments of the second link
Related videos on Youtube
AlexNoir
Updated on June 04, 2022Comments
-
AlexNoir almost 2 years
I want to animate some plots with matplotlib. The version I have is the Enthough Canopy distribution (Version: 1.1.0.1371), running in a mac os x 10.8 (Mountain Lion). I have used the FuncAnimation routine from the animation package of matplotlib. My problem comes saving the animation. I want to save in mp4 format:
anim.save('test.mp4',fps=30)
The error I get is:
UserWarning: MovieWriter ffmpeg unavailable warnings.warn("MovieWriter %s unavailable" % writer)
So I installed ffmpeg via Macports. But I am still having the same error. Do you know how to setup matplotlib in order to recognise ffmpeg? Do I have to change the matplotlibrc file? Thanks.
EDIT: I have realized that I can manually put '/opt/local/bin' in the PYTHONPATH, but it does not change the PATH in Enthough Canopy. Do anyone know how to change the PATH in canopy?
-
Jonathan March over 10 yearsRegarding changing PATH and other env vars on OSX: support.enthought.com/entries/…
-
-
AlexNoir over 10 yearsThank you for the answer. I have tried the solution of the second post, and include a launch.conf file. It changed the PYTHONPATH variable, but when I type
os.environ['PATH']
,the path/opt7local/bin
is not there. So I get the same error. -
gg349 over 10 yearswhich launch.conf are you talking about? try something like
sudo ln -s /opt/local/bin/ffmpeg /usr/bin/ffmpeg
-
Austin A over 8 yearsIf you're going to go this route, I would strongly suggest adding ffmeg to your usr/local/bin. It's general good unix/linux practice to not modify your usr/bin directory.