0

I'm looking for a way to read the whole video memory that a video card outputs to a display. That includes also hardware accelerated output, video playback and output in fullscreen mode (that somehow I feel could be different from windowed mode).

In short: I want to be able to capture everything that is going to be represented on a display.

I suppose that IF that's possible it would be os-dependant. The targets I'm interested in are Windows OSX and Linux.

Do you have any hint?

crsnplusplus
  • 180
  • 1
  • 10
  • See [Super User: Is there a way to fake a dual (second) monitor](http://superuser.com/questions/62051/is-there-a-way-to-fake-a-dual-second-monitor) – xmojmr Nov 04 '14 at 13:57

3 Answers3

2

For windows I guess you could take CamStudio, strip it down and use it to record the screen then do whatever you want with the output, other than that you could look into forensic kernel drivers for accessing RAM. It's not exactly as simple as a pointer pointing to the video memory anymore, haha.

Redfoxmoon
  • 46
  • 3
2

Digital Rights Management, requested feature of Windows, attempts to block your access to blocks of graphics-card frame buffer memory. Using an open-source driver under Linux would seem to be the only way to access this memory, or as mentioned earlier, some 3rd party software that knows some back doors or hacks or ways to locate other program's frame buffer space.

Unless of course, you are trying to capture output from your own program (ie you are calling the video/graphics creation functions yourself), there are APIs to manipulate display frames in DirectX and OpenGL.

Hans Schulze
  • 116
  • 7
2

I think I found some resources that can help to capture the display memory in Windows

Fastest method of screen capturing

How to save backbuffer to file in DirectX 10?

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

Community
  • 1
  • 1
crsnplusplus
  • 180
  • 1
  • 10