使用 QTKit 和 OpenGL 修改视频帧
我正在开发一个项目,我想使用 QTKit 打开视频(在 Mac 上)。这部分我可以做没有问题,但当我玩它时,我想使用 OpenGL 动态编辑或修改视频。
据我了解,我应该能够在帧到达显示器之前拦截并更改它们,但无论我做什么,我似乎都无法这样做。
I am working on a project where I would like to open a video (on a Mac) with QTKit. That part I can do no problem, but as I am playing it, I would like to edit or modify the video on the fly using OpenGL.
From what I understand, I should be able to intercept the frames and change them before it hits the display, but no matter what I do, I cannot seem to do so.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来你应该看看 Core视频和显示链接机制。
您基本上可以在高优先级线程上使用 CVImageBuffer 中的解码帧获得回调,并对其执行任何您喜欢的操作(包括将其打包为纹理以供 OpenGL 处理和显示)。
Apple 提供了文档和 演示代码片段。
It sounds like you should have a look at Core Video and the display link mechanic.
You can basically get a callback on a high priority thread with the decoded frame in a CVImageBuffer and do whatever you like with it (including packing it up as a texture for OpenGL processing and display).
Apple provides documentation and demo code snippets on the developer sites.