I notice the GPU, like latest Nvidia/AMD cards, have an output that goes to your monitor but I want to know if we can also use that GPU output feed into some kind of image recorder HARDWARE? If yes, what kind of hardware would I be looking for specifically?
I’m currently trying to create an AI algorithm based on some reinforcement learning methods for a few colleagues for research purposes but it seems the software based of getting image data in Windows is a bit too slow or other methods of hooking into ‘back buffers’ are rather complicated for my taste and also I can’t really seem to find direct specific methodological information to what I’m looking for described above. If anyone can help in this position I’m in, that would very much be appreciated. Thanks!
1
Sounds like you’re looking for a capture card. Modern ones based on PCIe or USB3 are capable of capturing HDMI output at 60fps in real time. On the software side, the captured images are exposed as a virtual camera.
If you can make your program or algorithm work of a video file or camera input, you should be able to use this approach. However, keep in mind that this will set you back by around 150-200 bucks.
1
A capture card is probably overkill. If you’re looking to capture video frames you could simply dump said video frames with one of many video editing software.
If you’re looking to capture video game frames there’s also a lot of software for this, and Nvidia even provides ShadowPlay which will capture 60 FPS. You could then dump the frames using said video editing software.
Neither of these rely on external connections to capture the frames. It should be mentioned that these options are likely more efficient than a hardware based capture card as they capture the frame from the GPU buffer rather than the buffer output (outside the card) which means you’re likely to have dropped frames (due to the capture card limitations not the GPU buffer).
I tend to use OBS for Screen Recording. It is created initially for streaming, however, it has powerful video capture in it due to this use case.
https://obsproject.com/
Though, on the GPU Image Output, you may want to use a Second GPU or a Video Card to record as it will not throttle / bottleneck your GPU you wish to do the test with.
Hope this helps with your decision!