Difference between revisions of "GStreamer"

From ArchWiki
Jump to navigation Jump to search
(See also: update links)
(Hardware video acceleration: NVDEC is still not working..)
 
(6 intermediate revisions by 4 users not shown)
Line 4: Line 4:
 
[[ja:GStreamer]]
 
[[ja:GStreamer]]
 
[[zh-hans:GStreamer]]
 
[[zh-hans:GStreamer]]
GStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.
+
[[Wikipedia: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.
 
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.
Line 21: Line 21:
 
* {{Pkg|gst-plugins-good}} - Good-quality plugins under LGPL license.
 
* {{Pkg|gst-plugins-good}} - Good-quality plugins under LGPL license.
 
* {{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}} - {{Pkg|libde265}} plugin (an open h.265 video codec implementation) for gstreamer.
  
 
== Integration ==
 
== Integration ==
Line 33: Line 33:
 
See [[Phonon]].
 
See [[Phonon]].
  
=== Hardware acceleration ===
+
=== Hardware video acceleration ===
  
 
See [[Hardware video acceleration]].
 
See [[Hardware video acceleration]].
Line 39: Line 39:
 
GStreamer will automatically detect and use the correct API [https://gstreamer.freedesktop.org/documentation/tutorials/playback/hardware-accelerated-video-decoding.html]. Depending on your system you can [[install]]:
 
GStreamer will automatically detect and use the correct API [https://gstreamer.freedesktop.org/documentation/tutorials/playback/hardware-accelerated-video-decoding.html]. Depending on your system you can [[install]]:
 
* {{pkg|gstreamer-vaapi}} for VA-API support.
 
* {{pkg|gstreamer-vaapi}} for VA-API support.
* {{pkg|gst-plugins-bad}} for VDPAU and NVDEC support. (NVDEC is currently broken, [https://bugzilla.gnome.org/show_bug.cgi?id=791724 fixed] in GStreamer 1.15)
+
* {{pkg|gst-plugins-bad}} for VDPAU support. (NVDEC/NVENC is [https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/gst-plugins-bad#n45 disabled in the Arch package])
 
 
{{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 ==
 
== See also ==
  
 
* [[Sound system]]
 
* [[Sound system]]
* https://gstreamer.freedesktop.org/
+
* [https://gstreamer.freedesktop.org/ website]

Latest revision as of 14:13, 9 May 2019

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. See official documentation for list of features in each plugin.

Integration

PulseAudio

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

KDE / Phonon integration

See Phonon.

Hardware video acceleration

See Hardware video acceleration.

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

See also