Phonon (KDE)

Aus New TuxBoxWiki

Wechseln zu: Navigation, Suche


Phonon (früher provisorisch auch KDEMM) ist die Multimedia-API von KDE 4. Darüber hinaus plant die Firma Trolltech, Phonon als Multimediaschnittstelle für Qt 4.4 zu nutzen. <ref name="Phonon-Trolltech">Matthias Kretz: Phonon-Trolltech (30. August 2007)</ref>

Inhaltsverzeichnis

[bearbeiten] Eigenschaften

Phonon bietet Entwicklern von KDE/Qt-Software eine einheitliche Schnittstelle (API) zur Entwicklung von Audio- und Video-Anwendungen. In der Hinsicht ist es vergleichbar mit den Schnittstellen von DirectShow unter Windows und QuickTime unter Mac OS X. Dabei wird, unter Beibehaltung der Binärkompatibilität, auf unterschiedliche Back-ends zurückgegriffen.

Hintergrund dieser Lösung ist, dass KDE-Programme seit KDE 4.0 und Qt-Programme im Allgemeinen auch unter Windows oder Mac OS X lauffähig sind, und dort andere Multimedia-Lösungen als unter Linux verwendet werden. Zusätzlich dazu stehen unter Linux selbst mehrere konkurrierenden Multimedia-Lösungen zur Verfügung (Gstreamer, Xine, etc.). Phonon abstrahiert diese Probleme und macht sie für Entwickler von KDE-Software unerheblich.

Phonon selbst ist dabei kein Soundserver wie aRts, das noch unter KDE3 zum Einsatz kommt.

[bearbeiten] Geschichte

Hintergrund der Entwicklung von Phonon waren vor allen Dingen technische und personelle Probleme bei aRts. aRts war in der Anfangszeit ein eine vielversprechende Lösung für viele damals existierende Audio-Probleme unter Linux, wurde aber über die Zeit nicht ausreichend weiterentwickelt, um mit der Entwicklung der Computer hin zu immer mehr Multimedia-Anwendungen Schritt zu halten. Als Resultat fehlten nach einigen Jahren diverse Funktionen und Möglichkeiten in aRts im Bereich der Audio-Unterstützung, Video-Unterstützung fehlte vollständig. aRts konnte aber nicht ersetzt werden in KDE 3, da dies die Binärkompatibilität verletzt hätte.

Die Entwickler von KDE kamen nach den Erfahrungen mit aRts zu dem Schluss, dass es nicht sinnvoll ist, sich auf ein einziges Projekt zu verlassen. Daher wurde Phonon als Hüllenklasse entwickelt, um auch innerhalb der Entwicklungslinie von KDE 4 das Back-end wechseln zu können, sollte dies nötig erscheinen, ohne dass vorhandene KDE-Anwendungen angepasst werden müssen. Hinzu kam das Problem, dass zum Zeitpunkt des Beginns der Entwicklung von KDE 4 auch keine einheitliche Lösung unter Linux verfügbar war: zwar wurde von vielen das Projekt GStreamer favorisiert, aber auch Xine oder MPlayer boten sich als umfangreiche Lösung an.

Da andere Lösungen wie der direkte Einsatz eines bestimmten Backends (wie z.B. GStreamer) ebenfalls einen Wrapper erfordert hätten, um sie an die Programmiergegebenheiten von KDE anzupassen, brachte die Phonon-Lösung nur einen vergleichsweise geringen Mehraufwand gegenüber einer Direktintegration mit sich.

[bearbeiten] Unterstützte Backends

[bearbeiten] Haupt-Backends

Anfänglich wurde Phonon vor allen Dingen mit Hilfe eines Xine-Backends entwickelt <ref name="Phonon-Trolltech">Matthias Kretz: Phonon-Trolltech (30. August 2007)</ref>. Dezember 2007 steuerte Trolltech die Unterstützung für die drei Backends GStreamer, QuickTime und DirectX bei <ref name="Trolltech-Gstreamer-Win-Mac">Trolltech and KDE Cooperate on Cross-Platform Multimedia Programming Framework, Pressemitteilung von Trolltech, 13. Dezember 2007</ref>.

[bearbeiten] Weitere Backends

  • NMM: Dieses Backend nutzt die Network-Integrated Multimedia Middleware und ist besonders auf Medienausgabe über Computer-Netzwerke ausgerichtet. KDE 4.0 wird dieses Backend nicht enthalten.<ref>http://www.nabble.com/FYI:-Phonon-NMM-backend-dropped-from-kdemultimedia-4.0-t4223965.html</ref>
  • avKode: Im Rahmen des Google Summer of Code 2006 wurde mit avKode ein Backend entwickelt, das auf FFmpeg aufsetzt. Es wird aktuell (Januar 2008) nicht weiter entwickelt.
  • Phonon-aRts: Phonon-aRts nutzt den aus KDE 3 bekannten Soundserver aRts. Es war geplant, dass dieser zumindest in der Anfangszeit von KDE 4 unterstützt werden sollte, um Kompatibilität mit KDE-3-Anwendungen zu gewährleisten. Er wird jedoch nicht weiter entwickelt.
  • Phonon-Fake: Dieses Backend stellt keine Audio-Ausgabe zur Verfügung und diente in der Anfagszeit lediglich dazu, Phonon zu entwickeln.

[bearbeiten] Quellen

[bearbeiten] Weblinks

Persönliche Werkzeuge