GStreamer is a free software (LGPL) multimedia framework. As a simple example GStreamer can serve as a library for a movie player, handling most of what is required except for the user interface. It is written in the C programming language with the type system based on GObject. GStreamer serves a host of multimedia applications, such as video editors, streaming media broadcasters, and media players. Designed to be cross-platform, it is known to work on GNU/Linux (x86, PowerPC and ARM), Solaris (x86 and SPARC), Mac OS X, Microsoft Windows and OS/400.
The GNOME desktop environment is the primary user of GStreamer technology having included GStreamer since GNOME version 2.2 and encourages GNOME and GTK+ applications to use it. Other groups are beginning to use it as well, such as the KDE media player Amarok which in recent versions has allowed use of the GStreamer engine through a configure option.
GStreamer is also being used in embedded devices like the Maemo environment from Nokia, which is found on the Nokia 770 Internet Tablet.
It is a hosted project at freedesktop.org, and therefore aims to improve interoperability and share technology between free desktops.
The diagram to the right could be an example of playing an MP3 file using GStreamer. The file source reads an MP3 file from the computers hard drive and sends it to the MP3 decoder. The decoder decodes the file data and converts into it PCM samples which are sent to the ALSA sound driver. The ALSA sound driver sends the PCM sound samples to the computer's speakers.
Bindings are provided for programming languages like Python, C++, Perl, GNU Guile and Ruby.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"GStreamer".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world