matplotlib需要了解ffmpeg的安装情况

时间:2016-12-08 13:52:25

标签: python matplotlib ffmpeg

我的ffmpeg和matplotlib的安装似乎有问题:

In [9]: matplotlib.animation.writers["ffmpeg"]
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
 ........
     58     def __getitem__(self, name):
     59         if not self.avail:
---> 60             raise RuntimeError("No MovieWriters available!")
     61         return self.avail[name]
     62 

RuntimeError: No MovieWriters available!

看起来好像没有找到ffmpeg(或任何其他作家)。但是,我已从源代码构建它并将其安装在~/.local中。这包含在$PATH中,我验证了命令ffmpeg正在终端中运行。

安装ffmpeg时是否应注意什么?还有其他事可做吗?

配置:

  • Python 2.7.3
  • matplotlib 1.2.0
  • ffmpeg N-82786-gc188f35
  • Red Hat 6.7

注意:我想避免从头开始重新安装。我没有root访问权限,我手动安装的唯一东西就是ffmpeg。

1 个答案:

答案 0 :(得分:3)

作者通过the isAvailable类方法检查可用性,这种方法或多或少只是检查// Checks whether `str' ends with `suffix' ignoring case bool endsWithIgnoreCase(const std::string& str, const std::string& suffix) { if (&suffix == &str) return true; // str and suffix are the same string if (suffix.length() > str.length()) return false; size_t delta = str.length() - suffix.length(); for (size_t i = 0; i < suffix.length(); ++i) { if (std::tolower(suffix[i]) != std::tolower(str[delta + i])) return false; } return true; } 是否有效。它检查的路径是popen类方法的返回值,该方法默认查找类级别属性(由子类提供),以指定要查看路径的rcParams(间接级别为值得)。

对于ffmpeg,这是bin_path

mpl.rcParams['animation.ffmpeg_path']