Hi,
The LEADTOOLS Multimeda SDK contains multiple Multimedia controls that can be used to capture audio/video from multiple devices:
PlayCtrl:
Plays audio/video from sources including disk files, URL or UDP addresses (including RTSP).
https://www.leadtools.co...playctrl-sourcefile.htmlCaptureCtrl:
Captures audio/video from devices physically connected to the machine (The devices will need to support either DirectShow or Media Foundation to function with LEADTOOLS). This control allows you to save to captured audio/video to multiple different formats.
https://www.leadtools.co...turectrl-targetfile.htmlConvertCtrl:
Captures audio/video from sources including disk files, URL or UDP addresses (including RTSP) like the PlayCtrl does but the ConvertCtrl will allow you to convert that input audio/video into other formats including disk files, URL or UDP addresses (including RTSP).
https://www.leadtools.co...vertctrl-sourcefile.htmlhttps://www.leadtools.co...vertctrl-targetfile.htmlAll of these controls have the ability to use any of our DirectShow filters to manipulate/compress the video data in many different ways:
https://www.leadtools.co.../v19/multimedia/filters/For your task of creating still images from the video stream (if you don't have to save the audio/video stream back out), I would recommend using the PlayCtrl for the RTSP streams and the CaptureCtrl if your Digital Video Recorder devices are attached to the machine. We ship demos with the source code for multiple programming languages with the SDK that demonstrate how you can use both controls:
<Install Directory>\LEADTOOLS Multimedia 19\Shortcuts\Multimedia\Capture
<Install Directory>\LEADTOOLS Multimedia 19\Shortcuts\Multimedia\Playback
Once you have the controls capturing your audio/video properly, then you can attach the LEAD Video Callback Filter to the control:
https://www.leadtools.co.../leadvideocallbackfilter(2-0).html
The LEAD Video Callback Filter will provide you with the data for every frame of the video that passes through the control. In the callback that is fired you can take that frame data and save it to any image format that wish. You could also use the LEADTOOLS Imaging SDK to save the image data to any of the 150+ image formats that LEADTOOLS supports.
Here is a link to a HOW TO post on our forums that shows how you can use the LEAD Video Callback Filter to capture the image data of each frame from a video stream that you can use as a reference:
https://www.leadtools.co...nize-barcodes-via-webcamWe also ship demos containing the source code in multiple programming languages demonstrating how to use the LEAD Video Callback Filter:
<Install Directory>\LEADTOOLS Multimedia 19\Examples\Multimedia\ltmm\Cpp\Callback
<Install Directory>\LEADTOOLS Multimedia 19\Examples\Multimedia\ltmm\Dotnet\CS\Callback
<Install Directory>\LEADTOOLS Multimedia 19\Examples\Multimedia\ltmm\Dotnet\VB\Callback
The number of images you can save in a second is going to depend on your hardware itself, but you should be able to achieve the speed you are looking for. The callback filter itself is going to capture the image data at the rate that the audio/video is coming through the control. The functionality that is going to slow down the processing is going to be how you save the images within the callback filter, so you may want to look into making that step as efficient as possible to achieve your goal of 6 still images saved per second.
If we can be of any further assistance please let us know.
Aaron Brasington
Developer Support Engineer
LEAD Technologies, Inc.