Tom*_*Tom 7 python video video-processing
我正在寻找一个类似于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
Run Code Online (Sandbox Code Playgroud)
其中30是目标帧速率,320x240是图像尺寸,tmp%06d.jpg是用于存储生成的jpeg的模式.然后你可以使用PIL来操作每个帧和mencoder或ffmpeg来将图像再次放回到电影中:
ffmpeg -r 30 -i tmp%06d.jpg output.mpg
Run Code Online (Sandbox Code Playgroud)
显然,你将失去音轨.