Digitales Video erhält immer mehr Einzug in das Internet. Fortschritte in der Video- und Audiocodierung machen Multimediaübertragungen über einen großen Bereich verschiedener Netzwerke möglich. Neue Techniken für drahtlose Netzwerke und kompaktere Geräte lassen die Vision des überall verfügbaren Internets immer greifbarer werden. Dies führt jedoch auch zu einer steigenden Heterogenität der Endgeräte. Insbesondere bei aufwendig codierten Daten wie z.B. Videoströmen spielt dies eine große Rolle, da solche Daten kaum oder gar nicht auf dem Endgerät an die Bedürfnisse des Gerätes sowie die Wünsche des Benutzers angepasst werden können. Aus diesem Grund sollte eine Anpassung der Datenströme bereits vor der Übertragung zum Endgerät stattfinden. Hierfür werden zwischen der Datenquelle (z.B. einem Videoserver) und dem Endgerät häufig Proxys eingesetzt, die die Anpassung entsprechend vornehmen können. Diese benötigen jedoch Informationen darüber, welche Anpassungen benutzt und in welcher Form diese angewandt werden sollen.
Typische Anwendungsfälle für dieses Verfahren sind Live-Übertragungen von Sportveranstaltungen (beispielsweise im Rahmen der Fußball-Weltmeisterschaft) die sowohl mit drahtlosen als auch mit drahtgebundenen Endgeräten verfolgt werden oder Überwachungskameras, welche nicht nur von einer Zentrale, sondern auch von Beamten im Streifendienst mit mobilen Geräten abgerufen werden können.
Im Rahmen dieser Diplomarbeit soll ein Konzept zur Übertragung der gerätespezifischen und nutzerabhängigen Anforderungen an einen Proxy entwickelt werden. Mit Hilfe dieser Informationen kann der Proxy dann eine auf Nutzer und Endgerät spezialisierte Anpassung vornehmen.
Status | Aktion/Meilenstein |
---|---|
Ende Recherchephase, Gliederung der Ausarbeitung | |
Vorläufige Version Parameterliste, erste Planung der Implementation | |
Fertigstellung dieser Informationsseite und des Zwischenvortrages, Einrichten der Arbeitsumgebung für die Implementationsphase | |
Beenden der Entwicklung der Profile, Festlegung Aufbau der Implementation | |
Fertigstellung des Übermittlungssystemes | |
(eingeschränkt) funktionsfähige Implementation | |
Beenden der Funktionstests, Fehlersuche abgeschlossen, Fertigstellen des Messaufbaus | |
Endgültige Implementation, Ende des Messungen | |
Fertigstellung der Ausarbeitung |
Abweichungen/Verschiebungen vom Plan sind möglich - es wird daher in unregelmäßigen Abständen aktualisiert.
Für die Steuerungs von Streaming-Servern wird oftmals das Real Time Streaming Protocol (RTSP) eingesetzt. Auch am IBR wird mit dem BEAVER -Projekt ein RTSP-basiertes Streaming-System geschaffen. Im Rahmen der Recherche wurde untersucht, ob sich die Signalisierung in dieses Protokoll integrieren läßt. Die Integration würde durch die einfache Erweiterungsfähigkeit unkompliziert, ohne großen Overhead möglich und für andere Server/Clients transparent sein.
Zur Beschreibung der Geräteeigenschaften und Benutzerwünsche wurde vom World Wide Web Consortium (W3C) Composite Capability/Preference Profile (CC/PP) geschaffen. Diese auf dem Resource Description Framework (RDF) basierende Sprache dient zur Beschreibung der Endgeräteeigenschaften und der installierten Software. CC/PP ermöglicht eine detaillierte Beschreibung erzeugt aber aufgrund der hohen Komplexität einen gewissen Overhead.
Bei UAPRof handelt es sich ebenso wie bei WURFL um ein auf den Einsatz im WAP-Umfeld zugeschnittenes Vokabular, welches zur Signalisierung im Multimedia-Umfeld erweitert werden müßte. Bei WURFL kommt erschwerend hinzu, dass die Datenbank von zentraler Stelle aus gewartet wird und die Latenzen bei der Einbindung neuer Geräte daher lang sind. CC/PP ermöglicht eine Definition eines eigenen Vokabulares ebenso wie die Verwendung bestehender Vokabulare wie UAPRof. Da UAProf für den Einsatz im Streaming-Umfeld nicht geeignet erscheint und sowieso erweitert werden müßte erfolgt eine Entscheidung zu Gunsten eines eigenen Vokabulares in CC/PP.
Zur Signalisierung kommt daher eine angepasste CC/PP-Variante zum Einsatz, deren Übermittlung in RTSP integriert wird. Die Endgeräteeigenschaften werden vor Beginn oder während des Streamings mittels einer angepaßten RTSP-Nachticht (SET_PARAMETER) an den Proxy übertragen.
Die Implementation wird dem Server/Proxy/Client-Paradigma entsprechen, wobei die Video-Ströme auf dem Server gespeichert sind oder aufgenommen werden, im Proxy gegebenenfalls auf die Wünsche des Benutzers und die Eigenschaften des Endgerätes angepaßt und im Client abgerufen werden.
Hardware | Software | Benutzerwünsche | Prioritäten |
---|---|---|---|
|
|
|
|
Zur Beschreibung der Eigenschaften der Endgeräte sowie der Benutzerwünsche wird ein auf CC/PP basierendes Profil erstellt, welches anhand des oben aufgezeigten Vokabulares eine Anpassung des Medienstromes an das Endgerät und den Benutzer ermöglicht.
CC/PP eine Implementation des Resource Description Framework (RDF) ist und dementsprechend als XML-Datei serialisiert werden kann, wird das Profil in einem solchen Format an den Proxy gesendet.
Es wird die RTSP-Nachricht "SET_PARAMTER" verwendet, um das Profil an den Proxy zu senden. Mit einem Profil kann der Client dann eine laufende oder eine noch nicht gestartete Streaming-Session an seine Bedürfnisse anpassen. Dieses Profil wird im "Body" der RTSP- Nachricht gesendet und mit dem Content-Type text/xml gekennzeichnet.
Ein einfaches Beispiel für das Aussehen dieser Nachricht findet sich hier. Das Beispiel definiert ein Testgerät und beschreibt dessen Display hinsichtlich der Auflösung. Damit wird eine Anpassung von Videoströmen auf die Größe des Displays des Zielgerätes ermöglicht. Das vorliegende Beispiel ist aufgrund der Tatsache, dass hier nur zwei Werte übermittelt werde, nicht sehr effektiv und enthält einen hohen Overhead, bei der Verwendung größerer Profile ist dieses jedoch weniger ausgeprägt.
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0