Dynamisk adaptiv strömning över HTTP
Dynamisk adaptiv strömning över HTTP ( DASH ), även känd som MPEG-DASH , är en strömningsteknik för adaptiv bithastighet som möjliggör högkvalitativ strömning av medieinnehåll över Internet från konventionella HTTP -webbservrar. I likhet med Apples för HTTP Live Streaming (HLS) fungerar MPEG-DASH genom att dela upp innehållet i en sekvens av små segment, som serveras över HTTP . Ett tidigt HTTP-webbserverbaserat streamingsystem kallat SProxy utvecklades och distribuerades i Hewlett Packard Laboratories 2006. Det visade hur man använder HTTP-intervallförfrågningar för att dela upp innehållet i små segment. SProxy visar effektiviteten av segmentbaserad streaming, får bästa internetpenetration tack vare den breda utbyggnaden av brandväggar, och minskar onödig trafiköverföring om en användare väljer att avsluta streaming-sessionen tidigare innan den når slutet. Varje segment innehåller ett kort intervall av uppspelningstid för innehåll som kan vara många timmar långt, till exempel en film eller livesändning av ett sportevenemang. Innehållet görs tillgängligt med en mängd olika bithastigheter, dvs alternativa segment kodade med olika bithastigheter som täcker inriktade korta intervall av uppspelningstid. Medan innehållet spelas upp av en MPEG-DASH-klient använder klienten en algoritm för bithastighetsanpassning (ABR) för att automatiskt välja segmentet med högsta möjliga bithastighet som kan laddas ner i tid för uppspelning utan att orsaka stopp eller återuppspelning. buffra händelser i uppspelningen. Den nuvarande MPEG-DASH-referensklienten dash.js erbjuder både buffertbaserade (BOLA) och hybrid (DYNAMISK) bithastighetsanpassningsalgoritmer. Således kan en MPEG-DASH-klient sömlöst anpassa sig till förändrade nätverksförhållanden och ge högkvalitativ uppspelning med få stall eller återbuffringshändelser.
MPEG-DASH är den första adaptiva bithastighets-HTTP-baserade streaminglösningen som är en internationell standard. MPEG-DASH ska inte förväxlas med ett transportprotokoll – transportprotokollet som MPEG-DASH använder är TCP . MPEG-DASH använder befintlig HTTP-webbserverinfrastruktur som används för leverans av i princip allt World Wide Web-innehåll. Det tillåter enheter som internetanslutna tv-apparater, TV-set-top-boxar, stationära datorer, smartphones, surfplattor, etc. att konsumera multimediainnehåll (video, TV, radio, etc.) som levereras via Internet och klarar av varierande internetmottagningsförhållanden. Att standardisera en adaptiv streaminglösning är tänkt att ge marknaden förtroende för att lösningen kan användas för universell distribution, jämfört med liknande men mer proprietära lösningar som Smooth Streaming av Microsoft eller HDS av Adobe. Till skillnad från HDS, eller Smooth Streaming, är DASH codec -agnostic, vilket betyder att den kan använda innehåll som är kodat med vilket kodningsformat som helst , som H.265 , H.264 , VP9 , etc.
Standardisering
MPEG-DASH-tekniken utvecklades under MPEG . Arbetet med DASH startade 2010; den blev ett utkast till internationell standard i januari 2011 och en internationell standard i november 2011. MPEG-DASH-standarden publicerades i april 2012 men har reviderats 2019 och sedan en gång till 2022 som [1 ] .
DASH är en teknik relaterad till Adobe Systems HTTP Dynamic Streaming , Apple Inc. HTTP Live Streaming (HLS) och Microsoft Smooth Streaming . DASH är baserat på Adaptive HTTP-streaming (AHS) i 3GPP Release 9 och på HTTP Adaptive Streaming (HAS) i Open IPTV Forum Release 2. Som en del av deras samarbete med MPEG har 3GPP Release 10 antagit DASH (med specifika codecs och driftlägen ) för användning över trådlösa nätverk.
DASH Industry Forum ( DASH-IF ) främjar och katalyserar införandet av MPEG-DASH ytterligare och hjälper till att övergå från en specifikation till en riktig verksamhet. Den består av stora streaming- och mediaföretag, inklusive Microsoft, Netflix, Google, Ericsson, Samsung, Adobe, etc. och skapar riktlinjer för användningen av DASH för olika användningsfall i praktiken.
MPEG-DASH är integrerat i andra standarder, t.ex. MPEG-DASH stöds i HbbTV (från och med version 1.5).
Översikt
DASH är en adaptiv bithastighetsströmningsteknik där en multimediafil delas upp i ett eller flera segment och levereras till en klient med hjälp av HTTP . En mediepresentationsbeskrivning (MPD) beskriver segmentinformation (timing, URL , medieegenskaper som videoupplösning och bithastigheter ), och kan organiseras på olika sätt som SegmentList, SegmentTemplate, SegmentBase och SegmentTimeline, beroende på användningsfallet. Segment kan innehålla vilken mediadata som helst, men specifikationen ger specifik vägledning och format för användning med två typer av behållare: ISO-basmediafilformat (t.ex. MP4-filformat) eller MPEG-2 Transport Stream .
DASH är audio/video codec agnostiker. En eller flera representationer (dvs versioner med olika upplösningar eller bithastigheter) av multimediafiler är vanligtvis tillgängliga, och val kan göras baserat på nätverksförhållanden , enhetskapacitet och användarpreferenser, vilket möjliggör adaptiv bithastighetsströmning och rättvisa QoE (Quality of Experience) . DASH-standarden specificerar inte logiken för adaptiv bithastighetsströmning (ABR). DASH är också agnostiskt mot det underliggande applikationslagerprotokollet. Sålunda kan DASH användas med vilket protokoll som helst, t.ex. DASH över CCN .
Den 27 juli 2015 tillkännagav MPEG LA en efterlysning av MPEG-DASH-relaterade patent för att skapa en enda patentpool för denna teknologi. MPEG LA tillkännagav sin MPEG-DASH patentportföljlicens. MPEG-LA hävdar att de medföljande patenten är väsentliga för MPEG Dynamic Adaptive Streaming over HTTP-standarden.
Genomföranden
MPEG-DASH är tillgängligt på Android via ExoPlayer, på Samsung Smart TV 2012+, LG Smart TV 2012+, Sony TV 2012+, Philips NetTV 4.1+, Panasonic Viera 2013+ och Chromecast. YouTube såväl som Netflix stöder redan MPEG-DASH, och olika MPEG-DASH-spelare finns tillgängliga.
Även om MPEG-DASH inte direkt stöds i HTML5, finns det JavaScript-implementationer av MPEG-DASH som tillåter användning av MPEG-DASH i webbläsare som använder HTML5 Media Source Extensions (MSE). Det finns även JavaScript-implementationer som bitdash-spelaren som stöder DRM för MPEG-DASH med HTML5- krypterade mediatillägg . I kombination med WebGL möjliggör den HTML5-baserade adaptiva bithastighetsströmningen av MPEG-DASH även effektiv strömning av 360° video för live- och on-demand användningsfall.
Kunder och bibliotek
- HTML5- videospelaren med öppen källkod från Google för anslutningar med låg bandbredd.
- VLC Media Player 3.0 skickade ett nytt klientplugin för MP4/MPEG och liveströmmar.
- Det plattformsoberoende FOSS multimediaramverket GStreamer har stödt MPEG-DASH och WebM DASH sedan åtminstone v1.4.
- Biblioteket med öppen källkod libdash är plattformsoberoende och körs på mobila plattformar som Android, iOS, Windows Phone.
- bitmovin tillhandahåller bitdash MPEG-DASH-spelaren för HTML5 och Flash.
- VideoJS är en HTML5-videospelare med öppen källkod som stöder HLS, DASH, WebM och progressiv MP4 för live- och VOD-streaming.
- Clappr är en HTML5-videospelare med öppen källkod, använder HTMLVideoElement, stöder DASH, HLS, progressiv, annonsinfogning, dynamiska överlagringar, bild-i-bild
Servrar
Observera att inget specifikt stöd krävs från servern för DASH-innehåll, med undantag för Live Streaming.
- Wowza Streaming Engine har stöd för MPEG-DASH-uppspelning med DVR och tillhandahåller DASH Stream Target-publicering till Akamai.
- Brightcove Zencoder har stöd för MPEG-DASH transmuxing/transcoding.
- Elemental Technologies videobehandlingslösningar stöder DASH.
- Helix Universal Server har stöd för DASH i olika lägen.
- Nimble Streamer har live- och VOD MPEG-DASH-stöd. För VOD stöder den både H.265 och H.264 codecs
- Unified Origin stöder MPEG-DASH.
Tjänster
- Akamai CDN stöder DASH.
- Amazon CloudFront CDN stöder DASH.
- Amazon Web Services Elastic Transcoder har stöd för MPEG-DASH.
- Azure Media Services- plattformen har stöd för MPEG-DASH.
- Bitmovin tillhandahåller den molnbaserade omkodningstjänsten bitcodin.com som stöder MPEG-DASH.
- CloudFlare Stream stöder omkodning till DASH i VP9 innan den serveras till slutanvändaren.
- Cloudinary tillhandahåller automatisk omkodning med stöd för MPEG-DASH.
- Lumen CDN stöder DASH.
- Limelight Networks CDN stöder DASH.
- Project Shield CDN stöder DASH.
- Tata Communications CDN stöder DASH.
- DogalZeka MS2 Larmövervakning, omkodning och inspelning DASH in-/utgångsstöd. [ citat behövs ]
- Resi Live Stream Platform stöder intag, omkodning och CDN-leverans av MPEG-DASH. [ citat behövs ]
Innehållsgeneratorer
- ITECs DASHEncoder.
- MP4Box och dess multimediaramverk från GPAC på Télécom Paris
- dashcast från Télécom Paris stöder MPEG-DASH livestreaming
- MediaGoom MPEG-DASH-paketerare
- Bento4 opensource-verktyg och SDK
Övrig
- ITEC erbjuder en valideringstjänst för MPEG-DASH Media Presentation Description (MPD)-filer
- Flera DASH-datauppsättningar erbjuds av Institute of Information Technology (ITEC) vid Alpen-Adria University Klagenfurt, GPAC-gruppen vid Telecom ParisTech och Digital TV Labs.
- BBC har DASH-testströmmar, inklusive DASH över HTTP/2.
- Widevine DRM stöder DASH och krypterade mediatillägg .
- Mividi tillhandahåller mjukvaruverktyg för att analysera och övervaka live MPEG-DASH-strömmar.
Spelare och servrar som stöds
Kunder
Windows 10 brukade ha inbyggt stöd för DASH-strömning i EdgeHTML , en proprietär webbläsarmotor som användes i Microsoft Edge (nu kallad Edge Legacy) före övergången till den Chromium-baserade webbläsarmotorn Blink . Edge Legacy ingick i Windows 10 fram till version 2004. Den ersattes av Edge Chromium i version 20H2.
DASH-stöd på andra webbläsare och operativsystem är tillgängligt via Media Source Extensions .
Produkt | Produkttyp | Plattform | Live streaming | DRM-fri | Från och med version | Redaktör |
---|---|---|---|---|---|---|
Microsoft Edge | webbläsare | Windows 10 | Native support på Edge Legacy. Stöd via Media Source Extensions på Edge Chromium. |
Nej | Stöds inbyggt på Edge Legacys motor EdgeHTML från version 12 till 18. Inget inbyggt stöd på Edge Chromium från version 79 till idag. |
Microsoft |
VLC mediaspelare | Mediaspelare | Windows, macOS, Linux, Android, iOS, Windows Phone | Ja | Ja | v3.0 | VideoLAN |
MX-spelare | Mediaspelare | Android | Ja | Nej |
v1.9.18 Stödet för uppspelning av DASH-strömmar är för närvarande instabilt. |
J2 Interaktiv |
NexPlayer | SDK | HTML5 (MSE-webbläsare), Android (mobil, TV, STB), iOS, Chromecast, Windows, Mac, Linux, Tizen, WebOS | Ja | Nej | — | NexStreaming |
Dash.js | SDK | HTML5 (MSE-webbläsare) | Ja | Nej | — | Dash Industry Forum |
Shaka spelare | SDK | HTML5 (MSE-webbläsare) | Ja | Nej | — | |
Rx-spelare | SDK | HTML5 (MSE-webbläsare) | Ja | Nej | — | Canal+ |
bitdash | SDK | HTML5 (MSE-webbläsare), Android, LG TV, Samsung TV, Xbox One, Universal Windows Platform | Ja | Nej | — | Bitmovin |
PRESTOplay | SDK | HTML5 (MSE-webbläsare), Android, iOS, Windows, Mac | Ja | Nej | — | castLabs |
THEO-spelare | SDK | HTML5 (MSE-webbläsare), Android (mobil, TV, STB), iOS, Chromecast, Windows, Mac, Linux, Tizen, WebOS | Ja | Nej | — | THEO Technologies NV |
Viblast spelare | SDK | HTML5 (MSE-webbläsare), Android, iOS | Ja | Nej | — | Viblast Team |
Radiant Media Player | SDK | HTML5 (MSE-webbläsare), Android, iOS, Windows, Mac, Linux | Ja | Nej | — | Radiant Media Player |
Videogulär | SDK | HTML5 (MSE-webbläsare) | Ja | Nej | — | |
Vätskespelare | SDK | HTML5 (MSE-webbläsare) | Ja | Nej | — | ExoClick |
GStreamer | Multimedia ramverk | — | Ja | Nej | 1.4 | GStreamer Team |
Libdash | Multimedia ramverk | — | Ja | Nej | — | bitmovin, ITEC Team |
GPAC | Multimedia ramverk | — | Ja | Nej | — | Telecom ParisTech inc. |
Patentinnehavare
Organisation | Patent |
---|---|
Maxell | 15 |
Nederländska organisationen för tillämpad vetenskaplig forskning ( TNO) | 8 |
Nippon Telegraph and Telephone (NTT) | 5 |
Fraunhofer | 4 |
Columbia University | 4 |
Amotech Co., Ltd. | 2 |
AVerMedia Technologies, Inc. | 2 |
Cable Television Laboratories, Inc. | 2 |
Helios Streaming, LLC | 2 |
JVC Kenwood | 1 |
Lough Corrib Intellectual Property Limited | 1 |
externa länkar
- MPEG-DASH standard
- DASH prenumeration e-postlista
- DASH-forskning vid Alpen-Adria Universität Klagenfurt
- E-postlista för DASH-klientbiblioteket med öppen källkod libdash