web-dev-qa-db-fra.com

Matplotlib-Animation "Aucun scénariste disponible"

Sous Linux, j'ai vérifié la classe d'animation de matplotlib, et cela semble fonctionner sauf que je ne peux pas initialiser le scénariste pour écrire le film.

En utilisant l'un des exemples:

entraîne l'erreur " RuntimeError: aucun MovieWriters disponible! "

J'utilise matplotlib version 1.3.x et j'ai installé (espérons-le) tous les codecs.

Quelqu'un peut-il suggérer pourquoi j'obtiens cette erreur? Si c'est un problème de codecs, quels codecs (+ versions) dois-je installer? Si c'est quelque chose d'autre qui est cassé, existe-t-il une alternative pour créer des animations en python?

37
OverlordAlex

Eu le même problème ... réussi à le faire fonctionner après un petit moment.

La chose à faire est de suivre les instructions sur l'installation de FFmpeg - qui est (au moins sur Windows) un ensemble d'exécutables dont vous avez besoin pour définir un chemin d'accès dans vos variables d'environnement

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

Téléchargez les exes d'ici.

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

J'espère que cela aide quelqu'un - même après un certain temps après la question - bonne chance

38
JPH

Pour les autres googleurs utilisant Anaconda, installez le package ffmpeg :

conda install -c conda-forge ffmpeg

Cela fonctionne aussi sur Windows.

(La réponse originale utilisait menpo propriétaire du package mais comme mentionné par @harsh, leur version est un peu en retard au moment de la rédaction)

40
fiat

Je sais que cette question concerne Linux, mais au cas où quelqu'un tomberait sur ce problème sur Mac comme je l'ai fait ici, c'est la solution. J'ai eu exactement le même problème sur Mac car ffmpeg n'est pas installé par défaut apparemment, et j'ai donc pu le résoudre en utilisant:

brew install yasm
brew install ffmpeg
21
patapouf_ai

Eu le même problème sous Linux. Par défaut, la méthode animate.save utilise ffmpeg mais elle semble obsolète. https://askubuntu.com/questions/432542/is-ffmpeg-missing-from-the-official-repositories-in-14-04

Solution: installez un codeur, comme avconv ou mencoder. Fournissez le codeur alternatif dans l'appel:

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

Si vous utilisez Ubuntu 14.04 ffmpeg n'est pas disponible. Vous pouvez l'installer en utilisant les instructions directement depuis https://www.ffmpeg.org/download.html .

En bref, vous devrez:

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

Si cela ne fonctionne pas, essayez d'utiliser Sudo apt-get dist-upgrade mais cela peut casser des choses dans votre système.

7
Ramon Martinez

(assurez-vous de suivre les commentaires de JPH ci-dessus sur le téléchargement correct de ffmpeg) Je ne sais pas pourquoi, mais dans mon cas, c'est celui qui a fonctionné (dans mon cas, c'était sur Windows).

Initialisez un écrivain:

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'] ==> DONNE UNE ERREUR "" RuntimeError: MovieWriter demandé (ffmpeg) non disponible ""

0
HassanSh__3571619