Multidmedia CAPTURE v.2 Recording Engine
CAPTURE is a flexible application to record the screen and user’s own selected activities along with system sound or narration and then compile them into a flash-movie or a number of other formats. It’s intended for making presentations, educational and support demonstrations. Recording Engine is a subsystem that efficiently captures those events and screenshots and saves them to an intermediate storage.
Recording Engine consists of 4 main parts: controlling, capturing, events recording, sound recording. The component exposes its interface as exported DLL functions. All work is done in the background. The recording settings can be changed at any moment.
The component actively uses Windows hooks (including low-level ones) to capture windows messages and input events. To minimise their impact on the system, the capture is implemented as a separate module. Multithreading is used (a) to avoid unwanted interference between the engine and the applications being captured and (b) to ensure smooth sound recording GDI+ is used to store image changes effectively. MSXML’s SAX API is used to compose an “event log” XML. All data is saved to a structured storage as a compromise between speed, size and file system resources.
Application settings to configure the Recording Engine.