A HLS ( HTTP Live Streaming ) egy HTTP - alapú médiaadatfolyam - kommunikációs protokoll , amelyet az Apple fejlesztett ki a QuickTime , a Safari , a MacOS és az iOS szoftver részeként . A munka azon az elven alapszik, hogy egy teljes adatfolyamot apró töredékekre osztanak fel, amelyeket egymást követően HTTP-n keresztül töltenek le. Az áramlás folyamatos és elméletileg végtelen lehet. A munkamenet elején egy lejátszási lista töltődik le M3U formátumban, amely metaadatokat tartalmaz a meglévő alfolyamokról [1] .
Az Apple a HLS-t "szabványtervezetként" formalizálta [2] , és 2017 augusztusában a dokumentum 7. verziója RFC 8216 néven jelent meg [3] .
Mivel a kérések csak szabványos HTTP-tranzakciókat használnak, a protokoll lehetővé teszi, hogy a folyam áthaladjon olyan tűzfalakon vagy proxyszervereken , amelyek lehetővé teszik a HTTP-forgalmat, ellentétben az UDP -alapú protokollokkal , például az RTP -vel . Lehetővé teszi továbbá a tartalom általános célú HTTP-szervereken keresztüli forrásként történő kiszolgálását, valamint a meglévő CDN -eken keresztül a fogyasztókhoz való eljuttatását [4] .
A HLS szabványos titkosítási mechanizmust is biztosít az AES használatával , valamint egy módszert a kulcsok biztonságos kézbesítésére HTTPS -en keresztül, akár az eszközön történő engedélyezéssel , akár egy HTTP cookie -n keresztül . Ez együtt lehetővé teszi egyszerű DRM-rendszerek létrehozását .
A HTTP Live Streaming szabványos webszervert használ az audiovizuális tartalom igény szerinti terjesztésére, de speciális szoftver szükséges a tartalom valós idejű továbbításához.
Szerver rész Kódolja és becsomagolja a bejövő adathordozókat a kézbesítésre alkalmas formátumba. Továbbá az anyagot szegmentálással készítik elő elosztásra. A média töredékekre (darabokra) és indexfájlra (lejátszási listára) van szegmentálva.A HLS-nek két működési módja van - "igény szerint" és élő adás. „Igény szerint” módban a lejátszási lista linkeket tartalmaz az összes töredékre az elsőtől az utolsóig. Élő közvetítés módban a lejátszási lista csak az utolsó néhány töredékre mutató hivatkozásokat tartalmaz, ráadásul a lejátszási lista későbbi hívásaikor a töredékek megváltoznak, hogy tükrözzék az adás aktuális állapotát.
A HLS támogatja az adaptív bitsebességet , ez a technika több, egyidejűleg elérhető adatfolyam jelenlétét biztosítja, amelyek mindegyike tartalmazhatja ugyanazt a tartalmat, különböző bitsebességgel kódolva , valamint más eltérő jellemzőkkel is rendelkezhet. Játék közben a kliens számos elérhető adatfolyam közül választhat, lehetővé téve a munkamenet hozzáigazítását a hálózaton keresztüli külső átviteli feltételekhez.
A 2016-os WWDC konferencián az Apple bejelentette [5] , hogy a töredezett MP4 - fájlokhoz (fMP4) beépíti a bájttartomány-címzést, amely lehetővé teszi a tartalom lejátszását HLS-en keresztül anélkül, hogy multiplexelést kellene igénybe vennie az MPEG-2 szállítási adatfolyamban . Iparági szakértők ezt nagy lépésként értékelték a HLS és az MPEG-DASH közötti interoperabilitás felé [6] [7] .
A WWDC 2019 konferencián bejelentették a Low Latency HLS technológiát [8] - a HLS specifikáció kidolgozását, amely lehetővé teszi a médiaadatok alacsony késleltetésű továbbítását. Az új funkciók közé tartoznak a részleges szegmensek, a lejátszási listák deltái, a HTTP/2 -n keresztül visszatérő szegmensek és egyéb változtatások.