Digital Video Camcorder Support in Windows
Updated: September 28, 2001
File name: Dvcam.doc
About This Download
This download white paper describes how developers of PC video-editing applications can call certain Microsoft DirectShow application programming interfaces to control a digital video (DV) camcorder device connected to a PC running Microsoft Windows. This paper also recommends a mechanism to preserve application performance while the camcorder performs time-consuming operations, and provides reference documentation for the interfaces as implemented by the DV camcorder driver, Msdv.sys.
The information in this paper applies for Windows 98 SE, Windows 2000, Windows Millennium Edition, and Windows XP.
In the past, video editing on personal computers has been impractical for consumers, in part because digitized video data requires huge amounts of storage and because no standards exist for control of analog consumer video camcorders. The introduction of the Digital Video (DV) standard addresses these two problems:
A Windows video-editing application based on DirectShow can control a DV camcorder by calling the interfaces IAMExtDevice, IAMExtTransport, and IAMTimeCodeReader to get device capabilities, status, and timecodes, and to perform standard camcorder device-control operations such as play, rewind, fast forward, pause, stop, and record.
Currently, all DV camcorders follow the function control protocol (FCP) defined by IEC 61883, Digital Interface for Consumer Electronic Audio/Video Equipment, for the transport of audio/video command requests and responses to DV camcorders attached to the IEEE 1394 bus. Although DV cameras are currently limited to the IEEE 1394 bus and IEC61883 protocols, the DirectShow interfaces are not. The DV camcorder driver (Msdv.sys) is a WDM driver that accepts property sets from these DirectShow interfaces and translates them into commands that a DV camcorder can process. This model will allow a single application to control a camcorder that uses any type of protocol over any kind of bus, once a driver is available that can translate property sets into commands that the device can execute.