【问题标题】:How to set ffmpeg for matplotlib in mac os x如何在 mac os x 中为 matplotlib 设置 ffmpeg
【发布时间】:2013-09-20 22:33:56
【问题描述】:

我想用 matplotlib 为一些情节制作动画。我拥有的版本是 Enthough Canopy 发行版(版本:1.1.0.1371),在 mac os x 10.8(Mountain Lion)中运行。我使用了 matplotlib 动画包中的 FuncAnimation 例程。我的问题是保存动画。我想保存为mp4格式:

anim.save('test.mp4',fps=30)

我得到的错误是:

UserWarning: MovieWriter ffmpeg unavailable 
warnings.warn("MovieWriter %s unavailable" % writer)

所以我通过 Macports 安装了 ffmpeg。但我仍然有同样的错误。你知道如何设置 matplotlib 以识别 ffmpeg 吗?我必须更改 matplotlibrc 文件吗? 谢谢。

编辑:我意识到我可以手动将“/opt/local/bin”放入 PYTHONPATH,但它不会更改 Enthough Canopy 中的 PATH。有人知道如何更改树冠中的路径吗?

【问题讨论】:

  • ffmpeg 在路径中吗?如果你在控制台输入ffmpeg,它会运行吗?
  • 是的,它运行。我仔细检查了 PATH 是否正常并且程序运行。
  • 关于在 OSX 上更改 PATH 和其他环境变量:support.enthought.com/entries/…
  • 谢谢乔纳森。我看了你的帖子,我也试过了。奇怪的是,我终端中的 python 加载了完整路径,而 canopy 中编辑器上的 python 只加载了较短的路径。为什么?我想知道树冠编辑器在哪里加载变量os.environ['PATH']。从终端运行 ipython 和从 canopy 编辑器运行有什么区别?

标签: python matplotlib ffmpeg osx-mountain-lion enthought


【解决方案1】:

我遇到了同样的问题。我的解决方案非常简单。

从here下载二进制文件。

那就做吧

sudo mv ~/Downloads/ffmpeg /usr/bin/

【讨论】:

  • 如果你要走这条路,我强烈建议将 ffmeg 添加到你的 usr/local/bin。不修改您的 usr/bin 目录是一般的良好 unix/linux 做法。
【解决方案2】:

使用自制软件安装时我成功了: brew install ffmpeg

然后通过以下方式自行设置 FFMpegWriter:

mywriter = animation.FFMpegWriter()
anim.save('mymovie.mp4',writer=mywriter)

【讨论】:

    【解决方案3】:

    我认为可以在this 和this 帖子中的解决方法中找到解决方案。

    好像是matplotlib没有加载shell的路径,由于/opt/local/bin中安装了macports,所以找不到ffmpeg。

    要么进行上述黑客攻击,尝试在 /bin 中为 ffmpeg 创建符号链接,或者尝试按照第二个链接的 cmets 中的建议将 ffmpeg 的路径添加到 python 路径

    【讨论】:

    • 感谢您的回答。我已经尝试了第二篇文章的解决方案,并包含了一个 launch.conf 文件。它改变了 PYTHONPATH 变量,但是当我输入 os.environ['PATH'] 时,路径 /opt7local/bin 不存在。所以我得到了同样的错误。
    • 你说的是哪个launch.conf?尝试类似sudo ln -s /opt/local/bin/ffmpeg /usr/bin/ffmpeg
    猜你喜欢
    • 2015-07-08
    • 2015-04-28
    • 2011-04-20
    • 2015-05-18
    • 1970-01-01
    • 2020-12-11
    • 2010-10-30
    • 2013-07-27
    相关资源
    最近更新 更多