Datastead Multipurpose DirectShow Encoder
The Datastead Multipurpose Encoder compresses, records and streams audio/video in most of the common encoding formats, either as a plugin of the TVideoGrabber SDK or as a standard DirectShow sink filter.
The two operating modes
The Multipurpose Encoder can be used in 2 different ways:
1. Encoder mode (from the TVideoGrabber SDK)
Used from the TVideoGrabber SDK as compression/recording/streaming codecs, to encode in various formats. In this mode the codec parameters are set programmatically through the TVideoGrabber API, without requiring the FFmpeg command-line syntax. See Using from TVideoGrabber (encoder mode).
2. FFmpeg command-line mode (DirectShow sink filter)
Used as a DirectShow sink filter that compresses/encodes the audio/video streams by invoking FFmpeg in the background through its command line. The filter is configured by a single call to SetCommandLine. See Filter configuration and Command-line syntax.
How the FFmpeg command-line mode works
A LGPL build of FFmpeg named ffmpegLGPL.exe is included in the filter, allowing to record in most of the encoding formats, as well as:
- H264 software encoding (through the OpenH264 codec)
- H264/HEVC GPU encoding through Intel Quicksync (
-c:v h264_qsv) or NVidia NVENC (-c:v h264_nvenc)
The filter multiplexes the uncompressed DirectShow video and audio streams into an ASF transport stream and writes this transport stream to a named pipe. This named pipe is taken as input by the transcoder, that is invoked as a child process in a non-visible background process from the command line.
There is no binding or C++ linking between the filter and the transcoder: all the settings are passed by the command line, and the audio/video stream is passed through the named pipe.
To configure the filter, just invoke SetCommandLine and specify the desired command line, along with some reserved keywords for the filter control.
When the graph runs, the transcoder process starts in the background, and stops when the graph is stopped.
Additionally to this default DirectShow behavior, the PAUSEWHENSTOP feature allows to pause the process while the graph is stopped, and to resume it when the graph is run again, allowing to build in real time a single audio/video clip from start/stop sequences separated in time.
It is possible to make the transcoder console visible for debugging or control purpose.
System requirements
Windows 11, Windows 10, Windows 8.1, Windows 8, Windows 7
32bit or 64bit operating system supported.
Download
The evaluation package can be downloaded here:
https://www.datastead.com/downloads/
License
Royalty-free developer license:
https://www.datastead.com/purchase/
Limitations of the evaluation version
- if the video pin is connected in RGB24 or RGB32: the filter overlays a "Datastead" logo over the video frames,
- if the video pin is connected in YUY2, UYVY or RGB555: the video frames show a green flash one time and 2 times alternatively, and so on periodically,
- the recording is limited to 1 minute.
These limitations are removed in the licensed version.
Contact
Email: contact@datastead.com, support@datastead.com, sales@datastead.com
Alternative email address: datastead@hotmail.com