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

发布于 2021-02-02 23:12:23

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

关注者
0
被浏览
87
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    我建议不要使用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)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看