Difference between revisions of "GStreamer"

From ArchWiki
Jump to: navigation, search
m (Integration)
(43 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 +
[[Category:Audio/Video]]
 +
[[es:GStreamer]]
 
GStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.
 
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.
 
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 and Ruby. GStreamer is free software, licensed under the GNU Lesser General Public License.
+
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 ({{Pkg|guile}}), and [[Ruby]]. GStreamer is free software, licensed under the GNU Lesser General Public License.
  
(Source: ''Wikipedia''[http://en.wikipedia.org/wiki/GStreamer])
+
== Installation ==
  
{{stub}}
+
Install a GStreamer version from the [[official repositories]]:
== Installing Gstreamer and plug-ins ==
+
* {{Pkg|gstreamer0.10}} - Legacy and widely used version.
To play most media files using gstramer I recommend these steps:
+
* {{Pkg|gstreamer}} - Current version.
  
1) Open a terminal interface (ex. terminal or konsole) and become root by typing:
+
To make GStreamer useful, install the plugins packages you require.
su
+
  
2) Now type or copy this in to your terminal interface:
+
=== Current version plugins ===
pacman -S gstreamer0.10 gstreamer0.10-good gstreamer0.10-bad gstreamer0.10-ugly gstreamer0.10-ffmpeg
+
  
 +
* {{Pkg|gst-libav}} - Libav-based plugin containing many decoders and encoders.
 +
* {{Pkg|gst-plugins-bad}} - Plugins that need more quality, testing or documentation.
 +
* {{Pkg|gst-plugins-base}} - Essential exemplary set of elements.
 +
* {{Pkg|gst-plugins-good}} - Good-quality plugins under LGPL license.
 +
* {{Pkg|gst-plugins-ugly}} - Good-quality plugins that might pose distribution problems.
  
 +
=== Legacy version plugins ===
  
 +
* {{Pkg|gstreamer0.10-bad-plugins}} - Plugins that need more quality, testing or documentation.
 +
* {{Pkg|gstreamer0.10-base-plugins}} - Essential exemplary set of elements.
 +
* {{Pkg|gstreamer0.10-ffmpeg}} - Libav-based plugin containing many decoders and encoders.
 +
* {{Pkg|gstreamer0.10-good-plugins}} - Good-quality plugins under LGPL license.
 +
* {{AUR|gstreamer0.10-good-plugins-slim}} - Good-quality plugins under LGPL license. GNOME and ASCII-art dependency removed.
 +
* {{Pkg|gstreamer0.10-ugly-plugins}} - Good-quality plugins that might pose distribution problems.
 +
* {{Pkg|gstreamer0.10-vaapi}} - VAAPI (Intel) support. See more at http://docs.gstreamer.com/display/GstSDK/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.
  
Then install ''gstreamer0.10-amrnb'' [http://aur.archlinux.org/packages.php?do_Details=1&ID=14152&O=0&L=0&C=0&K=gstreamer0.10-amrnb&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd] from AUR.
+
== Integration ==
  
 +
=== PulseAudio ===
  
 +
[[PulseAudio]] support is provided by ''good'' plugins packages.
  
 +
=== Lightweight desktops ===
  
=== Integration ===
+
To configure GStreamer, for example to change the audio output device, use ''gstreamer-properties'' from package {{Pkg|gnome-media}}. This can be run by each user or as root for all users. Per-user configuration files are under {{ic|$HOME/.gconf/system/gstreamer}} and the global files are in {{ic|/etc/gconf/gconf.xml.defaults}}.
gstreamer-pulse should easily get you [[pulseaudio]] support for all applications using gstreamer audio at once:
+
pacman -S gstreamer0.10-pulse
+
  
If you use KDE (and thus, [[phonon]]) you can easily install the gstreamer backend:
+
=== KDE / Phonon integration ===
pacman -S phonon-gstreamer
+
  
after that be sure gstreamer is the first engine on the list under SystemSettings --> Multimedia --> Backend
+
See [[Phonon]].
  
=== Media-Players ===
+
== Bugs ==
"Whaawmp" is a slim [[GTK+]] media-player like Totem ([[Gnome]]2 standard), that also uses gstreamer but has less dependencies - especially useful for [[Xfce]] that already uses gstreamer for its mixer. Whaawmp is available trough [[AUR]] as different versions, p.e.:
+
yaourt -S whaawmp-git
+
(git works best for me ATM, but that could change any time)
+
  
Amarok Gstreamer Plugin is (currently?) not available.
+
In case of error {{ic|GStreamer-CRITICAL **: gst_mini_object_unref: assertion
 +
`mini_object->refcount > 0' failed}} which usually occurs when recording video through recording software,
 +
install {{Pkg|gstreamer0.10-ffmpeg}} to fix.
  
== Links ==
+
== See also ==
* [[Allow multiple programs to play sound at once]]
+
 
 +
* [[Sound]]
 
* http://gstreamer.freedesktop.org/
 
* http://gstreamer.freedesktop.org/

Revision as of 13:20, 4 November 2013

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.

Installation

Install a GStreamer version from the official repositories:

To make GStreamer useful, install the plugins packages you require.

Current version plugins

Legacy version plugins

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 gnome-media. 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.

See also