Matplotlib-Animation "Нет доступных фильмов"
В Linux я проверял класс анимации matplotlib, и, похоже, он работает, за исключением того, что я не могу инициализировать автора фильма, чтобы выписать фильм.
Используя один из примеров:
приводит к ошибке " RuntimeError: нет доступных MovieWriters!"
Im использует matplotlib версии 1.3.x и установил (надеюсь) все кодеки.
Кто-нибудь может спросить, почему я получаю эту ошибку? Если проблема с кодеками, какие кодеки (+ версии) должны быть установлены?
Если его что-то еще сломало, есть ли альтернатива для создания анимаций в python?
Ответы
Ответ 1
Если бы та же проблема... ей удалось заставить ее работать через некоторое время.
Следуйте инструкциям по установке FFmpeg - который (по крайней мере, на окнах) представляет собой набор исполняемых файлов, которым необходимо установить путь в переменные среды
http://www.wikihow.com/Install-FFmpeg-on-Windows
Загрузите exes отсюда.
http://ffmpeg.zeranoe.com/builds/
Надеюсь, это поможет кому-то - даже через некоторое время после вопроса - удачи.
Ответ 2
Для других пользователей, использующих Anaconda, установите пакет ffmpeg:
conda install -c conda-forge ffmpeg
Это работает и в Windows.
(Исходный ответ использовал владельца пакета menpo
, но, как упоминалось в @harsh, их версия немного отстала в момент написания)
Ответ 3
Я знаю, что этот вопрос касается Linux, но в случае, если кто-то наткнулся на эту проблему на Mac, как я сделал здесь, это решение для этого. У меня была такая же проблема на Mac, потому что ffmpeg
по умолчанию не установлен, и поэтому я мог бы ее решить, используя:
brew install yasm
brew install ffmpeg
Ответ 4
В Linux такая же проблема. По умолчанию метод animate.save использует ffmpeg, но, похоже, он устарел.
https://askubuntu.com/questions/432542/is-ffmpeg-missing-from-the-official-repositories-in-14-04
Решение:
Установите некоторый кодер, например, avconv или mencoder.
Предоставьте альтернативный кодер в вызове:
ani.save('the_movie.mp4', writer = 'mencoder', fps=15)
Ответ 5
Если вы используете Ubuntu 14.04 ffmpeg
, недоступно. Вы можете установить его, используя инструкции непосредственно из https://www.ffmpeg.org/download.html.
Короче вам придется:
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg gstreamer0.10-ffmpeg
Если это не сработает, попробуйте использовать sudo apt-get dist-upgrade
, но это может повредить вещи в вашей системе.
Ответ 6
(обязательно следуйте приведенным выше отзывам JPH о правильной загрузке ffmpeg) Не знаю почему, но в моем случае это тот, который работал (в моем случае это было на windows).
Инициализировать писателя:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
Writer = animation.FFMpegWriter(fps=30, codec='libx264') ==> This is WORKED FINE ^_^
Writer = animation.writers ['ffmpeg'] ==> ДАЕТ ОШИБКУ "" RuntimeError: Запрошенный MovieWriter (ffmpeg) недоступен ""