ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

GStreamer

Fehlendes Makro

Das Makro „InArbeit“ konnte nicht gefunden werden.

Fehlendes Makro

Das Makro „Getestet“ konnte nicht gefunden werden.

 * [1]: [:Pakete installieren: Installation von Programmen]
##  * [2]: [:Paketquellen freischalten: Bearbeiten von Paketquellen]
 * [2]: [:Terminal: Ein Terminal öffnen]
##  * [4]: [:Editor: Einen Editor öffnen]
##  * [5]: [:Packprogramme: Archive entpacken]
 * [3]: [:Programme starten: Ein Programm starten]
##  * [7]: [:Programme kompilieren: Pakete aus dem Quellcode erstellen]
##  * [8]: [:Paketinstallation_DEB: Ein einzelnes Paket installieren]
##  * [9]: [:Rechte: Rechte für Dateien und Ordner ändern]
##  * [10]: [:Alternativen-System: Dem System Programm-Alternativen bereitstellen]
##  * [11]: [:Autostart: Automatischer Start von Programmen]
##  * [12]: [:Metapakete#Architektur: Restricted-Modules, Linux-Headers: welche Version?]
##  * [13]: [:Konfigurationseditor: Konfigurationseditor starten]
##  * [14]: [:Menüeditor: Programme zum Menü hinzufügen]
##  * [15]: [:Kernelmodule: Umgang mit Kernelmodulen (Treibern)]

GStreamer 🇬🇧 ist ein Multimediaframework, dass das Abspielen, Codieren, Decodieren etc. von Audio- und Videodateien ermöglicht.

Anders als der Name vermuten lässt ist ist GStreamer Desktop-unabhängig. Zwar ist GStreamer fester Bestandteil von Gnome seit der Gnome 2.2., funktioniert aber auch genauso problemlos mit anderen Desktop-Umgebungen wie z.B. KDE und auch . Viele Audio- und Videoplayer können die Fähigkeiten von Gstreamer nutzen, so z.B. Totem, Rhythmbox, Banshee und Juk. Amarok unterstützt in der Version 1.4 GStreamer leider nicht mehr.

Seit Ubuntu 6.06 wird unter Ubuntu das aktuelle GStreamer Framework 0.10.x eingesetzt.

Konzept von GStreamer

GStreamer ist prinzipiell modular aufgebaut und arbeitet dreistufig. Es gibt die Eingabe, welche GStreamer "Source" nennt, den Filter / Transformer (z.B. den Ogg Vorbis Decoder zum Abspielen von .ogg Audio Dateien) und die Ausgabe, welche GStreamer "Sink" nennt. Alle drei Stufen werden über Plug-Ins realisiert und sind somit grundsätzlich (beliebig) erweiterbar. Die Blöcke sind über sogenannte Pipelines verbunden.

Installation

GStreamer ist in der Standardinstallation von Ubuntu enthalten, kann ansonsten aber über das Paket

  • libgstreamer0.10.0

installiert werden [1]. Weiterhin ist noch das Paket

  • gstreamer-0.10-tools

sinnvoll.

Um Multimedia Dateien abzuspielen bzw. kodieren benötigt man noch ein entsprechendes Plug-in, welches den Decoder / Encoder enthält. Dies Plug-ins sind im Artikel Codecs beschrieben.

Nutzung

Nutzt man ein Audio- oder Videoprogramm, welches GStreamer im Backend einsetzt, so verwendet man GStreamer, ohne direkt auf GStreamer zuzugreifen. Durch den Aufruf des Hilfsprogramms gstreamer-properties [3] kann man jedoch die Vorgabe für die Eingabe (Source) und Ausgabe (Sink) getrennt für Audio und Video mittels eine graphischen Benutzeroberfläche auswählen.

Möchte man Wissen, welche Module / Plug-ins für GStreamer installiert sind, so ruft man im Terminal [2] folgenden Befehl auf:

gst-inspect-0.10

Je nach Anzahl der installierten Plug-Ins kann die Ausgabe unter Umständen sehr lang sein. Daher bietet sich an, die Ausgabe durch grep filtern zu lassen, z.B.:

gst-inspect-0.10 | grep src          # gibt alle installierten Sources aus
gst-inspect-0.10 | grep sink         # gibt alle installierten Sinks aus
gst-inspect-0.10 | grep encode       # gibt alle installierten Encoder aus
gst-inspect-0.10 | grep decode       # gibt alle installierten Decoder aus
gst-inspect-0.10 | grep play         # gibt alle installierten GStreamer-eigenen Player aus

Man kann GStreamer auch ohne graphische Benutzeroberflächen nutzen, also ohne die oben genannten Audio- /Videoplayer.

Dazu dient der Befehl gst-launch-0.10 mit welchem sich (fast) beliebige Pipelines bauen lassen.

Dazu ein einfaches Beispiel:

Es soll die Datei musik.oggwiedergegeben werden, welche im Verzeichnis /home/user/ liegt. Diese lässt sich mit folgendem Befehl realisieren [2]:

gst-launch-0.10 filesrc location=/home/user/musik.ogg ! vorbisdec ! alsasink

filesrc location= gibt dabei den Pfad inkl. Dateiname an, vorbisdec den zu benutzenden Decoder, alsasink die Ausgabe. Das Ausrufezeichen ! signalisiert GStreamer, das als nächstes ein neues Element der Pipeline definiert wird.

Kennt man den Codec der abzuspielenden Datei nicht (z.B. bei Videos), so kann man als Dekoder auch decodebin einsetzen. dann versucht GStreamer, anhand der Dateiheaders den Codec zu "erraten" und benutzt - sofern installiert - den passenden Decoder.

Geht es um das reine Abspielen von Audio- bzw. Videodateien, so kann man auch folgenden Befehl nutzen:

gst-launch-0.10 playbin uri=file:///pfad/zur/datei/music.ogg

Wichtig ist dabei, dass immer der volle Pfad angegeben wird (auch, wenn man sich im Verzeichnis der Datei befinden sollte und die Einleitung mit uri=file://

Die oben gegebenen Beispiele funktionieren von Prinzip genau so mit Videodateien.

Darüber hinaus lassen sich mit dem Befehl gst-launch-0.10 ... noch viele andere Dinge realiseren wie z.B. Videos eincodieren, Muxen / Demuxen, CDs rippen etc. Die Pipelines können dabei (fast) beliebig komplex sein. Einige Beispiele bietet hier auch die Manpage: zu gst-launch.

Im Vergleich zu "vollwertigen" Audio- / Videoplayern etc. ist GStreamer an sich natürlich unkomfortabeler, da gst-launch z.B. keine Parameter / Optionen für die Decoder / Encoder kennt. Allerdings sind die bei GStreamer mitgelieferten Werkzeuge auch eher zum Testen bzw. schneller Abspielen auf der Kommandozeile gedacht denn als "Konkurrenz" zu den "vollwertigen" Playern.

Dokumentation - 🇬🇧 die offizielle GStreamer Dokumentation Anwendungsliste - 🇬🇧 welche Anwendungen GStreamer nutzen Manpage - 🇬🇧 die Manpage zu gst-launch online und mit farbigen Hervorhebungen

Fehlendes Makro

Das Makro „Diskussion“ konnte nicht gefunden werden.


Diese Revision wurde am 31. August 2007 16:29 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Video