GStreamer

Inhaltsverzeichnis
  1. Grundlagen
  2. Nutzung
  3. Links

./gstreamer_logo.png GStreamer {en} ist ein Multimedia-Framework, welches das Abspielen, Kodieren, Dekodieren etc. von Audio- und Videodateien ermöglicht. Anders als der Name vermuten lässt, ist GStreamer desktopunabhängig.

Zwar ist GStreamer seit GNOME 2.2 ein fester Bestandteil dieser Desktop-Umgebung, funktioniert aber auch genauso problemlos mit anderen wie KDE oder Xfce. So nutzt z.B. Kubuntu zwar das KDE-Multimediaframework Phonon, greift standardmäßig aber auf GStreamer als Backend zurück. Auch viele Audio- und Videoplayer wie Totem, Parole, Rhythmbox, Banshee usw. nutzen die Fähigkeiten von GStreamer oder setzen dieses statt eigener Wiedergabe-Routinen ein.

Grundlagen

GStreamer ist prinzipiell modular aufgebaut und arbeitet meist dreistufig. Es gibt die Eingabe, welche GStreamer "Source" nennt, einen oder mehrere "Filter/Transformer" (z.B. einen Decoder zur Umwandlung von komprimierten Audiodateien) und die Ausgabe, die in GStreamer "Sink" heißt. Dieses Weiterleitungs-Konzept wird als "Pipeline" bezeichnet: Ein Signal einer Anwendung durchläuft diese und wird an den gewünschten Empfänger (z.B. die Soundkarte) übermittelt. Damit sind die Anwendungsmöglichkeiten sehr flexibel. Eine Übersicht bietet die ausführliche Dokumentation des Frameworks.

Nutzung

Unter Ubuntu wird GStreamer ab 13.04 in der Version 1.0 eingesetzt. Bis einschließlich Ubuntu 12.10 war GStreamer 0.10 vorinstalliert. Die beiden Versionen sind voneinander unabhängig und können damit parallel installiert werden. Zwar wird die ältere Version 0.10 nicht mehr weiterentwickelt, sie ist aber noch bis einschließlich Ubuntu 16.04 Bestandteil der offiziellen Paketquellen.

Daher befinden sich die konkreten Details in zwei getrennten Unterartikeln:

Problematisch können in der Praxis zwei Punkte sein:

  1. Eine Anwendung verlangt eine bestimmte Version von GStreamer. Dann ist diese u.U. noch zu installieren.

  2. Bedingt durch Syntax-Unterschiede können Pipelines der Version 0.10 nicht eins zu eins nach 1.0 (und umgekehrt) übernommen werden. Zwar existiert in der Version 1.0 ein Kompatibilitätsmodus, was aber nicht bedeutet, dass es immer klappen muss.