web-dev-qa-db-ja.com

Matplotlib-Animation「利用可能なMovieWriterはありません」

Linuxでは、matplotlibのアニメーションクラスをチェックアウトしてきましたが、ムービーライターを初期化してムービーを書き出すことができないことを除いて、動作しているようです。

いずれかの例を使用します。

エラー「RuntimeError:No MovieWriters available!」が発生します

私はmatplotlibバージョン1.3.xを使用し、すべてのコーデックを(できれば)インストールしました。

このエラーが発生する理由について誰かが提案できますか?コーデックの問題がある場合、どのコーデック(+バージョン)をインストールする必要がありますか?何か他のものが壊れている場合、Pythonでアニメーションを作成するための代替手段はありますか?

37
OverlordAlex

同じ問題を抱えていた....しばらくしてそれを機能させることができた。

行うべきことは、FFmpegのインストールに関する指示に従います。これは(少なくともWindowsでは)環境変数にパスを設定する必要がある実行可能ファイルのバンドルです。

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

ここからexeをダウンロードしてください。

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

これが誰かを助けることを願っています-質問の後しばらくしてから-幸運

38
JPH

Anacondaを使用するGoogle社員の場合、 ffmpeg パッケージをインストールします。

conda install -c conda-forge ffmpeg

これはWindowsでも機能します。

(元の回答はmenpoパッケージ所有者を使用しましたが、@ harshが述べたように、それらのバージョンは執筆時点で少し遅れています)

40
fiat

この質問はLinuxについてのものであることは知っていますが、Macでこの問題に出くわした場合に備えて、私がここでやったようにそれを解決します。 ffmpegがデフォルトではインストールされていないため、Macでもまったく同じ問題が発生したため、次の方法で解決できました。

brew install yasm
brew install ffmpeg
21
patapouf_ai

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)
13
Tapio

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しかし、これはあなたのシステムで物事を壊すかもしれません。

7
Ramon Martinez

(適切なffmpegのダウンロードについては、上記のJPHのフィードバックに従ってください)理由はわかりませんが、私の場合はここでうまくいきました(私の場合はWindowsでした)。

ライターを初期化します。

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:Requested MovieWriter(ffmpeg)not available ""

0