|Microsoft DirectShow 9.0|
Microsoft® DirectShow® provides a component called the DVD Navigator source filter which simplifies DVD navigation tasks in C++. The DVD Navigator has all the capabilities that you find on a full-featured stand-alone DVD player, plus additional capabilities specific to playing DVDs on personal computers. Using the DVD Navigator, C++ and scripting developers can create full-featured DVD applications without referring to the DVD specification. The DVD Navigator, in coordination with the decoder filters, also handles regional management and copyright protection (CSS and analog copy protection), isolating application developers from these details.
The DVD Navigator filter works across an entire DVD-Video volume, which consists of the files in the VIDEO_TS directory. Unlike most DirectShow source filters that work with individual streams or files, the DVD Navigator uses the DVD-Video structure of titles, chapters, and time codes. Developers wishing to play individual MPEG-2 files in DirectShow should use the MPEG-2 Demultiplexer instead of the DVD Navigator filter. See MPEG-2 Support in DirectShow for more information.
C++ developers control the DVD Navigator directly through the Component Object Model (COM) interfaces it exposes. Script or Visual Basic developers targeting Windows 2000 platforms or earlier can control the DVD Navigator indirectly through the MSWebDVD ActiveX® control. On Windows XP, this same DVD-Navigator based functionality is also provided through the Video Control using the MSVidWebDVD object. For more information, see Using the Video Control.
Most DVD applications, including as players with customized interfaces, Web pages that control DVD playback, PowerPoint presentations with embedded DVD video, can be created in HTML or Visual Basic using the MSVidWebDVD object, together with the Video Control. This is simpler and faster than using C++, which is only required for more specialized applications, such as games, programs that overlay graphics on video, custom ActiveX controls or DLLs, and so on. The MSWebDVD ActiveX control is another lightweight control, but its functionality is contained within the MSVidWebDVD object, and is only recommended with Windows 2000 or earlier platforms.
- Note DirectShow provides all the filters necessary to navigate and play DVD-Video except the MPEG-2 decoder. To play DVDs using an application based on DirectShow, users must have installed on their system a third-party hardware or software decoder that is DirectShow-compatible.
This section contains the following topics.
- DVD Support Features in DirectShow
- DVD Basics
- Writing a DVD Application in C++
- Shortcuts to C++ DVD Reference Pages
- Writing a Script-Based DVD Application
To develop a DVD application using the Video Control, see DVD Applications in Visual Basic (Video Control).
For references on DVD/MPEG2 decoder development, see DVD Decoder Development in DirectShow.