Difference between revisions of "GStreamer"

From ArchWiki
Jump to: navigation, search
m (Integration: fix spacing)
m (Hardware Acceleration)
(36 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{stub}}
+
[[Category:Audio/Video]]
 
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 ==
 
== Installation ==
To play most media files using gstramer I recommend these steps:
+
Install the {{Pkg|gstreamer0.10-base}} package from the [[Official Repositories|official repositories]].
  
1) Open a terminal interface (ex. terminal or konsole) and become root by typing:
+
== Integration ==
su
+
GStreamer should already support [[PulseAudio]] for all applications since {{Ic|gstreamer-pulse}} is now a part of {{Pkg|gstreamer0.10-good-plugins}}.
  
2) Now type or copy this in to your terminal interface:
+
To avoid lots of dependencies, you may choose to install {{AUR|gstreamer0.10-good-plugins-slim}} from the [[AUR]] instead.
pacman -S gstreamer0.10 gstreamer0.10-good gstreamer0.10-bad gstreamer0.10-ugly gstreamer0.10-ffmpeg
+
  
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.
+
If you use [[KDE]] (and thus, {{Pkg|phonon}}), you can easily install the GStreamer backend: {{Pkg|phonon-gstreamer}}.  After installation, be sure gstreamer is the first engine on the list under ''SystemSettings --> Multimedia --> Backend''.
  
--[[User:BertiBoeller|BertiBoeller]] 15:30, 30 April 2010 (EDT) This command worked better for me: "pacman -Sy gstreamer0.10-plugins" as the previous install command didn't install some plugins needed for mp3 playback.
+
Lightweight desktop users: to configure GStreamer, for example to change the audio output device, use {{ic|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}}.
  
=== Integration ===
+
== Hardware Acceleration ==
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:
+
For hardware acceleration on VAAPI (Intel) hardware, install {{Pkg|gstreamer0.10-vaapi}}.
pacman -S phonon-gstreamer
+
  
after that be sure gstreamer is the first engine on the list under SystemSettings --> Multimedia --> Backend
+
More information on hardware acceleration can be found at [http://docs.gstreamer.com/display/GstSDK/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding Hardware Accelerated Video Decoding]
  
=== 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 {{ic|gstreamer0.10-ffmpeg}} to fix.
  
 
== Links ==
 
== Links ==
* [[Allow multiple programs to play sound at once]]
+
* [[Sound]]
 
* http://gstreamer.freedesktop.org/
 
* http://gstreamer.freedesktop.org/

Revision as of 00:07, 26 April 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 the gstreamer0.10-base package from the official repositories.

Integration

GStreamer should already support PulseAudio for all applications since gstreamer-pulse is now a part of gstreamer0.10-good-plugins.

To avoid lots of dependencies, you may choose to install gstreamer0.10-good-plugins-slimAUR from the AUR instead.

If you use KDE (and thus, phonon), you can easily install the GStreamer backend: phonon-gstreamer. After installation, be sure gstreamer is the first engine on the list under SystemSettings --> Multimedia --> Backend.

Lightweight desktop users: 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.

Hardware Acceleration

For hardware acceleration on VAAPI (Intel) hardware, install gstreamer0.10-vaapi.

More information on hardware acceleration can be found at Hardware Accelerated Video Decoding

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.

Links