Dynamic Adaptive Streaming over HTTP (DASH), auch bekannt alsMPEG-DASH, ermöglicht qualitativ hochwertigesStreaming von Medieninhalten über dasInternet durch herkömmlicheHTTP-Webserver.
Ähnlich Apples Lösung, demHTTP Live Streaming (HLS), funktioniert MPEG-DASH, indem die Inhalte in eine Folge kleiner HTTP-basierter Datei-Segmente zerlegt werden, wobei jedes Segment einen kurzen Abschnitt der Gesamtspielzeit eines Medienobjektes von potenziell mehreren Stunden Dauer enthält, etwa 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 den Zugriff auf per Internet gelieferte Multimedia-Inhalte (Video, TV, Radio) und dabei dank deradaptiven 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 wieHLS von Apple,Smooth Streaming von Microsoft oderHDS von Adobe.
DASH wurde von derMPEG entwickelt. Die Arbeit an DASH begann 2010, und im Januar 2011 wurde es offizieller Entwurf für einen internationalen Standard, der im November 2011 als Standard verabschiedet wurde.[1][2] Der DASH-Standard wurde im April 2012 als ISO/IEC 23009-1:2012 veröffentlicht.[3]
DASH ist technisch verwandt mitAdobesHTTP Dynamic Streaming,ApplesHTTP Live Streaming (HLS) undMicrosoftsSmooth Streaming.[4] DASH basiert auf Adaptive HTTP streaming (AHS) aus3GPP Release 9 und auf HTTP Adaptive Streaming (HAS) aus demOpen 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]
DASH ist eine Technik fürBitraten-adaptives Streaming, bei der eineMultimedia-Datei in ein oder mehrere Segmente aufgeteilt ist und überHTTP an einen Client geliefert wird.[7]EineMedia Presentation Description (MPD) beschreibt Segment-Informationen (Zeitablauf,URL, Medieneigenschaften wie Video-Auflösung undBitraten).[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, demMPEG-4 Dateiformat oderMPEG-2-Transportstrom.[4]
DASH ist (Audio-/Video-)Codec-agnostisch. Multimedia-Dateien sind typischerweise in mehreren Repräsentationen verfügbar (also Versionen mit unterschiedlichen Auflösungen oder Bitraten). Anhand von Verbindungssituation, Gerätefähigkeiten und Benutzereinstellungen kann eine Auswahl vorgenommen werden, wodurch Bitraten-adaptives Streaming[7] undQuality of Experience (QoE)-Fairness erreicht werden.[9]
DASH ist auch bezüglich des darunterliegenden Protokolls auf der Anwendungsschicht agnostisch. Dadurch kann DASH mit beliebigen Protokollen genutzt werden, wie bei DASH über CCN.[10]
Client-Implementierungen für Desktoprechner sind das DASH-VLC-Modul vom Institute of Information Technology (ITEC) derAlpen-Adria-Universität Klagenfurt,[11] die quelloffene DASH-Client-Bibliotheklibdash der österreichischen Firmabitmovin,[12] das Multimedia-Framework der GPAC-Gruppe derTélécom ParisTech und der Client der deutschen FirmacastLabs.[13]
Die Erstellung von Inhalten ist mit derMP4Box von GPAC möglich[13] oder mit dem Wrapper-Werkzeug „DASHEncoder“ (ebenfalls vom ITEC).[11][14] Auch das Open-Source-ProjektFFMPEG bietet die Möglichkeit, DASH-Streams nach ISO/IEC 23009-1:2014 zu erstellen.[15]
Die erste DASH-Server- und Android- (2.2 bis 4.x) SDK-Player-Implementierung wurde vonRealNetworks auf der IBC 2012 mit demHelix Universal Server und demHelix 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). Die quelloffene Bibliotheklibdash[12] ist plattformunabhängig und daher auf Mobil-Plattformen wie Android, iOS und Windows Phone lauffähig.
Googles YouTube experimentierte mit serverseitiger Unterstützung für MPEG-DASH.[16]Google Chrome unterstützt es auf der Client-Seite.[17] VomInstitute of Information Technology (ITEC) der Alpen-Adria-Universität Klagenfurt und der GPAC-Gruppe derTélécom ParisTech[13] werden mehrere DASH-Datensätze angeboten.[14][18] Das ITEC bietet auch einen Überprüfungsdienst für MPEG-DASH-Media-Presentation-Description-Dateien (MPD).[11]
Im Web ist DASH mittels derHTML5 Media Source Extentions (MSE)[19] sowie JavaScript-basierten Playern möglich. Hierzu gibt es Open-Source-Projekte wie z. B. dash.js[20] vom DASH Industry Forum, aber auch Produkte wiebitdash[21] (für HTML5 mit JavaScript als auch Flash, falls es keine Unterstützung der HTML5 MSE gibt).