gstreamer is a graph-based multimedia framework for open source projects, licensed under LGPL (and portions under GPL and BSD licenses).

gstreamer is the project that attempts to bring the free UNIXes the same multimedia capabilities as many commercial OSes have. Currently, in UNIXes, each player has its own way of handling different audio/video stream formats and codecs. But, when using gstreamer, people can write one codec or one stream format handler or one data filter and it's immediately available in all applications that use gstreamer. In a way, it's similar in intent to Windows multimedia APIs and Apple's QuickTime.

The applications use gstreamer by building a graph of the different elements. For example, to decode a MP3 file, all you need to do is to add a file reader, add mpg123 to the chain, and then add a component to play it to the soundcard. If you want effects, just throw in a couple of LADSPA plugins. Of course, there's also a graph autobuilder; Throw a file at the autobuilder, it figures out the format of the stream, and constructs a full-blown file playback pipeline!

(Note: This is how I understood it from the web pages - I'm not an expert =)

GNOME project plans on eventually making gstreamer an official part of the GNOME infrastructure.

Home page: