HLS

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 5 oktober 2018; kontroller kräver 8 redigeringar .

HLS  ( HTTP Live Streaming ) är ett HTTP -baserat kommunikationsprotokoll för mediastreaming utvecklat av Apple som en del av programvaran QuickTime , Safari , MacOS och iOS . Arbetet bygger på principen att dela upp en hel ström i små fragment, sekventiellt nedladdade via HTTP. Flödet är kontinuerligt och kan teoretiskt vara oändligt. I början av sessionen laddas en spellista ner i M3U-format som innehåller metadata om befintliga underströmmar [1] .

Apple formaliserade HLS som en "utkast till standard" [2] , och i augusti 2017 publicerades version 7 av dokumentet som RFC 8216 [3] .

Eftersom förfrågningar endast använder vanliga HTTP-transaktioner tillåter protokollet att flödet passerar brandväggar eller proxyservrar som tillåter HTTP-trafik, till skillnad från UDP -baserade protokoll som RTP . Det tillåter också att innehåll serveras via HTTP-servrar för allmänna ändamål som källa, samt att det levereras till konsumenter via befintliga CDN:er [4] .

HLS tillhandahåller också en standardkrypteringsmekanism som använder AES och en metod för säker leverans av nycklar över HTTPS , antingen genom auktorisering på enheten eller genom en HTTP-cookie . Tillsammans gör detta det möjligt att skapa enkla DRM-system .

Arkitektur

HTTP Live Streaming använder en standardwebbserver för att distribuera audiovisuellt innehåll på begäran, men kräver speciell programvara för att möjliggöra realtidsöverföring av innehåll.

Server del Kodar och lindar inkommande media i ett format som lämpar sig för leverans. Vidare förbereds materialet för distribution genom segmentering. Media segmenteras i fragment (bitar) och en indexfil (spellista). Distribution Servern fungerar som en vanlig webbserver och accepterar förfrågningar från klienter och levererar allt som behövs för uppspelning. Klient Begär och laddar ner alla filer, samlar ihop dem på ett sådant sätt att användaren får en kontinuerlig ström av video. Klientmjukvaran laddar ner den första indexfilen via en URL och sedan flera tillgängliga mediefiler. Uppspelningsmjukvaran samlar allt i en sekvens för uppspelning.

Det finns två driftsätt för HLS - "on demand" och livesändning. I läget "on demand" innehåller spellistan länkar till alla fragment från det första till det sista. I livestreaming-läge innehåller spellistan endast länkar till de senaste fragmenten, och vid efterföljande anrop till spellistan kommer fragmenten att ändras för att återspegla det aktuella tillståndet för sändningen.

HLS ger stöd för adaptiv bithastighet , denna teknik ger närvaron av flera samtidigt tillgängliga strömmar, som var och en kan innehålla samma innehåll, kodat med olika bithastigheter , samt ha andra olika egenskaper. När den spelar kan klienten välja bland ett antal tillgängliga strömmar, vilket gör att sessionen kan anpassas till de externa överföringsförhållandena över nätverket.

WWDC 2016-konferensen tillkännagav Apple [5] införandet av byte-range-adressering för fragmenterade MP4 - filer (fMP4), vilket gör det möjligt att spela upp innehåll via HLS utan att tillgripa multiplexering i MPEG-2-transportströmmen . Branschexperter har lovordat detta som ett stort steg mot interoperabilitet mellan HLS och MPEG-DASH [6] [7] .

På WWDC 2019-konferensen tillkännagavs Low Latency HLS-teknologin [8] - utvecklingen av HLS-specifikationen, som tillåter överföring av mediadata med låg latens. Nya funktioner inkluderar partiella segment, spellistdelta, returnerande segment via HTTP/2 och andra ändringar.

Se även

Anteckningar

  1. Jordan, Larry Grunderna i HTTP Live Streaming . Larrys blogg . Larry Jordan & Associates (10 juni 2013). Tillträdesdatum: 18 juni 2013. Arkiverad från originalet 23 augusti 2013.
  2. Pantos, R. HTTP Live Streaming . Internet Engineering Task Force (30 september 2011). Tillträdesdatum: 18 juni 2013. Arkiverad från originalet 1 april 2016.
  3. RFC 8216 - HTTP Live Streaming . Hämtad 26 september 2017. Arkiverad från originalet 28 januari 2018.
  4. MPEG-DASH vs. Apple HLS vs. Smidig streaming vs. Adobe HDS (inte tillgänglig länk) . Hämtad 21 mars 2016. Arkiverad från originalet 18 september 2015. 
  5. https://developer.apple.com/videos/play/wwdc2016/504/ Arkiverad 18 augusti 2016 på Wayback Machine Vad är nytt i HTTP Live Streaming
  6. http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=111796 Arkiverad 24 juni 2016 på Wayback Machine HLS stöder nu fragmenterad MP4, vilket gör den kompatibel med DASH
  7. https://bitmovin.com/hls-news-wwdc-2016/ Arkiverad 18 augusti 2016 på Wayback Machine WWDC16: HLS stöder Fragmented MP4 - och blir MPEG-DASH-kompatibel!
  8. ↑ Vi presenterar HLS med låg latens - WWDC 2019 -  Videor . Apple utvecklare. Hämtad 17 juni 2019. Arkiverad från originalet 17 juni 2019.