## What is DirectShow?

The Microsoft® DirectShow™ SDK gives developers access to DirectShow services, which provide playback multimedia streams from local files or Internet servers, and capture of multimedia streams from devices. Specifically, this enables playback of video and audio content compressed in various formats, including MPEG, Apple® QuickTime®, audio-video interleaved (AVI), and WAV, and both Video for Windows-based capture and WDM-based (Windows Driver Model) capture.

At the heart of the DirectShow services is a modular system of pluggable components called filters, arranged in a configuration called a filter graph. A component called the filter graph manager oversees the connection of these filters and controls the stream's data flow.

Applications control the filter graph's activities by communicating with the filter graph manager. You can do this indirectly by using the ActiveMovie Control, or directly by calling COM interface methods. The SDK also enables you to create your own filters using the DirectShow class library. The base classes in the C/C++ library implement the required COM interfaces on the filters and provide the basic filter framework.

The DirectShow SDK is based on several other Microsoft services and supports at least one other Microsoft service. For example, the video display components in DirectShow rely on Microsoft® DirectX® services whenever possible.

The amount you must know about an underlying or supported technology depends on what you are doing. For example, you'll need to understand COM programming if you are using C or C++ to control DirectShow playback or create a filter. But you don't need to understand COM programming to use the ActiveMovie Control.

DirectShow developers can use the following Microsoft services (you can find information about most of these in the Platform SDK or on the World Wide Web at http://www.microsoft.com/msdn/.)

- DirectX
- Component Object Model (COM)
- Media control interface (MCI)

You can also use the following Microsoft languages for DirectShow development:

- Microsoft Visual Basic® — used to create and control filter graphs.
- Microsoft Visual C++® — used to create and control filter graphs, and create filters.

See the product documentation for more information on these languages.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.