HLS ( HTTP Live Streaming ) je komunikační protokol pro streamování médií založený na HTTP vyvinutý společností Apple jako součást softwaru QuickTime , Safari , MacOS a iOS . Práce je založena na principu rozdělení celého streamu na malé fragmenty, postupně stahované přes HTTP. Tok je nepřetržitý a teoreticky může být nekonečný. Na začátku relace se stáhne seznam skladeb ve formátu M3U, který obsahuje metadata o existujících dílčích tocích [1] .
Apple formalizoval HLS jako „návrh standardu“ [2] a v srpnu 2017 byla verze 7 dokumentu publikována jako RFC 8216 [3] .
Protože požadavky používají pouze standardní transakce HTTP, protokol umožňuje tok procházet přes firewally nebo proxy servery , které umožňují provoz HTTP, na rozdíl od protokolů založených na UDP , jako je RTP . Umožňuje také poskytování obsahu prostřednictvím serverů HTTP pro obecné účely jako zdroje a také jeho doručování spotřebitelům prostřednictvím stávajících sítí CDN [4] .
HLS také poskytuje standardní šifrovací mechanismus využívající AES a metodu pro bezpečné doručování klíčů přes HTTPS , buď prostřednictvím autorizace na zařízení nebo prostřednictvím HTTP cookie . Společně to umožňuje vytvářet jednoduché systémy DRM .
HTTP Live Streaming používá standardní webový server k distribuci audiovizuálního obsahu na vyžádání, ale vyžaduje speciální software, který umožňuje přenos obsahu v reálném čase.
Serverová část Zakóduje a zabalí příchozí média do formátu vhodného pro doručení. Dále je materiál připraven k distribuci segmentací. Média jsou rozdělena na fragmenty (kusy) a indexový soubor (playlist).Existují dva režimy provozu HLS – „na vyžádání“ a živé vysílání. V režimu „na vyžádání“ seznam skladeb obsahuje odkazy na všechny fragmenty od prvního po poslední. V režimu živého vysílání obsahuje seznam skladeb pouze odkazy na několik posledních fragmentů, navíc při dalších voláních seznamu se fragmenty změní tak, aby odrážely aktuální stav vysílání.
HLS poskytuje podporu pro adaptivní datový tok , tato technika zajišťuje přítomnost několika současně dostupných streamů, z nichž každý může obsahovat stejný obsah, zakódovaný při různých bitratech , a také s jinými odlišnými charakteristikami. Během přehrávání si klient může vybrat z řady dostupných streamů, což umožňuje přizpůsobení relace externím podmínkám přenosu po síti.
Na konferenci WWDC 2016 společnost Apple oznámila [5] zahrnutí adresování bajtového rozsahu pro fragmentované soubory MP4 (fMP4), které umožňuje přehrávání obsahu přes HLS bez použití multiplexování v transportním toku MPEG-2 . Odborníci to ocenili jako velký krok směrem k interoperabilitě mezi HLS a MPEG-DASH [6] [7] .
Na konferenci WWDC 2019 byla oznámena technologie Low Latency HLS [8] - vývoj specifikace HLS, která umožňuje přenos mediálních dat s nízkou latencí. Mezi nové funkce patří částečné segmenty, delty playlistů, vracení segmentů přes HTTP/2 a další změny.