Difference between revisions of "GStreamer"

From ArchWiki
Jump to: navigation, search
m (Hardware Acceleration)
(fixed section fragments (interactive))
(Tag: wiki-scripts)
 
(33 intermediate revisions by 19 users not shown)
Line 1: Line 1:
[[Category:Audio/Video]]
+
[[Category:Multimedia]]
 +
[[es:GStreamer]]
 +
[[ja:GStreamer]]
 +
[[zh-hans: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 ({{Pkg|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), macOS, 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.
  
 
== Installation ==
 
== Installation ==
Install the {{Pkg|gstreamer0.10-base}} package from the [[Official Repositories|official repositories]].
+
 
 +
[[Install]] the {{Pkg|gstreamer}} package.
 +
 
 +
To make GStreamer useful, install the plugins packages you require.
 +
 
 +
* {{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.
 +
* {{AUR|gst-plugin-libde265}} - {{AUR|libde265}} plugin (an open h.265 video codec implementation) for gstreamer.
  
 
== Integration ==
 
== Integration ==
GStreamer should already support [[PulseAudio]] for all applications since {{Ic|gstreamer-pulse}} is now a part of {{Pkg|gstreamer0.10-good-plugins}}.
 
  
To avoid lots of dependencies, you may choose to install {{AUR|gstreamer0.10-good-plugins-slim}} from the [[AUR]] instead.
+
=== PulseAudio ===
 +
 
 +
[[PulseAudio]] support is provided by the {{Pkg|gst-plugins-good}} package.
 +
 
 +
=== Lightweight desktops ===
 +
 
 +
To configure GStreamer, for example to change the audio output device, use ''gstreamer-properties'' from package {{AUR|gstreamer-properties}}. 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}}.
  
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''.
+
=== KDE / Phonon integration ===
  
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}}.
+
See [[Phonon]].
  
== Hardware Acceleration ==
+
=== Hardware acceleration ===
  
For hardware acceleration on VAAPI (Intel) hardware, install {{Pkg|gstreamer0.10-vaapi}}.
+
See [[Hardware video acceleration]].
  
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]
+
GStreamer will automatically detect and use the correct API [http://docs.gstreamer.com/display/GstSDK/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding]. Depending on your system you can [[install]]:
 +
* {{pkg|gstreamer-vaapi}} for VA-API support.
 +
* {{pkg|gst-plugins-bad}} for VDPAU support.
  
== Bugs ==
+
{{Note|Enabling VA-API support on computers with Intel GPUs may cause issues with thumbnailing of video files. See [[GNOME Files#Thumbnailing not working for video files]] for details.}}
  
In case of error {{ic|GStreamer-CRITICAL **: gst_mini_object_unref: assertion
+
== See also ==
`mini_object->refcount > 0' failed}} which usually occurs when recording video through recording software,
 
install {{ic|gstreamer0.10-ffmpeg}} to fix.
 
  
== Links ==
 
 
* [[Sound]]
 
* [[Sound]]
 
* http://gstreamer.freedesktop.org/
 
* http://gstreamer.freedesktop.org/

Latest revision as of 13:50, 30 March 2017

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), macOS, 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 gstreamer package.

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

Integration

PulseAudio

PulseAudio support is provided by the gst-plugins-good package.

Lightweight desktops

To configure GStreamer, for example to change the audio output device, use gstreamer-properties from package gstreamer-propertiesAUR. 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.

Hardware acceleration

See Hardware video acceleration.

GStreamer will automatically detect and use the correct API [1]. Depending on your system you can install:

Note: Enabling VA-API support on computers with Intel GPUs may cause issues with thumbnailing of video files. See GNOME Files#Thumbnailing not working for video files for details.

See also