Filter graph

From Wikipedia, the free encyclopedia

A filter graph is used in multimedia processing. For example to capture video from a webcam.   Filters take input, process it or change the input, and then output the process data. An example of a filter, would be a video codec that takes raw uncompressed video and compresses it using a video standard such as H.264. To compress a multimedia stream a filter graph could have two inputs:

  1. Audio
  2. Video

Usually these are expressed as file sources. The file sources would feed compression filters, the output of the compression filters would be feed to a multiplexer that would combine the two inputs and produce a single output. An example of a multiplexer would be an MPEG transport stream creator. Finally the multiplexer output would be fed to a file sink, which would create a file from the output.

GStreamer example of a filter graph.
GStreamer example of a filter graph.
Filter graph of an mp3 file, as rendered by the DirectShow sample GraphEdit. The big boxes represent filters.
Filter graph of an mp3 file, as rendered by the DirectShow sample GraphEdit. The big boxes represent filters.

A filter graph in multimedia processing is a directed graph. Edges represent one way data flow and nodes represent a data processing step. The term pins or pads are used to describe the connection point between nodes and edges.

Contents

[edit] Example of programs that use filter graphs

  • GStreamer - Linux based multimedia framework. In Gstreamer a filter is called an element. Filter graphs can be built with the GStreamer Editor.
  • GraphEdit - Microsoft tool for building filter graphs
  • DirectShow - Windows based multimedia framework.
  • GraphEditPlus - another tool for building DirectShow filter graphs and generating C++ source code for them.

[edit] See also

Explanation of filter graph in DirectShow article: DirectShow#Architecture

[edit] External links

[edit] DirectShow