访问整个视频存储器



我正在寻找一种读取视频卡输出到显示器的整个视频内存的方法。这还包括硬件加速输出、视频播放和全屏模式下的输出(不知何故,我觉得这可能与窗口模式不同)。

简而言之:我希望能够捕捉到将要在显示器上显示的所有内容。

我想如果,这可能取决于操作系统。我感兴趣的目标是WindowsOSX和Linux。

你有什么提示吗?

对于windows,我想你可以把CamStudio拆开,用它来记录屏幕,然后对输出做任何你想做的事情,除了你可以研究访问RAM的取证内核驱动程序之外。它不再像指针指向视频内存那么简单了,哈哈。

Windows请求的数字权限管理功能试图阻止您访问图形卡帧缓冲内存块。在Linux下使用开源驱动程序似乎是访问该内存的唯一方法,或者如前所述,一些第三方软件知道一些后门或黑客,或者定位其他程序的帧缓冲空间的方法。

当然,除非您试图从自己的程序中捕获输出(即您自己调用视频/图形创建函数),否则DirectX和OpenGL中有操作显示帧的API。

我想我找到了一些资源,可以帮助捕获Windows 中的显示内存

屏幕捕获的最快方法

如何在DirectX 10中将后台缓冲区保存到文件?

http://betterlogic.com/roger/2010/07/fast-screen-capture/

最新更新