一尘不染

以编程方式在Python中生成视频或动画GIF?

python

我有一系列要用来创建视频的图像。理想情况下,我可以为每个帧指定一个帧持续时间,但是固定帧速率也可以。我正在wxPython中执行此操作,因此可以渲染到wxDC,也可以将图像保存到文件中,例如PNG。是否有Python库可让我根据这些帧创建视频(AVI,MPG等)或动画GIF?


阅读 1003

收藏
2020-02-22

共1个答案

一尘不染

我建议不要使用visvis中的images2gif,因为它在PIL / Pillow方面存在问题,并且没有得到积极维护(我应该知道,因为我是作者)。

相反,请使用imageio,它是为解决此问题而开发的,并且打算保留下来。

快速而肮脏的解决方案:

import imageio
images = []
for filename in filenames:
    images.append(imageio.imread(filename))
imageio.mimsave('/path/to/movie.gif', images)

对于更长的电影,请使用流媒体方法:

import imageio
with imageio.get_writer('/path/to/movie.gif', mode='I') as writer:
    for filename in filenames:
        image = imageio.imread(filename)
        writer.append_data(image)
2020-02-22