Difference between revisions of "GStreamer"

From ArchWiki
Jump to navigation Jump to search
(update zh-cn/tw interlanguage links to zh-hans/hant, see Help talk:I18n#Chinese interlanguage links)
(Remove obsolete gstreamer0.10 info)
Line 11: Line 11:
 
== Installation ==
 
== Installation ==
  
Install a GStreamer version from the [[official repositories]]:
+
Install {{Pkg|gstreamer}} from the [[official repositories]].
* {{Pkg|gstreamer}} - Current version.
 
* {{Pkg|gstreamer0.10}} - Legacy version.
 
  
 
To make GStreamer useful, install the plugins packages you require.
 
To make GStreamer useful, install the plugins packages you require.
 
=== Current version plugins ===
 
  
 
* {{Pkg|gst-libav}} - Libav-based plugin containing many decoders and encoders.
 
* {{Pkg|gst-libav}} - Libav-based plugin containing many decoders and encoders.
Line 25: Line 21:
 
* {{Pkg|gst-plugins-ugly}} - Good-quality plugins that might pose distribution problems.
 
* {{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.
 
* {{AUR|gst-plugin-libde265}} - {{AUR|libde265}} plugin (an open h.265 video codec implementation) for gstreamer.
 
=== Legacy version plugins ===
 
 
{{Tip|Install all of them at once as {{Grp|gstreamer0.10-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.
 
* {{Pkg|gstreamer0.10-ugly-plugins}} - Good-quality plugins that might pose distribution problems.
 
  
 
== Integration ==
 
== Integration ==
Line 40: Line 26:
 
=== PulseAudio ===
 
=== PulseAudio ===
  
[[PulseAudio]] support is provided by ''good'' plugins packages.
+
[[PulseAudio]] support is provided by ''good'' plugins package.
  
 
=== Lightweight desktops ===
 
=== Lightweight desktops ===

Revision as of 17:51, 23 January 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 gstreamer from the official repositories.

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

Integration

PulseAudio

PulseAudio support is provided by good plugins 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.

Troubleshooting

assertion 'mini_object->refcount > 0' failed

If you get an GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object->refcount > 0' failed error (which usually occurs when recording video), you can install gstreamer0.10-ffmpeg to fix it.

See also