WDM Video Capture

WDM Video Capture is a user and kernel mode intfrastructure used to capture video and audio in Windows98, 2000, XP, and later versions of Windows.

Description

WDM based video capture was introduced with Windows98.  It continued to mature with subsequent OS releases, and is now the preferred driver model with which to develop video capture drivers.

Video capture using WDM has a number of advantages over VFW.  Drivers are (at least theoretically) portable between Win9x and WinNT.  Comprehensive programmatic control of all capture aspects is available including format enumeration, TvTuner control, video routing via crossbars, video quality (gain, brightness, and hue), device control (zoom, pan, focus, and transport control).

Virtually all USB and 1394 capture devices use WDM drivers.   Generally, these devices have a single output stream, resulting in very simple graphs.  When it is necessary to split the stream, for example to preview while capturing, the "SmartTee" DirectShow filter is used.  This filter gives priority to the capture stream, insuring that frames are not dropped unnecessarily which could occur if a standard Tee were used.

The front end for a video capture graph supporting television typically consists of a TVTuner, one or more crossbars, and a capture filter.

A complete capture graph for the ATI All-In-Wonder can be found here.

While the above graph is typical for TvTuner devices, it is but one possible arrangement of components, and numerous other topologies are possible.  For example, multiple TvTuners are supported, and the crossbar can be expanded to handle output streams in home theater applications.

If you're planning on developing a WDM capture driver, start with the Win2000 DDK.  Numerous improvements and corrections were made relative the Win98 DDK.  Sample drivers are available for:

  • ATI All-In-Wonder
  • 1394 SonyDCam conferencing camera (not DV)
  • Intel USB conferencing camera
  • Testcap, a sample driver which synthesizes images

If you're developing a capture application, start with the AMCap sample in the Direct Show SDK.  This application supports both VFW and WDM capture drivers.

Direct Show

Show Clock filter which displays the stream time of a graph

Stream Scope filter which displays the metadata contents of  Media Samples for a given stream

VBI Scope filter which displays an oscilloscope view of a VBI stream

WDM Capture

jayboMeltdown.ppt WinHEC 98 presentation on WDM video capture.

Capture graph building How to build WDM video capture graphs

KSProxy  filter which hosts WDM capture drivers in Direct Show graphs

TVTuner filter which host a WDM driver to tune television signals

TVAudio filter which hosts a WDM driver to control TV audio decoding

Crossbar filter which hosts a WDM driver to route video and audio signals

VFW Capture

Video for Windows the original Windows video capture model

VFW WDM Mapper bridging the old and new