HLS

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 5 octombrie 2018; verificările necesită 8 modificări .

HLS  ( HTTP Live Streaming ) este un protocol de comunicare media streaming bazat pe HTTP , dezvoltat de Apple ca parte a software-ului QuickTime , Safari , MacOS și iOS . Lucrarea se bazează pe principiul împărțirii unui întreg flux în fragmente mici, descărcate secvenţial prin HTTP. Fluxul este continuu și teoretic poate fi infinit. La începutul sesiunii , o listă de redare este descărcată în format M3U, care conține metadate despre substream-urile existente [1] .

Apple a oficializat HLS ca „proiect de standard” [2] , iar în august 2017 versiunea 7 a documentului a fost publicată ca RFC 8216 [3] .

Deoarece cererile folosesc doar tranzacții HTTP standard, protocolul permite fluxului să traverseze firewall -uri sau servere proxy care permit traficul HTTP, spre deosebire de protocoalele bazate pe UDP , cum ar fi RTP . De asemenea, permite ca conținutul să fie servit prin servere HTTP de uz general ca sursă, precum și să fie livrat consumatorilor prin intermediul CDN -urilor existente [4] .

HLS oferă, de asemenea, un mecanism de criptare standard folosind AES și o metodă pentru livrarea în siguranță a cheilor prin HTTPS , fie prin autorizare pe dispozitiv, fie printr-un cookie HTTP . Împreună, acest lucru face posibilă crearea unor sisteme DRM simple .

Arhitectură

HTTP Live Streaming utilizează un server web standard pentru a distribui conținut audiovizual la cerere, dar necesită un software special pentru a permite transmiterea în timp real a conținutului.

Partea serverului Codifică și împachetează media primită într-un format potrivit pentru livrare. În plus, materialul este pregătit pentru distribuție prin segmentare. Media este segmentată în fragmente (bucăți) și un fișier index (listă de redare). Distributie Acționând ca un server web standard, serverul acceptă cereri de la clienți și oferă tot ce este necesar pentru redare. Client Solicită și descarcă toate fișierele, adunându-le astfel încât să ofere utilizatorului un flux continuu de videoclipuri. Software-ul client descarcă primul fișier index printr-o adresă URL și apoi mai multe fișiere media disponibile. Software-ul de redare adună totul într-o secvență pentru redare.

Există două moduri de funcționare a HLS - „la cerere” și transmisie în direct. În modul „la cerere”, lista de redare conține link-uri către toate fragmentele de la primul la ultimul. În modul de streaming live, lista de redare conține doar link-uri către ultimele fragmente, în plus, la apelurile ulterioare către lista de redare, fragmentele se vor schimba pentru a reflecta starea curentă a difuzării.

HLS oferă suport pentru rate de biți adaptive , această tehnică prevede prezența mai multor fluxuri disponibile simultan, fiecare dintre acestea putând conține același conținut, codificat la rate de biți diferite , precum și având alte caracteristici diferite. Pe măsură ce se redă, clientul poate alege dintr-un număr de fluxuri disponibile, permițând sesiunii să fie adaptată la condițiile de transmisie externă prin rețea.

La conferința WWDC 2016, Apple a anunțat [5] includerea adresei pe intervalul de octeți pentru fișierele MP4 fragmentate (fMP4), care permite redarea conținutului prin HLS fără a recurge la multiplexarea în fluxul de transport MPEG-2 . Experții din industrie au lăudat acest lucru ca fiind un mare pas către interoperabilitatea între HLS și MPEG-DASH [6] [7] .

La conferința WWDC 2019 a fost anunțată tehnologia Low Latency HLS [8] - dezvoltarea specificației HLS, care permite transmiterea datelor media cu latență scăzută. Noile funcții includ segmente parțiale, delta liste de redare, segmente returnate prin HTTP/2 și alte modificări.

Vezi și

Note

  1. Jordan, Larry Noțiunile de bază ale fluxului live HTTP . Blogul lui Larry . Larry Jordan & Associates (10 iunie 2013). Data accesului: 18 iunie 2013. Arhivat din original pe 23 august 2013.
  2. Pantos, R. HTTP Live Streaming . Internet Engineering Task Force (30 septembrie 2011). Data accesului: 18 iunie 2013. Arhivat din original la 1 aprilie 2016.
  3. RFC 8216 - HTTP Live Streaming . Preluat la 26 septembrie 2017. Arhivat din original la 28 ianuarie 2018.
  4. MPEG-DASH vs. Apple HLS vs. Streaming fluid vs. Adobe HDS (link indisponibil) . Preluat la 21 martie 2016. Arhivat din original la 18 septembrie 2015. 
  5. https://developer.apple.com/videos/play/wwdc2016/504/ Arhivat 18 august 2016 la Wayback Machine Ce este nou în fluxul live HTTP
  6. http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=111796 Arhivat 24 iunie 2016 la Wayback Machine HLS acceptă acum MP4 fragmentat, făcându-l compatibil cu DASH
  7. https://bitmovin.com/hls-news-wwdc-2016/ Arhivat 18 august 2016 la Wayback Machine WWDC16: HLS acceptă MP4 fragmentat - și devine compatibil MPEG-DASH!
  8. Prezentarea HLS cu latență scăzută - WWDC 2019 -  Videoclipuri . Dezvoltator Apple. Preluat la 17 iunie 2019. Arhivat din original la 17 iunie 2019.