[英]What's a good Python library to manipulate frames of a video file?
我经常需要相同的东西,据我所知,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。 但是,没有找到任何图书馆为研究级视频处理工具提供一体化解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.