Подтвердить что ты не робот

Matplotlib-Animation "Нет доступных фильмов"

В Linux я проверял класс анимации matplotlib, и, похоже, он работает, за исключением того, что я не могу инициализировать автора фильма, чтобы выписать фильм.

Используя один из примеров:

приводит к ошибке " RuntimeError: нет доступных MovieWriters!"

Im использует matplotlib версии 1.3.x и установил (надеюсь) все кодеки.

Кто-нибудь может спросить, почему я получаю эту ошибку? Если проблема с кодеками, какие кодеки (+ версии) должны быть установлены? Если его что-то еще сломало, есть ли альтернатива для создания анимаций в python?

4b9b3361

Ответ 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) недоступен ""