我正在寻找一个Python视频处理库,类似于PIL,在这里,我可以遍历源视频的所有帧,访问每个帧的像素数据,绘制每个帧,并将结果保存为一个新的视频文件。
我发现了几个类似的问题,但它们现在已经很老了:
他们推荐PyMedia和PyFFMPEG。PyMedia似乎已经过时了(但可能还能工作吗?)而PyFFMPEG,虽然是最近的,却几乎没有文档。
我在Ubuntu10.10上安装这些都没有运气,在我继续之前,这里有:
( a)我应该看一个更好的图书馆?
( b)关于如何启动和运行这两种设备的良好指导?
发布于 2011-04-11 10:11:36
我经常需要同样的东西,据我所知,在Python中没有很好的绑定解决方案。
而且,它并不像看起来那样简单,可以操纵视频文件的帧。视频的现代文件格式不存储一个帧接一个帧的帧,而是使用“增量帧”,其中只存储从一个帧到另一个帧的变化。其他考虑因素,如可变帧速率的视频,使得问题更加困难。
在过去,我使用以下命令从视频生成图像。
ffmpeg -i /path/to/file.mpg -an -r 30 -s 320x240 tmp%06d.jpg其中30是目标帧速率,320x240是图像维数,tmp%06d.jpg是用来存储生成的jpegs的模式。然后,您可以使用PIL操作每一帧和菜单编码器或ffmpeg,再次将图像粘贴到电影中:
ffmpeg -r 30 -i tmp%06d.jpg output.mpg很明显,你会失去音轨。
发布于 2017-05-31 09:02:38
我向您推荐scikit录像,这是我见过的最简单的python视频处理库。
这是它的项目网站上对scikit视频的官方介绍:
Scikit-视频是为使用Python轻松处理视频而设计的。它是在其他成功的科学套件的精神,如科学学习和科学形象的精神。对于PyFFmpeg、MoviePy、PyAV、imageIO和opencv等视频的操作,scikit的开发者都知道库的存在。然而,还没有发现任何库可以为研究级视频处理工具提供一一对应的解决方案。
发布于 2017-05-29 00:44:01
我一直在考虑在类似的工作中使用py.processing。它完成了你所要求的一切,但它是一个处理的混合体。您不是在编写python代码本身。无论如何,它使它的工作相当容易,但有很多的程序/解释开销,所以它可以缓慢地做实时修改的电影。你说过你想编辑成文件,这样应该是可行的。
https://stackoverflow.com/questions/5619053
复制相似问题