The Datastead Multipurpose Encoder is a DirectShow multiplexer that behaves as a sink filter, able to encode audio/video streams through the command line of the LGPL build of FFmpeg included.

It can encode in H264 through the OpenH264 codec, and supports hardware encoding through DXVA, 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 push them to Wowza or other media servers.

This filter is natively supported by our TVideoGrabber SDK, allowing to record real time sources like webcams, HD PCIe cards or IP cameras.

To configure the filter, just invoke SetCommandLine from the filter interface 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. Pause/Resume is supported.

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.

Adding the “SHOWCONSOLE” keyword displays the FFMPEG console during the encoding for debugging or monitoring purposes.

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

Documentation

Datastead_Multipurpose_DirectShow_Encoder.pdf

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