Using FFmpeg and IPython



我对Python比较陌生(我更多地使用MATLAB)。我基本上希望能够制作和保存动画。所以我去检查了一下是怎么做的,发现了这个:http://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/

我直接把代码复制/粘贴到了一个IPython笔记本上。

我知道必须安装ffmpeg,我以为我安装了(根据http://www.wikihow.com/Install-FFmpeg-on-Windows)。路径为C:/ffmpeg。当我在命令提示符下尝试ffmpeg-version时,它确实有效。它也适用于WinPython的命令提示符。我不知道这是否有帮助,但Ipython的路径是:C: \Users\Sal\WinPython-32bit-3.3.2.3 \ python-3.2\脚本/

然而,它仍然不起作用。给出的错误为:AttributeError:"str"对象没有属性"save"这个错误当然发生在.save命令中。我甚至试着添加下面的内容。不做任何额外的事情。writer='ffmpeg'

我使用的是Windows7,WinPython3.3。

非常感谢

在开始使用完全相同的示例处理动画时,我遇到了完全相同的错误。首先,

我使用的是Windows7,Python 2.7.6,matplotlib 1.3.1

简短回答:尝试通过自己设置FFMpegWriter

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

长回答:我很确定matplotblib.animation.save中存在错误有以下线路

if is_string_like(writer):

以捕捉用户定义的编写器实际上不是编写器函数,而只是它的名称的情况。然后,如果可用,它会实例化该编写器的实例

if writer in writers.avail:
     writer = writers[writer](fps, codec, bitrate,
                              extra_args=extra_args,
                              metadata=metadata

然而,这里有一个错误,如果用户定义的编写器不在writers.avail中,它只使用

writer = writers.list()[0]

它本身返回一个字符串,其中包含要使用的写入程序的名称。然而,这个字符串并没有被用来实际安装写入程序对象!

最新更新