| Phonon | |
|---|---|
![]() |
|
| Entwickler: | Matthias Kretz u. a. |
| Aktuelle Version: | 4.2 |
| Betriebssystem: | Moderne POSIX-Systeme (BSD, Linux, Mac OS X, Solaris usw.), Windows |
| Kategorie: | KDE |
| Lizenz: | LGPL |
| Deutschsprachig: | — |
| phonon.kde.org | |
Phonon (früher provisorisch auch KDEMM) ist die Multimedia-API von KDE 4. Darüber hinaus verwendet die Firma Trolltech Phonon als Multimediaschnittstelle für Qt 4.4.[1]
Inhaltsverzeichnis |
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 Backends 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 konkurrierende 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 KDE 3 zum Einsatz kommt.
Hintergrund der Entwicklung von Phonon waren vor allen Dingen technische und personelle Probleme bei aRts. aRts war in der Anfangszeit 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 in KDE 3 nicht ersetzt werden, 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 Backend wechseln zu können, wenn dies nötig erscheinen sollte, 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.
Anfänglich wurde Phonon vor allen Dingen mit Hilfe eines Xine-Backends entwickelt [1]. Im Dezember 2007 steuerte Trolltech die Unterstützung für die drei Backends GStreamer, QuickTime und DirectX bei [2].