The Datastead Multipurpose Encoder is a DirectShow Multiplexer/Sink filter able to compress or encode audio/video streams through a LGPL build of FFmpeg. This LGPL build of FFmpeg is included in the package and installed with the filter.

It can encode in H264 through OpenH264 and encode in AAC with the FFmpeg’s AAC encoder. It supports also hardware encoding through Intel QuickSync or NVidia CUVID.

With this filter is is possible to encode the audio/video streams to various file containers (e.g. MP4) or to send them to live media servers (e.g. a Wowza Media Server).

This filter is natively supported by our TVideoGrabber SDK.

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.

Several instances of the filter can be used concurrently in the same application.

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 ran again, allowing to build in real time a single audio/video clip from start/stop sequences separated in time.

It is possible to show the FFMPEG console for debugging or control purpose.

System requirements

  • Intel Core I5 or Core I7 (Core I7 recommended to run multiple instances of the filter concurrently in real-time encoding)
  • Windows 7, Windows 8, Windows 8.1, Windows 10
  • Intel Quicksync hardware acceleration supported



These limitations are removed in the licensed version.

Screenshot of the filter settings in GraphEdit

click to enlarge:

Datastead Multiplexer to FFmpeg command-line GraphEdit demo