【问题标题】:Matplotlib-Animation "No MovieWriters Available"Matplotlib-Animation “没有可用的 MovieWriters”
【发布时间】:2012-10-30 06:20:33
【问题描述】:

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

使用任一示例:

导致错误“RuntimeError: No MovieWriters available!

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

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

【问题讨论】:

  • 你运行的是什么操作系统?安装了ffmeg还是libav?
  • import matplotlib.animation as manimation; manimation.writers.list()

标签: python linux animation matplotlib runtime-error


【解决方案1】:

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

conda install -c conda-forge ffmpeg

这也适用于 Windows。

(原始答案使用menpo 包所有者,但正如@harsh 所述,他们的版本在撰写本文时有点落后)

【讨论】:

  • 也为我工作。从 Pycharm 中安装它,然后无需任何进一步操作即可使用 Writer = animation.writers['ffmpeg']。
  • 我安装了这个,但 matplotlib 找不到它。我错过了什么吗?
  • 是否有 pip 安装选项?
  • 这是金子!如果不工作,请尝试plt.rcParams['animation.ffmpeg_path'] = 'yourhomepath/anaconda2/envs/yourenv/bin/ffmpeg'
  • 这适用于 Anaconda。 @steven,如果你有的话,请确保它安装在同一个环境中。
【解决方案2】:

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

要做的是按照安装 FFmpeg 的说明进行操作 - 这是(至少在 Windows 上)您需要在环境变量中设置路径的可执行文件包

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

Download from ffmpeg.org

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

【讨论】:

  • 我正在运行 Linux。我格式化并忘记了这个问题。但是,为了结束这个问题,我重新安装了 FFmpeg,它现在可以工作了(在 Ubuntu 10.04、10.10 和 12.04 上测试过)。所以我会假设有些东西第一次没有安装
  • 还要确保你安装了最新的 matplotlib。我从旧版本更新后解决了这个问题(我运行的是 1.2.1)。
  • ImageMagick windows 安装程序会提供ffmpeg,安装起来更方便。
  • FFmpeg 为图书馆找到了新家。 https://www.ffmpeg.org/
  • choco install ffmpeg 在 Windows 上为我工作。上帝保佑包管理器!
【解决方案3】:

我知道这个问题是关于 Linux 的,但如果有人像我在这里所做的那样在 Mac 上偶然发现这个问题,那就是解决方案。我在 Mac 上遇到了完全相同的问题,因为 ffmpeg 显然没有默认安装,所以我可以使用以下方法解决它:

brew install yasm
brew install ffmpeg

【讨论】:

  • 我试过这个并确保安装了 ffmpeg。仍然得到同样的错误。
  • @Kai 是使用 brew 安装的 ffmpeg?
  • 我正在使用 Anaconda 和 conda,所以我使用了 conda install -c menpo ffmpeg=3.1.3 而且我还必须: sudo ln -s /opt/local/bin/ffmpeg /usr/bin /ffmpeg 这实际上适用于我的 macbook (10.11.2)。
  • @patapouf_ai:是的,brew 对我不起作用,因为我使用的是 anaconda/conda。按照我上面的评论安装公寓。
  • 这适用于使用 python 虚拟环境的 Mac OS X。
【解决方案4】:

在 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 中跳来跳去,ffmpeg 又回来了(真是一团糟)
【解决方案5】:

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

【讨论】:

    【解决方案6】:

    运行单元时出现以下错误。

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

    sudo apt install ffmpeg
    

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

    【讨论】:

      【解决方案7】:

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

      已安装 ffmpeg

      pip install ffmpeg

      然后

      sudo apt install ffmpeg

      【讨论】:

        【解决方案8】:

        (请务必遵循上面关于正确 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""

        【讨论】:

          【解决方案9】:

          如果出现错误“MovieWriter imagemagick 不可用;请改用 Pillow。”弹出,尝试 通过以下方式显式导入 PillowWriter 以另存为 mp4-File:

          from matplotlib.animation import FuncAnimation, PillowWriter
          

          【讨论】:

            猜你喜欢
            • 2018-05-24
            • 2013-01-26
            • 1970-01-01
            • 1970-01-01
            • 2014-03-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-04-05
            相关资源
            最近更新 更多