Matplotlib-Animación “No hay escritores de películas disponibles”

Bajo Linux, he estado revisando la clase de animación de matplotlib, y parece funcionar, excepto que no puedo inicializar al escritor de la película para escribir la película.

Usando cualquiera de los ejemplos:

  • http://matplotlib.org/examples/animation/moviewriter.html
  • http://matplotlib.org/examples/animation/basic_example_writer.html

da como resultado el error ” RuntimeError: No hay MovieWriters disponibles!

Estoy usando matplotlib versión 1.3.x y he instalado (con suerte) todos los codecs.

¿Puede alguien sugerir por qué recibo este error? Si se trata de un problema de códecs, ¿qué códecs (+ versiones) debo instalar? Si es algo más que está roto, ¿hay alguna alternativa para crear animaciones en python?

Tuve el mismo problema … logré que funcionara después de un rato.

Lo que hay que hacer es seguir las instrucciones sobre la instalación de FFmpeg, que es (al menos en Windows) un conjunto de ejecutables al que necesita configurar una ruta en sus variables de entorno

http://www.wikihow.com/Install-FFmpeg-on-Windows

Descarga los exes desde aquí.

http://ffmpeg.zeranoe.com/builds/

Espero que esto ayude a alguien, incluso después de un tiempo después de la pregunta, buena suerte.

Para los compañeros de Google que usan Anaconda, instale el paquete ffmpeg :

 conda install -c conda-forge ffmpeg 

Esto funciona en Windows también.

(La respuesta original utilizó el propietario del paquete menpo , pero como lo menciona @harsh, su versión está un poco atrasada en el momento de escribir este artículo)

Sé que esta pregunta es sobre Linux, pero en caso de que alguien tropiece con este problema en Mac como lo hice aquí es la solución para eso. Tuve el mismo problema en Mac porque aparentemente ffmpeg no está instalado por defecto, por lo que pude resolverlo utilizando:

 brew install yasm brew install ffmpeg 

Tenía el mismo problema en Linux. Por defecto, el método animate.save usa ffmpeg pero parece estar en desuso. https://askubuntu.com/questions/432542/is-ffmpeg-missing-from-the-official-repositories-in-14-04

Solución: Instale algún codificador, como avconv o mencoder. Proporcionar el codificador alternativo en la llamada:

 ani.save('the_movie.mp4', writer = 'mencoder', fps=15) 

Si está utilizando Ubuntu 14.04, ffmpeg no está disponible. Puede instalarlo usando las instrucciones directamente de https://www.ffmpeg.org/download.html .

En resumen tendrás que:

 sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install ffmpeg gstreamer0.10-ffmpeg 

Si esto no funciona, tal vez intente usar sudo apt-get dist-upgrade pero esto puede dañar las cosas en su sistema.

(asegúrese de seguir los comentarios de JPH anteriores sobre la descarga correcta de ffmpeg) No estoy seguro de por qué, pero en mi caso aquí es el que funcionó (en mi caso fue en Windows).

Inicializar un escritor:

 import matplotlib.pyplot as plt import matplotlib.animation as animation Writer = animation.FFMpegWriter(fps=30, codec='libx264') #or Writer = animation.FFMpegWriter(fps=20, metadata=dict(artist='Me'), bitrate=1800) ==> This is WORKED FINE ^_^ 

Writer = animation.writers [‘ffmpeg’] ==> GIVES ERROR “” RuntimeError: MovieWriter solicitado (ffmpeg) no disponible “”