Filter graph

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A filter graph is used in multimedia processing. For example to capture video from a webcamFilters take input, process it or change the input, and then output the processed 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 fed 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.

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.

Example of programs that use filter graphs[edit]

  • 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
  • GraphStudioNext - an open source tool to build and debug DirectShow filter graphs, replacement for GraphEdit
  • DirectShow - Windows based multimedia framework.
  • GraphEditPlus - a paid tool for building DirectShow filter graphs and generating C++ source code for them.
  • Harpia - a graphic interface for learning, implementation and management of vision systems

See also[edit]

Explanation of filter graph in DirectShow article: DirectShow#Architecture

External links[edit]

DirectShow[edit]