A filter graph is used in
multimedia
Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradi ...
processing - for example, to capture video from a
webcam
A webcam is a video camera which is designed to record or stream to a computer or computer network. They are primarily used in videotelephony, livestreaming and social media, and security. Webcams can be built-in computer hardware or periphera ...
.
Filters
Filter, filtering or filters may refer to:
Science and technology
Computing
* Filter (higher-order function), in functional programming
* Filter (software), a computer program to process a data stream
* Filter (video), a software component th ...
take input, process it (or change the input), and then output the processed data. For example: a
video codec
A video codec is software or hardware that compresses and decompresses digital video. In the context of video compression, ''codec'' is a portmanteau of ''encoder'' and ''decoder'', while a device that only compresses is typically called an '' ...
takes raw
uncompressed video
Uncompressed video is digital video that either has never been compressed or was generated by decompressing previously compressed digital video. It is commonly used by video cameras, video monitors, video recording devices (including general-pur ...
and compresses it using a video standard such as
H.264. To compress a multimedia stream a filter graph could have two inputs:
# Audio
# Video
Usually these are expressed as file sources. The file sources would feed compression filters, the output of the compression filters would feed into a
multiplexer
In electronics, a multiplexer (or mux; spelled sometimes as multiplexor), also known as a data selector, is a device that selects between several analog or digital input signals and forwards the selected input to a single output line. The sel ...
that would combine the two inputs and produce a single output. (An example of a multiplexer would be an
MPEG transport stream
MPEG transport stream (MPEG-TS, MTS) or simply transport stream (TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data. It is used in broadcast syste ...
creator.) Finally the multiplexer output feeds into a file
sink
A sink is a bowl-shaped plumbing fixture for washing hands, dishwashing, and other purposes. Sinks have a tap (faucet) that supply hot and cold water and may include a spray feature to be used for faster rinsing. They also include a drain ...
, which would create a file from the output.
A filter graph in multimedia processing is a directed graph. Edges represent one-way data flow and nodes represent a data-processing step. Pins or pads identify the connection points between nodes and edges.
Example of programs that use filter graphs
*
GStreamer
GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one format, processes the ...
- Linux based multimedia framework. In Gstreamer a filter is called an element. Filter graphs can be built with th
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
DirectShow (sometimes abbreviated as DS or DShow), codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's e ...
- Windows based multimedia framework.
GraphEditPlus- a free tool for building DirectShow filter graphs and generating C++ source code for them.
- a graphic interface for learning, implementation and management of vision systems
See also
Explanation of filter graph in DirectShow article:
DirectShow#Architecture
External links
DirectShow
Explanation of filter graph manager
Filters what they are
Example of filter graph usage
Data Flow in the Filter Graph
Graphics software
Multimedia frameworks
{{multimedia-software-stub