Login
Newsletter
Werbung

Do, 28. Oktober 2010, 16:16

Software::Multimedia

Die Zukunft von GStreamer

Das Multimedia-Projekt GStreamer plant größere Umbauten, die Ende 2011 zur Fertigstellung von Version 1.0 führen sollen.

GStreamer ist ein Multimedia-Framework, dessen relativ kleiner Kern mit Plugins erweitert werden kann. Die Plugins sorgen für Codecs, Container-Formate, Ein- und Ausgabe und Effekte und können miteinander kombiniert werden. GStreamer startete 1999 und damit fast gleichzeitig mit anderen Frameworks wie VLC, Ogle, MPlayer und FFmpeg, die ebenfalls noch aktiv sind. Vor dieser Zeit war die Multimedia-Situation unter Linux sehr eingeschränkt und viele Programme konnten nur mit wenigen Formaten umgehen.

Obwohl das Projekt bereits ziemlich ausgereift ist und seit fünf Jahren trotz einiger Weiterentwicklung stabil gehalten wird, hat es noch nicht die Version 1.0 erreicht. Version 0.10.0 erschien im Dezember 2005. Seither gab es 31 Updates, wobei die Quellcode- und Binärkompatibilität gewahrt wurde. Die Plugins wurden immer zahlreicher und umfangreicher, so dass GStreamer heute Video- und Audio-Abspieler, Streaming-Server, Audio- und Video-Editoren sowie Konvertierungs-, VoIP- und Videokonferenzprogramme unterstützt.

Auf der ersten GStreamer-Konferenz, die am 26. Oktober in Cambridge stattfand, gab der Entwickler Wim Taymans, der seit zehn Jahren bei GStreamer dabei ist, ein Übersicht über GStreamer, analysierte die Schwachpunkte und stellte einen Plan für die Entwicklung von GStreamer 1.0 vor.

Die Stärken von GStreamer sind demnach, dass es Anwendungen mit Threads voll unterstützt, stabil ist, erstklassige Streaming-Fähigkeiten besitzt, dynamische Konfiguration der Plugins unterstützt, mit vielen Programmiersprachen verwendet werden kann und gut zu debuggen ist. Die Unterstützung von Video-Editoren reift ebenfalls heran. Binärkompatibilität in den 0.10er-Versionen wurde dadurch erreicht, dass in einigen Datenstrukturen Felder für die zukünftige Benutzung reserviert wurden; einige davon sind inzwischen vollständig belegt, so dass die Idee an ihre Grenzen stößt.

Als Schwächen von GStreamer identifizierte Taymans zum einen, dass das Aushandeln von Formaten, Codecs und anderen Dingen zu langsam ist. Die Überarbeitung des entsprechenden Programmierschnittstellen könnte dies beschleunigen. Das größte Problem von GStreamer ist laut Taymans derzeit, dass es keine erweiterbaren Puffer-Metadaten gibt. Da Puffer mit den Medien-Daten zwischen den Modulen ausgetauscht werden, sollten auch entsprechende Informationen über die Beziehungen zwischen Puffern und ihre Inhalte verfügbar sein. Die Übergabe dieser Puffer an Beschleuniger-Hardware ist ebenfalls noch nicht allgemein gelöst. Außerdem können dynamische Änderungen der Kombination der Plugins zu Timing-Problemen und Verlust der Synchronisation führen, und es gibt einige weitere kleine Probleme.

Taymans' Plan zur weiteren Entwicklung ist, zunächst einmal den GStreamer-Kern weiter zu beschleunigen und die Plugins weiter zu verbessern. In den nächsten zwei bis drei Monaten will er die Anforderungen an eine neue GStreamer-Version sammeln. Im Januar 2011 soll mit der Entwicklung von GStreamer 0.11 begonnen werden. Ende 2011 soll diese Arbeit abgeschlossen sein, die dann als Version 1.0 veröffentlicht wird.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung