Filter graph

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 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

See also

Explanation of filter graph in DirectShow article: DirectShow#Architecture

External links

DirectShow