HTTP Live Streaming

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

HTTP Live Streaming (známé také jako HLS) protokol pro streamování ohraničených či neohraničených multimediálních dat. Protokol byl představen společností Apple jako součást balíčku QuickTime, v době vydání verze mobilního operačního systému iOS 3 v létě 2009.

Jeho hlavní výhodou je možnost přizpůsobení datového toku aktuální propustnosti sítě. Všechny dotazy v rámci protokolu probíhají nad HTTP protokolem, proto je jej možné nasadit na již existující infrastruktury a bez problému jej nechat proudit přes firewally či proxy servery. Možné je také nasazení je do sítí CDN.

Společnost Apple tento protokol dokumentuje a v roce 2009 z této dokumentace vznikl Internet-Draft. Od té doby je protokol stále ve fázi draft, protože jej Apple stále upravuje.

Princip[editovat | editovat zdroj]

Základní princip HTTP Live Streaming protokolu je vytvoření několika různých kvalit požadovaného videa, které se na klientovi adaptivně načítají podle stavu sítě.

Zakódování audia a videa[editovat | editovat zdroj]

Videa se zakódují do MPEG-TS, který je určen pro přenos multimediálních dat. Každé takové video se následně rozdělí na malé segmenty, které umožňují například posouvání ve videu bez nutnosti čekání na stažení celého videa. Ve 4 verzi protokolu byla přidána možnost videa nechat v jednom souboru a namísto segmentování, což umožňuje rychlejším sítím menší zátěž na komunikaci. [1]

Proces zpracování videa pro HTTP Live Streaming

Apple dává k dispozici sadu nástrojů na zpracování videí, které však nejsou dostupné pro ostatní platformy. Na internetu lze ale dohledat různé open-source varianty některých nástrojů, třeba pro segmentaci. [2]

Na požádání vs. živě[editovat | editovat zdroj]

Videa je možné zakódovat buď celá v době když jsou již hotová, nebo je možné je zakódovávat přímo takzvaně na živo. Rozdíl je pak v tom, že seznam segmentů neobsahuje ukončení a neustále roste. Je tak možné vytvářet videozáznamy z živých přenosů, které jsou rovnou k dispozici jako videa na vyžádání.

Playlisty[editovat | editovat zdroj]

Každé video při segmentování vytváří seznam souborů, aby jej klient později mohl najít.

Ukázka smyslu playlistu pro HTTP Live Streming

Formát tohoto seznamu je odvozen od formátu M3U, s tím rozdílem, že je kódován v UTF8, což mu do názvu přidává koncovku M3U8. Každé video je pak opatřeno ještě jedním takzvaným variantním playlistem, který obsahuje odkazy na jednotlivé varianty videa.

Příklad playlistu pro jedno konkrétní video:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:10,
http://media.example.com/segment0.ts
#EXTINF:10,
http://media.example.com/segment1.ts
#EXTINF:10,
http://media.example.com/segment2.ts
#EXT-X-ENDLIST

V prvních verzích bylo možné mít videa v různých kvalitách a na různých server s cílem co největší dostupnosti. Od verze 4 je možné mít u videa různé jazykové mutace zvukové stopy či různé verze obrazu, což je užitečné v případě, že je video natáčeno z více než jedné kamery najednou.

Videa je také možné v přenosu zašifrovat a to pomocí AES-128 klíčů. Video pak působí jako náhodný shluk dat.

Klienti[editovat | editovat zdroj]

Mobilní[editovat | editovat zdroj]

Díky své adaptibilitě stavu sítě nachází protokol svoje uplatnění hlavně v mobilní sféře. Apple jej s uvedením iOS 3 integroval do mobilních zařízení iPhone a iPod Touch, o něco později pak přidal podporu i tabletu iPad. Všechny nativní aplikace pro iOS obsahující videa přesahující délku 10 minut či velikosti 5 MB musí využívat tento protokol, jinak může být aplikace zamítnuta v procesu přidání do App Store.[3] Na počátku roku 2011 přidala společnost Google podporu tohoto protokolu do platformy Android a to od verze 3 a výše.[4]

Desktopové[editovat | editovat zdroj]

Z aplikaci pro osobní počítače podporu protokolu obsahuje již zmíněný QuickTime. Dále je videa pomocí tohoto protokolu schopen přehrát multimediální přehrávač VLC či Roku Digital Video Player.

HTML[editovat | editovat zdroj]

Apple tento protokol také používá v aplikacích HTML 5, kde jej demonstrativně využívá ke sledování vlastních akcí.[5] V současné době je tedy v čistém HTML videu podporován pouze prohlížeč Safari. Pro ostatní prohlížeče existují různé varianty přehrávačů vytvořené v technologii Flash.

Reference[editovat | editovat zdroj]

  1. Internet-Draft HTTP Live Streaming 13
  2. m3u8 segmenter
  3. HTTP Live Streaming Overview
  4. Android 3 Honeycomb highlights
  5. Apple Events