Python视频框架
我在找一个Python框架,想要能播放视频,还能在视频上进行绘图(比如标记用途)。
我试过Pyglet,但感觉效果不是很好——在已有视频上绘图时,会出现闪烁(即使用了双缓冲和其他一些好方法),而且在每一帧回调时似乎无法获取视频的帧索引(只能得到自上一个帧以来的经过时间)。
3 个回答
2
Qt(PyQt)有一个叫Phonon的东西,可能会对你有帮助。PyQt可以选择免费使用(GPL许可证)或者付费使用。虽然Qt也有一种叫LGPL的许可证,但PyQt的包装并不包含这个选项。
2
试试这个 GStreamer的Python接口。
2
可以试试一个叫做 ctypes-opencv 的Python封装库来使用OpenCV。C语言的API参考在这里,这个封装库和C的接口非常相似(具体的变化可以查看文档说明)。
我用它在视频上绘图时没有出现任何闪烁,所以你在这方面应该不会遇到问题。
你需要调用的步骤大致如下:
- 用cvCreateFileCapture加载视频,用cvFont加载字体。
- 用cvQueryFrame抓取帧,并增加你的帧计数器。
- 用cvPutText、cvEllipse等在帧上绘图。
- 用cvShowImage显示给用户。