Dynamic Adaptive Streaming over HTTP
Dynamic Adaptive Streaming over HTTP (DASH), auch bekannt als MPEG-DASH, ermöglicht qualitativ hochwertiges Streaming von Medieninhalten über das Internet durch herkömmliche HTTP-Webserver. Ähnlich Apples Lösung, dem HTTP Live Streaming (HLS), funktioniert MPEG-DASH, indem die Inhalte in eine Folge kleiner HTTP-basierter Datei-Segmente zerlegt wird, wobei jedes Segment einen kurzen Abschnitt der Gesamtspielzeit eines Medienobjektes von potenziell mehreren Stunden Dauer enthält, wie beispielsweise eines Films oder der Live-Übertragung eines Sport-Ereignisses. Die Inhalte werden in einer Auswahl verschiedener Bitraten vorgehalten, also alternative, inhaltlich übereinstimmende Abschnitte, die mit unterschiedlichen Bitraten kodiert sind. Wenn Inhalte von einem MPEG-DASH-Client wiedergegeben werden, wählt dieser für den nächsten Abschnitt aus den angebotenen Alternativen automatisch die für die derzeitigen Verbindungsbedingungen passende aus. Der Client wählt das Segment mit der höchstmöglichen Bitrate aus, das in der verfügbaren Zeit bis zur Wiedergabe übertragen werden kann, ohne dass die Wiedergabe stockt und erst wieder gepuffert werden muss. Dadurch kann sich ein DASH-Client nahtlos an veränderliche Netzwerkbedingungen anpassen und hochwertige, flüssige Wiedergabe gewährleisten.
MPEG-DASH ist die erste Bitraten-adaptive HTTP-basierte Streaming-Lösung, die ein internationaler Standard wurde.[1]
MPEG-DASH setzt die weit verbreitete HTTP-Webserver-Infrastruktur ein, die zur Auslieferung von Internet-Inhalten jeglicher Art im Einsatz ist. Es ermöglicht Geräten wie Fernsehern mit Internetzugang, TV-Beistellgeräten, Desktop-Rechnern, Smartphones, Tablet-Rechnern etc. den Zugriff auf per Internet gelieferte Multimedia-Inhalte (Video, TV, Radio...) und dabei dank der adaptiven Streaming-Technik mit veränderlichen Empfangsbedingungen zurechtzukommen. Das Standardisieren einer Lösung für adaptives Streaming soll auf dem Markt für Vertrauen in die universelle Einsetzbarkeit sorgen, gegenüber ähnlichen, stärker Anbieter-abhängigen Lösungen wie HLS von Apple, Smooth Streaming von Microsoft oder HDS von Adobe.
Standardisierung
DASH wurde von der MPEG entwickelt. Arbeit an DASH begann 2010; im Januar 2011 wurde es ein offizieller Entwurf für einen internationalen Standard und im November 2011 als Standard verabschiedet.[1][2][3] Der DASH-Standard wurde im April 2012 als ISO/IEC 23009-1:2012 veröffentlicht.
DASH ist technisch verwandt mit Adobe Systems' HTTP Dynamic Streaming, Apples HTTP Live Streaming (HLS) und Microsofts Smooth Streaming.[4] DASH basiert auf Adaptive HTTP streaming (AHS) aus 3GPP Release 9 und auf HTTP Adaptive Streaming (HAS) aus dem Open IPTV Forum Release 2.[5][6] Als Teil ihrer Zusammenarbeit mit MPEG übernahm 3GPP Release 10 DASH (mit bestimmten Codecs und Betriebs-Modi) für die Nutzung über drahtlose Netzwerke.[5]
Überblick
DASH ist eine Technik für Bitraten-adaptives Streaming, bei der eine Multimedia-Datei in ein oder mehrere Segmente aufgeteilt ist und über HTTP an einen Client geliefert wird.[7] Eine media presentation description (MPD) beschreibt Segment-Informationen (Zeitablauf, URL, Medieneigenschaften wie Video-Auflösung und Bitraten).[8] Segmente können beliebige Mediendaten enthalten, wobei die Spezifikation bestimmte Empfehlungen und Formate für die Nutzung mit zwei Arten von Container-Formaten angibt, dem MPEG-4-Dateiformat oder MPEG-2-Transportstrom.[4]
DASH ist (Audio-/Video-)Codec-agnostisch. Von Multimedia-Dateien sind typischerweise eine oder mehrere Repräsentationen verfügbar (also Versionen mit unterschiedlichen Auflösungen oder Bitraten) und es kann anhand von Verbindungssituation, Geräte-Fähigkeiten und Benutzereinstellungen eine Auswahl vorgenommen werden und dadurch Bitraten-adaptives Streaming[9] und Quality of experience fairness erreicht werden.[10] DASH ist auch agnostisch bezüglich des darunterliegenden Protokolles auf der Anwendungsschicht. Dadurch kann DASH mit beliebigen Protokollen genutzt werden, wie beispielsweise bei DASH über CCN.[11]
Implementierungen
Die ersten Client-Implementierungen für Desktop-Rechner sind das DASH-VLC-Modul vom Institute of Information Technology (ITEC) der Alpen-Adria-Universität Klagenfurt,[12][13] die quelloffene DASH-Client-Bibliothek libdash[14] und das Multimedia-Framework der GPAC-Gruppe der Télécom ParisTech.[15] Erstellung von Inhalten ist mit MP4Box von GPAC möglich[15] oder mit dem Wrapper-Werkzeug „DASHEncoder“ (ebenfalls vom ITEC).[12][16] Die erste DASH-Server- und Android- (2.2 bis 4.x) SDK-Player-Implementierung wurde von RealNetworks auf der IBC 2012 mit dem Helix Universal Server und dem Helix SDK für Android vorgeführt, als Vorführung der ab November 2012 kommerziell erhältlichen Auslieferungs- und Wiedergabe-Formate mit MPEG2-TS (Smart TV) und ISO BMFF (MP4 Smartphone / Tablet). Siehe Helix Universal Server für weitere Informationen. Die quelloffene Bibliothek libdash[14] ist plattformunabhängig und daher auch auf Mobile-Plattformen wie Android, iOS, Windows Phone etc. lauffähig.
Googles YouTube experimentierte mit Server-seitiger Unterstützung für MPEG-DASH.[17] Google Chrome unterstützt es auf der Client-Seite.[18]
Vom Institute of Information Technology (ITEC) der Alpen-Adria-Universität Klagenfurt und der GPAC-Gruppe der Télécom ParisTech[15] werden mehrere DASH-Datensätze angeboten.[16][19]
Das ITEC bietet auch einen Überprüfungsdienst für MPEG-DASH-Media-Presentation-Description-Dateien (MPD).[12]
Das deutsche Unternehmen castLabs GmbH bietet Android- und iOS-Player und Player-SDKs an, die MPEG-DASH mit vielen Funktionen unterstützt wie dynamischen Anpassungsheuristiken, Puffernutzungsoptimierung, on-the-fly representation selection, DTS, Unterstützung für Audio in Dolby- und Fraunhofer-5.1-Formaten und CFF-TT-Untertitel zusammen mit Unterstützung für alle bedeutenden DRM-Systeme, sichere Medien-Entschlüsselung in Hardware und Anwendungshärtung.
Weblinks
- MPEG-DASH-Standard
- DASH-Mailingliste
- DASH-Forschung der Alpen-Adria Universität Klagenfurt
- Mailingliste der quelloffenen DASH-Client-Bibliothek libdash
- DASH Industry Forum – MPEG-DASH-Werbegruppe
Quellen
- ↑ a b MPEG ratifies its draft standard for DASH, MPEG, 2. Dezember 2011. Abgerufen am 26. August 2012
- ↑ HTTP streaming of MPEG media - blog entry
- ↑ ISO/IEC DIS 23009-1.2 Dynamic adaptive streaming over HTTP (DASH)
- ↑ a b Updates on DASH - blog entry
- ↑ a b ETSI 3GPP 3GPP TS 26.247; Transparent end-to-end packet-switched streaming service (PSS); Progressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)
- ↑ Open IPTV Forum Solution Specification Volume 2a - HTTP Adaptive Streaming V2.1
- ↑ Overview of Dynamic Adaptive Streaming over HTTP (DASH)
- ↑ DASH Overview by C. Timmerer and C. Mueller
- ↑ 3GPP Dynamic Adaptive Streaming over HTTP - Standards and Design Principles by T. Stockhammer
- ↑ http://scholar.google.com/citations?view_op=view_citation&citation_for_view=ZDbuOE4AAAAJ:hqOjcs7Dif8C
- ↑ Y. Liu, J. Geurts, J.-P. Point, S. Lederer, B. Rainer, C. Mueller, C. Timmerer and H. Hellwagner, “Dynamic Adaptive Streaming over CCN: A Caching and Overhead Analysis”, In Proceedings of the IEEE International Conference on Communication (ICC) 2013 – Next-Generation Networking Symposium, Budapest, Hungary, June, 2013
- ↑ a b c DASH at ITEC, VLC Plugin, DASHEncoder and Dataset by C. Mueller, S. Lederer, C. Timmerer
- ↑ C. Müller and C. Timmerer, “A VLC Media Player Plugin enabling Dynamic Adaptive Streaming over HTTP”, In Proceedings of the ACM Multimedia 2011, Scottsdale, Arizona, November 28, 2011.
- ↑ a b libdash: Open-source DASH client library by bitmovin
- ↑ a b c GPAC Télécom ParisTech
- ↑ a b S. Lederer, C. Mueller and C. Timmerer, “Dynamic Adaptive Streaming over HTTP Dataset”, In Proceedings of the ACM Multimedia Systems Conference 2012, Chapel Hill, North Carolina, February 22-24, 2012.
- ↑ Streaming Media and RTOS: MPEG-DASH Support in Youtube
- ↑ Chromium Issue 109652: Support MPEG-DASH
- ↑ S. Lederer, C. Mueller, C. Timmerer, C. Concolato, J. Le Feuvre and K. Fliegel, Distributed DASH Dataset, In Proceedings of the ACM Conference on Multimedia Systems (ACM MMSys) 2013, Oslo, Norway, 2013.