Version User Scope of changes
Jul 28 2008, 12:43 AM EDT (current) directshowdecoder 1 photo added
Jul 25 2008, 3:12 AM EDT directshowdecoder

Changes

Key:  Additions   Deletions
DirectShow Decoder Explained   - DirectShow Decoder Explained

DirectShow decoder explained

About DirectShow

Fact: If you run Microsoft Windows you have a number of directshow video decoder filters installed on your computer. DirectShow is a system developed by Microsoft where you can install new components for video tasks without updating the actual direct show video application. There are hundreds of windows programs using this system, for example if you want to create a video index picture with the Fast video indexer program that program uses direct show. The most known direct show application is probably Windows media player.

What is a directshow decoder?

A direct show decoder is also called a filter or a codec. The component in a direct show filter graph that decodes the vidoe stream.

How an application uses DirectShow

The core of a program that uses direct show is a graph of connected filters. Each filter in the graph is a direct show component, a filter, that does a specific task with the data that is feed. It can then pass on the processed data to the next filter in the graph. In this way each filter is totally independent of the other filters. Filters are registered in the Windows OS and applications ask the Windows for a filter given criteria's like they type of filter, what input it supports and what output it supports.
With this seemingly simple system it is possible to build very powerful application solving just about any problem that can be though of as a stream of data.
There are other applications that does not use the component system for video codecs. If such an application can't play a video file the only solutions is to wait for an upgrade of the program.
Lets take a look at how one real world application uses the direct show component system to solve a specific problem.

How to capture video frames with DirectShow

Fast video indexer is a program that among other things can generate index pictures from video files. The program uses direct show to extract single video frames that are then composed into an index picture. Fast video indexer uses direct show to be able to decode the video file and a custom filter to extract the actual video frames. Since the application uses direct show it has access to all filters installed on the computer. If a video files plays in windows media player the fast video indexer program will be able to create an index picture for the video. If the program does not play in windows media player you simply have to search the internet for a direct show codec that support decoding of the video file and you can create a video index. If the the program is not able to decode the video file it even points the user in the right direction giving suggestion of what codecs to try.

What file formats are supported by DirectShow?

Since DirectShow is really just a framework for connecting a number of different filter it can be extended with more filters as needed. Just about every program use a filter graph builder component that is shipped with direct show. Because of this the author of the program does not even have to care about the details of supporting different file formats. AVI and VFW files are supported by default but extra filers can be downloaded to support just about any video format.

Video coding - splitters and codec

There is a difference between video file format and video data decoding. The file format, like AVI, just tells how the data stream is organized. Then in the data stream the data is compressed and this can be done with a number of different algorithms. There are often different filters for parsing the data, the splitter, and the actual decoding of the video and audio stream, codecs.

Is Quick Time supported by DirectShow

Quick Time is not supported by default and if you download the Quick Time player you will not get the required filters. There is ofcource solutions for reading quick time files in any direct show application.

Is RealMedia supported by DirectShow

RealMedia is not supported by default. Learn how to play and capture video frames from RealMedia files.

In what operating systems is DirectShow available

Direct show is only available in Microsoft windows operating systems. The framework has been in windows since windows 95 so today it is practically in every installed windows operating system.