0

I want to capture the video output of an application using C++ and winapi, and stream it over the network. At the moment, I am capturing this output using a DirectShow filter. The application displays it's video output on the screen, and I just capture whatever it is there. I want to optimize this process.

My question is: Is there a way to capture the video/audio output of an application before it is displayed on the screen?

Thanks.

1 Answers1

0

Capture video before it is shown?

It is depends on how is the application provides the video for you.

  1. Real-time rendering - You can't access what's not exists. Like video games, or any dynamic rendering only displaying the actual state, and perhaps don't know anything about the future. Also there's an anomaly, when rendering becomes slower than the screen's refresh rate, called screen tearing.

  2. Static displaying - All the data is available already. For example if it's a video player application, with a video on your local machine, your only task is to get the data, and capture it with the appropriate position in time.

Last but not least, every hardware has a reaction time, a small delay to process data.

Also, there is a similar question Fastest method of screen capturing on Windows