HLS

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 5. oktober 2018; checks kræver 8 redigeringer .

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 .

Arkitektur

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). Fordeling Serveren fungerer som en standard webserver og accepterer anmodninger fra klienter og leverer alt det nødvendige til afspilning. Klient Anmoder om og downloader alle filer og samler dem på en sådan måde, at brugeren får en kontinuerlig strøm af video. Klientsoftwaren downloader den første indeksfil via en URL og derefter flere tilgængelige mediefiler. Afspilningssoftwaren samler alt i en sekvens til afspilning.

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.

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.

Se også

Noter

  1. Jordan, Larry Grundlæggende om HTTP Live Streaming . Larrys blog . Larry Jordan & Associates (10. juni 2013). Dato for adgang: 18. juni 2013. Arkiveret fra originalen 23. august 2013.
  2. Pantos, R. HTTP Live Streaming . Internet Engineering Task Force (30. september 2011). Dato for adgang: 18. juni 2013. Arkiveret fra originalen 1. april 2016.
  3. RFC 8216 - HTTP Live Streaming . Hentet 26. september 2017. Arkiveret fra originalen 28. januar 2018.
  4. MPEG-DASH vs. Apple HLS vs. Glat streaming vs. Adobe HDS (utilgængeligt link) . Hentet 21. marts 2016. Arkiveret fra originalen 18. september 2015. 
  5. https://developer.apple.com/videos/play/wwdc2016/504/ Arkiveret 18. august 2016 på Wayback Machine Hvad er nyt i HTTP Live Streaming
  6. http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=111796 Arkiveret 24. juni 2016 på Wayback Machine HLS understøtter nu fragmenteret MP4, hvilket gør den kompatibel med DASH
  7. https://bitmovin.com/hls-news-wwdc-2016/ Arkiveret 18. august 2016 på Wayback Machine WWDC16: HLS understøtter Fragmented MP4 - og bliver MPEG-DASH kompatibel!
  8. Introduktion af HLS med lav forsinkelse - WWDC 2019 -  Videoer . Apple udvikler. Hentet 17. juni 2019. Arkiveret fra originalen 17. juni 2019.