HLS ( HTTP Live Streaming ) er en HTTP - baseret mediestreamingkommunikationsprotokol udviklet af Apple som en del af QuickTime- , Safari- , MacOS- og iOS -softwaren . Arbejdet er baseret på princippet om at opdele en hel strøm i små fragmenter, sekventielt downloadet via HTTP. Strømmen er kontinuerlig og kan teoretisk være uendelig. I begyndelsen af sessionen downloades en afspilningsliste i M3U-format, der indeholder metadata om eksisterende understrømme [1] .
Apple formaliserede HLS som en "draft standard" [2] , og i august 2017 blev version 7 af dokumentet offentliggjort som RFC 8216 [3] .
Fordi anmodninger kun bruger standard HTTP-transaktioner, tillader protokollen strømmen at krydse firewalls eller proxyservere, der tillader HTTP-trafik igennem, i modsætning til UDP -baserede protokoller såsom RTP . Det tillader også, at indhold serveres via HTTP-servere til generelle formål som en kilde, såvel som at blive leveret til forbrugere via eksisterende CDN'er [4] .
HLS giver også en standard krypteringsmekanisme ved hjælp af AES og en metode til sikker levering af nøgler over HTTPS , enten gennem autorisation på enheden eller gennem en HTTP-cookie . Tilsammen gør dette det muligt at skabe simple DRM-systemer .
HTTP Live Streaming bruger en standard webserver til at distribuere audiovisuelt indhold efter behov, men kræver speciel software for at muliggøre realtidstransmission af indhold.
Server del Koder og pakker det indgående medie i et format, der er egnet til levering. Yderligere er materialet klargjort til distribution ved segmentering. Medier er segmenteret i fragmenter (bidder) og en indeksfil (afspilningsliste).Der er to driftsformer for HLS - "on demand" og live-udsendelse. I "on demand"-tilstanden indeholder afspilningslisten links til alle fragmenter fra det første til det sidste. I live streaming-tilstand indeholder afspilningslisten kun links til de sidste par fragmenter, og ved efterfølgende opkald til afspilningslisten vil fragmenterne desuden ændre sig for at afspejle den aktuelle tilstand af udsendelsen.
HLS giver understøttelse af adaptiv bitrate , denne teknik sørger for tilstedeværelsen af flere samtidigt tilgængelige streams, som hver kan indeholde det samme indhold, kodet ved forskellige bithastigheder , samt have andre forskellige karakteristika. Mens den spiller, kan klienten vælge mellem en række tilgængelige streams, hvilket gør det muligt at tilpasse sessionen til de eksterne transmissionsforhold over netværket.
På WWDC 2016-konferencen annoncerede Apple [5] medtagelsen af byte-range-adressering for fragmenterede MP4 - filer (fMP4), som tillader afspilning af indhold via HLS uden at ty til multipleksing i MPEG-2-transportstrømmen . Brancheeksperter har rost dette som et stort skridt hen imod interoperabilitet mellem HLS og MPEG-DASH [6] [7] .
På WWDC 2019-konferencen blev Low Latency HLS-teknologien annonceret [8] - udviklingen af HLS-specifikationen, som tillader transmission af mediedata med lav latens. Nye funktioner omfatter delvise segmenter, afspilningslistedeltaer, returnerende segmenter via HTTP/2 og andre ændringer.