2013-09-16 14 views
8

Chcę animować niektóre wątki za pomocą matplotlib. Wersja, którą mam, to dystrybucja Enthough Canopy (wersja: 1.1.0.1371), działająca w środowisku Mac OS X 10.8 (Mountain Lion). Użyłem rutyny FuncAnimation z pakietu animacji matplotlib. Mój problem polega na zapisaniu animacji. Chcę zapisać w formacie mp4:Jak ustawić ffmpeg dla matplotlib w mac os x

anim.save('test.mp4',fps=30) 

Błąd pojawia się:

UserWarning: MovieWriter ffmpeg unavailable 
warnings.warn("MovieWriter %s unavailable" % writer) 

Więc zainstalowałem ffmpeg poprzez DarwinPorts. Ale wciąż mam ten sam błąd. Czy wiesz, jak skonfigurować matplotlib, aby rozpoznać ffmpeg? Czy muszę zmienić plik matplotlibrc? Dzięki.

EDYCJA: Zdałem sobie sprawę, że mogę ręcznie umieścić "/ opt/local/bin" w PYTHONPATH, ale to nie zmienia PATH w Enthough Canopy. Czy ktoś wie, jak zmienić PATH w czaszy?

+0

jest 'ffmpeg' w ścieżce? Jeśli wpiszesz 'ffmpeg' w konsoli, czy działa? –

+0

Tak, działa. Sprawdziłem dwukrotnie, czy PATH jest OK i program działa. – AlexNoir

+1

Informacje dotyczące zmiany zmiennej PATH i innych zmiennych env w systemie OSX: https://support.enthought.com/entries/23665767-How-do-I-set-PYTHONPATH- i-Invent-environment-variables-for-Canopy- –

Odpowiedz

1

Myślę, że rozwiązanie można znaleźć w obejściu w poście this i this post.

Wygląda na to, że ścieżka powłoki nie jest ładowana przez matplotlib, a ponieważ komputery Macport są zainstalowane w /opt/local/bin, nie można znaleźć ffmpeg.

Albo pójść na hack opisanej powyżej, spróbuj dowiązania symbolicznego w /bin dla ffmpeg lub spróbuj dodać ścieżkę do ffmpeg do ścieżki Pythona jako sugerowane w komentarzach drugiego łącza

+0

Dziękuję za odpowiedź. Próbowałem rozwiązania drugiego postu i dołączam plik launch.conf. Zmieniono zmienną PYTHONPATH, ale kiedy wpisuję słowo 'os.environ ['PATH']', ścieżka '/ opt7local/bin' nie istnieje. Więc pojawia się ten sam błąd. – AlexNoir

+0

o której uruchomieniu .conf mówisz? spróbuj czegoś takiego jak 'sudo ln -s/opt/local/bin/ffmpeg/usr/bin/ffmpeg' – gg349

5

miałem ten sam problem . Moje rozwiązanie było bardzo proste.

Pobierz plik binarny z here.

Następnie zrobić

sudo mv ~/Downloads/ffmpeg /usr/bin/ 
+6

Jeśli zamierzasz pójść tą drogą, zdecydowanie sugerowałbym dodanie ffmeg do twojego usr/local/bin. To dobra praktyka unix/linux, aby nie modyfikować katalogu usr/bin. –