什么是一个好的Python库来操纵视频文件的帧?

我正在寻找一个Python视频处理库,类似于PIL,我可以遍历源视频的所有帧,访问每帧的像素数据,绘制到每个帧并将结果保存为新的视频文件。

我发现了几个类似的问题,但现在它们已经很老了:

  • 最佳的Python视频操作库?
  • 蟒蛇视频库
  • 他们推荐PyMedia和PyFFMPEG。 PyMedia似乎过时了(但可能仍然有效?)和PyFFMPEG,而最近几乎没有文档。

    在我按下之前,我没有在Ubuntu 10.10上安装这些操作系统,请问:

    a)我应该看一个更好的图书馆?

    b)关于如何让这两者中的任何一个启动并运行的良好说明?


    我经常需要同样的东西,据我所知,在Python中没有很好的绑定解决方案。

    而且它并不像处理视频文件的帧那样简单。 用于视频的现代文件格式不是一帧接一帧地存储帧,而是使用“增量帧”,其中仅存储从一帧到另一帧的改变。 其他考虑因素,如可变帧率的视频使问题变得更加困难。

    在过去,我使用以下命令从视频生成图像。

    ffmpeg -i /path/to/file.mpg -an -r 30 -s 320x240 tmp%06d.jpg
    

    其中30是目标帧速率,320x240图像尺寸和tmp%06d.jpg用于存储生成的jpeg的图案。 然后,您可以使用PIL来操作每个帧,mencoder或ffmpeg将图像重新映射回电影中:

    ffmpeg -r 30 -i tmp%06d.jpg output.mpg
    

    很明显,你会失去音轨。


    我一直在寻找使用py.processing进行类似的工作。 它完成了你所要求的所有事情,但是它与Processing的混合。 你并不是在编写python代码。 无论如何,它使它很容易处理,但是有很多程序/解释的开销,所以它可能很慢做实时修改的电影。 你说你想编辑文件,以便可行。


    我推荐scikit-video,这是我见过的最直接的python视频处理库。

    这是来自其项目网站的官方介绍scikit-video:

    Scikit-video旨在使用Python轻松进行视频处理。 它是以其他成功的scikits(如scikit-learn和scikit-image)的精神为蓝本。 scikit-video的开发者知道用于处理视频的库,如PyFFmpeg,MoviePy,PyAV,imageIO和opencv。 但是,没有发现图书馆为研究级视频处理工具提供一体化解决方案。

    链接地址: http://www.djcxy.com/p/41223.html

    上一篇: What's a good Python library to manipulate frames of a video file?

    下一篇: Programmatically generate video or animated GIF in Python?