Search code examples
c++screen-captureimage-captureamd-gpu

How would I grab image data from display output of amd gpus?


I am attempting to create a personal PC streaming application on Windows. I was wondering how I could grab data from an AMD GPUs display output in C++ 11 (somewhat like OBS)? I attempted this in java with Robot.createScreenCapture method but was not able to achieve sufficient speeds required for streaming. I hope this is clear enough. Anything helps, thanks.


Solution

  • AMD AMF SDK can get you this: Is there a functionality to capture screen directly and encode at GPU buffer memory?

    amf\public\src\components\DisplayCapture already has code which is basically wrapping DD API into AMF component. If my memory serves me right DVR sample shows how to use it (source code definitely has traces that it was/is working).