GStreamer
GStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.
GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing. The pipeline design serves as a base to create many types of multimedia applications such as video editors, streaming media broadcasters, and media players.
Designed to be cross-platform, it is known to work on Linux (x86, PowerPC and ARM), Solaris (Intel and SPARC), Mac OS X, Microsoft Windows and OS/400. GStreamer has bindings for programming-languages like Python, C++, Perl, GNU Guile (guile), and Ruby. GStreamer is free software, licensed under the GNU Lesser General Public License.
Contents
Installation
Install a GStreamer version from the official repositories:
- gstreamer - Current version.
- gstreamer0.10 - Legacy but widely used version.
To make GStreamer useful, install the plugins packages you require.
Current version plugins
- gst-libav - Libav-based plugin containing many decoders and encoders.
- gst-plugins-bad - Plugins that need more quality, testing or documentation.
- gst-plugins-base - Essential exemplary set of elements.
- gst-plugins-good - Good-quality plugins under LGPL license.
- gst-plugins-ugly - Good-quality plugins that might pose distribution problems.
- gst-plugin-libde265 - libde265 plugin (an open h.265 video codec implementation) for gstreamer.
Legacy version plugins
- gstreamer0.10-bad-plugins - Plugins that need more quality, testing or documentation.
- gstreamer0.10-base-plugins - Essential exemplary set of elements.
- gstreamer0.10-ffmpeg - Libav-based plugin containing many decoders and encoders.
- gstreamer0.10-good-plugins - Good-quality plugins under LGPL license.
- gstreamer0.10-good-plugins-slim - Good-quality plugins under LGPL license. GNOME and ASCII-art dependency removed.
- gstreamer0.10-ugly-plugins - Good-quality plugins that might pose distribution problems.
- gstreamer0.10-plugin-libde265 - libde265 plugin (an open h.265 video codec implementation) for gstreamer0.1 .
Integration
PulseAudio
PulseAudio support is provided by good plugins packages.
Lightweight desktops
To configure GStreamer, for example to change the audio output device, use gstreamer-properties from package gstreamer-properties. This can be run by each user or as root for all users. Per-user configuration files are under $HOME/.gconf/system/gstreamer
and the global files are in /etc/gconf/gconf.xml.defaults
.
KDE / Phonon integration
See Phonon.
Bugs
In case of error GStreamer-CRITICAL **: gst_mini_object_unref: assertion
`mini_object->refcount > 0' failed
which usually occurs when recording video through recording software,
install gstreamer0.10-ffmpeg to fix.