我想从目前在 PC 上启动的游戏中获取视频帧(图像)。
XSplit Broadcaster有这样的功能。它以某种方式列出了实际上是视频游戏的进程并允许抓取视频帧。
据我了解,它可以通过枚举当前正在运行的 Direct3D 表面并从中获取图片来完成。
我对么?那么OpenGL游戏的解决方案是什么?
我想从目前在 PC 上启动的游戏中获取视频帧(图像)。
XSplit Broadcaster有这样的功能。它以某种方式列出了实际上是视频游戏的进程并允许抓取视频帧。
据我了解,它可以通过枚举当前正在运行的 Direct3D 表面并从中获取图片来完成。
我对么?那么OpenGL游戏的解决方案是什么?
apitrace
似乎能够使用 Ye Olde Trike捕获帧。LD_PRELOAD
你检查了glReadPixels()
吗?我以前用过。虽然有点慢。
尝试
glReadPixels(0,0,width, height,GL_RGB, GL_UNSIGNED_BYTE,buffer);