Matplotlib-Animation“没有MovieWriters可用”

时间:2012-11-09 21:38:31

标签: python linux animation matplotlib runtime-error

在Linux下,我一直在检查matplotlib的动画类,它似乎有效,除了我不能初始化电影作家写出电影。

使用以下任一示例:

导致错误“ RuntimeError:没有MovieWrite可用!

我正在使用matplotlib 1.3.x版并安装(希望)所有的编解码器。

有人可以建议我为什么会收到此错误?如果它的编解码器问题,我应该安装哪些编解码器(+版本)? 如果它的其他东西被打破了,是否有在python中创建动画的替代方法?

9 个答案:

答案 0 :(得分:39)

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

conda install -c conda-forge ffmpeg

这也适用于Windows。

(原始答案使用menpo包主人,但正如@harsh所述,他们的版本在撰写时略显落后)

答案 1 :(得分:38)

有同样的问题......过了一会儿就设法让它工作了。

要做的就是遵循安装FFmpeg的说明 - 这是(至少在Windows上)你需要在环境变量中设置路径所需的一堆可执行文件

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

从这里下载exes。

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

希望这有助于某人 - 即使在问题过后一段时间 - 祝你好运

答案 2 :(得分:20)

I know this question is about Linux, but in case someone stumbles on this problem on Mac like I did here is the solution for that. I had the exact same problem on Mac because ffmpeg is not installed by default apparently, and so I could solve it using:

brew install yasm
brew install ffmpeg

答案 3 :(得分:13)

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)

答案 4 :(得分:7)

如果您使用的是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,但这可能会破坏系统中的内容。

答案 5 :(得分:1)

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

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

sudo apt install ffmpeg

这对我有用。我希望它也会为您解决。

答案 6 :(得分:0)

(请务必遵循上述有关正确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'] ==>给出错误“” RuntimeError:请求的MovieWriter(ffmpeg)不可用“”

答案 7 :(得分:0)

我正在运行Ubuntu 20,但遇到了类似的问题

已安装ffmpeg

pip install ffmpeg

然后

sudo apt install ffmpeg

答案 8 :(得分:-1)

在winOS中,您可以尝试:

第一步:下载并解压缩ffmpeg。

第二步:

ffmpegpath = os.path.abspath("path/ffmpeg/bin/ffmpeg.exe")
matplotlib.rcParams["animation.ffmpeg_path"] = ffmpegpath
writer = animation.FFMpegWriter()
anim.save(fname,writer = writer)