Matplotlib-动画“没有电影编剧”

在 Linux 下,我一直在查看 matplotlib 的动画类,它似乎可以工作,只是我不能初始化电影编剧来写出电影。

举两个例子:

导致错误“ RuntimeError: 没有可用的电影编剧!

我使用的是 matplotlib 1.3.x 版本,并且(希望)已经安装了所有的编解码器。

有人能告诉我为什么会出现这个错误吗?如果是编解码器问题,我应该安装哪个编解码器(+ 版本) ? 如果它的其他东西被打破,是否有另一种方法来创建动画在巨蟒?

139917 次浏览

遇到了同样的问题... 过了一会儿就能修好了。

要做的事情是按照安装 FFmpeg 的说明进行安装——这是(至少在 Windows 上)一组可执行文件,您需要在环境变量中设置一个路径

Http://www.wikihow.com/install-ffmpeg-on-windows

从 ffmpeg.org 下载

希望这对某人有所帮助——即使是在问完问题后的一段时间——祝你好运

在 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)

如果你使用的是 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,但这可能会打破你的系统中的东西。

我知道这个问题是关于 Linux 的,但是如果有人像我一样在 Mac 上偶然发现了这个问题,这就是解决这个问题的办法。我在 Mac 上遇到过同样的问题,因为 ffmpeg显然不是默认安装的,所以我可以用以下方法解决:

brew install yasm
brew install ffmpeg

对于使用 Anaconda 的谷歌同行,请安装 Fmpeg软件包:

conda install -c conda-forge ffmpeg

这也适用于 Windows 系统。

(原来的答案使用 menpo包的所有者,但是如提到的@苛刻他们的版本是有点落后的写作时间)

(请务必遵循上面关于正确的 ffmpeg 下载的 JPH 反馈) 不知道为什么,但在我的情况下,这是一个工作(在我的情况下是窗户)。

初始化一个作家:

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.Writer [‘ ffmpeg’] = = > GIVES ERROR”“ RuntimeError: Requsted MovieWriter (ffmpeg) not able”“运行时错误: 请求的电影作者(ffmpeg)不可用”

运行单元格时出现以下错。 enter image description here

这可能是由于系统中没有 ffmpeg。请在终端中尝试以下命令。

sudo apt install ffmpeg

这对我有用,我希望对你也有用。

我正在运行 Ubuntu20,我有一个类似的问题

已安装 ffmpeg

pip install ffmpeg

那么

sudo apt install ffmpeg

如果弹出错误“ MovieWriter image magick 不可用; 使用枕头代替”,请尝试 导入 PillowWriter 明确保存为 mp4-File:

from matplotlib.animation import FuncAnimation, PillowWriter

使用这个命令 Pip 安装