Capture tools which are using standard DirectShow filter are subject to restrictions.Limitations, when capturing audio/video streams from live source, are


Data leakage (video frames, audio samples) in    multifile capture operations

Disregarded source filter limitations from hardware    devices

Audio/video stream is going asynchron when    performing long time capture


In case of this facts, special DirectShow filters are developed to be able to create flexible capture tools.

Mux/Switcher filter
Rec/Demux filter
LengthController filter

In opposite to standard capture tools, which uses one CaptureGraph, this filters admits you to create three Graphs.


SourceGraph         -      including Mux/Switcher

CaptureGraph1      -      including Rec/Demux1 and                                        LengthController1

CaptureGraph2      -      including Rec/Demux2 and                                        LengthController2



CaptureEngine Schema




SourceGraph connect your audio/video device to special Mux/Switcher filter. Mux/Switcher receives the audio/video samples and transmit them to the CaptureGraph. Mux/Switcher is also used to perform audio/video preview.



CaptureGraph 1+2

Special Rec/Demux filter is used in both CaptureGraphs. This filter collects transmitted audio/video samples and send them to additional filters like compressors. In opposite to SourceGraph, which is running permanetly, only one of the CaptureGraphs are running, while the other is in pause mode.

If you like to create new file (Multifile capture), all you have to do is to start paused CaptureGraph and set pause mode for the other. This is done immediately, not one audio/video sample is lost.


This task could be done by sending switch command to CaptureGraphs or automatically.

For autom. switching, special LengthController filter is used. In LengthController properties, you can set maximum file length for stream recording. LengthController detects if size is reached and send switch command to CaptureGraphs.