IGMP vs. RTSP vs. HLS: Den ultimate guiden til videostreamingprotokoller

I den komplekse verdenen av videooverføring og nettverksadministrasjon “flyter” ikke dataene bare; de blir nøye koordinert. Tre forkortelser dukker ofte opp når man snakker om hvordan medier beveger seg fra kilde til seer: IGMP, RTSP, og HLS.

Selv om alle tre har med medier og nettverk å gjøre, opererer de på ulike nivåer og tjener svært forskjellige formål – alt fra å administrere båndbredde i et lokalt nettverk til å levere Netflix til smarttelefonen din.

Denne veiledningen gir en oversikt over mekanismene, bruksområdene og de særskilte egenskapene til hvert enkelt protokoll.

IGMP vs. RTSP vs. HLS

1. IGMP: Multicast-gatekeeperen

Internet Group Management Protocol

IGMP er ikke en strømningsprotokoll i tradisjonell forstand; det er en protokoll for administrasjon av nettverkslaget. Dens hovedoppgave er å administrere medlemskap i multicast-grupper.

Slik fungerer det

I et vanlig unicast-nettverk sender serveren 100 separate kopier av dataene hvis 100 personer ønsker å se en videostrøm. Dette belaster båndbredden kraftig. I et multicast-nettverk sender serveren én kopi, og nettverkssvitsjene/ruterne replikerer den kun for de spesifikke brukerne som har bedt om den.

IGMP er det språket som brukes mellom kunde (programleder) og den lokal ruter:

  1. Bli med: Når en bruker bytter til en bestemt IPTV kanal, sender enheten deres en IGMP “Join”-rapport for den aktuelle multicast-gruppe-IP-adressen.

  2. Trafikkflyt: Ruteren mottar forespørselen og videresender den aktuelle strømmen til brukerens undernett.

  3. Avreise: Når brukeren bytter kanal, sendes en IGMP-“Leave”-melding, og ruteren slutter å videresende disse dataene for å spare båndbredde.

Hovedfunksjon: IGMP-snooping

Switcher er vanligvis lag 2-enheter og leser ikke lag 3-IP-pakker. Men med IGMP-snooping, en switch “lytter” til IGMP-kommunikasjonen mellom verten og ruteren. Dette gjør at switchen kan sende multicast-trafikk bare til de spesifikke portene som har bedt om det, i stedet for å oversvømme alle portene på svitsjen.

  • Best for: IPTV systemer, interne bedriftsutsendelser, strømmer med finansdata.

  • Forsinkelse: Ekstremt lav (nær sanntid).

  • Transport: Lag 3 (IP).

2. RTSP: Nettverksfjernkontroll

Protokoll for strømming i sanntid

Hvis IGMP er trafikkpolitiet, er RTSP fjernkontrollen. RTSP overfører egentlig ikke selve videodataene, men styrer i stedet strømmeserveren.

Slik fungerer det

RTSP oppretter og opprettholder en kontrollsesjon mellom klienten og serveren. Den bruker en syntaks som er svært lik HTTP.

  • Kontrollstatus: RTSP er en “tilstandsbasert” protokoll. Serveren holder oversikt over klientens tilstand (tilkoblet, avspilling, på pause).

  • Kommandoer: Den støtter kommandoer som OPPSETT, SPILL, PAUSE, OPPTAK, og DEMONTERING.

  • Datatransport: Mens RTSP håndterer kommandoene, overføres selve video- og lyddataene vanligvis via RTP (Real-time Transport Protocol) via UDP (User Datagram Protocol).

Siden RTSP vanligvis bruker UDP som transportprotokoll, prioriterer protokollen hastighet fremfor dataintegritet. Hvis en pakke går tapt, stopper den ikke opp for å be om den på nytt, men fortsetter å sende for å unngå forsinkelser.

  • Best for: IP-overvåkningskameraer (CCTV), bilder fra droner, telekonferansesystemer.

  • Forsinkelse: Lav (vanligvis <2 sekunder).

  • Transport: TCP brukes til styring, mens UDP vanligvis brukes til mediedata.

3. HLS: Den adaptive universalisten

HTTP Live Streaming

HLS, som er utviklet av Apple, revolusjonerte bransjen ved å behandle videostrømmer ikke som en kontinuerlig datastrøm, men som en sekvens av nedlastinger av små filer. Det er i dag den dominerende standarden for distribusjon av video på internett.

Slik fungerer det

HLS fungerer ved å dele opp en videostrøm i korte segmenter (vanligvis 2–10 sekunder lange) og opprette en tekstbasert indeksfil kalt en Manifest (.m3u8).

  1. Manifestet: Spilleren laster ned .m3u8 fil, som inneholder en liste over nettadresser som peker til videodelene.

  2. Adaptiv bithastighet (ABR): Dette er HLS’ største fordel. Serveren koder videoen i flere kvalitetsnivåer (480p, 720p, 1080p, 4K). Hvis brukerens internettforbindelse brytes, bytter spilleren automatisk til en del med lavere kvalitet ved neste forespørsel for å unngå buffering.

  3. HTTP-levering: Siden HLS bruker standard HTTP/HTTPS (port 80/443), kommer det lett gjennom vanlige brannmurer og kan lagres i hurtigbufferen av CDN-er (innholdsleveringsnettverk) akkurat som vanlige bilder eller tekst på nettet.

  • Best for: OTT-plattformer (Netflix, Hulu), YouTube, mobilstrømming – som når et enormt publikum via det offentlige internett.

  • Forsinkelse: Historisk sett høyt (10–30 sekunder), selv om HLS med lav forsinkelse (LL-HLS) reduserer dette betydelig.

  • Transport: TCP (HTTP).

Sammendrag og sammenligning

Funksjon

IGMP

RTSP

HLS

Hovedrolle

Administrasjon av multicast-grupper

Strømstyring (fjernstyring)

Adaptiv mediedistribusjon

Transportlaget

IP (lag 3)

TCP/UDP

TCP (HTTP)

Forsinkelse

Nær null

Lav

Middels til høy

Skalerbarhet

Høy (lokalt nettverk)

Lav (krever mye av serveren)

Massive (CDN-kompatibel)

Pålitelighet

Avhengig av nettverk

Det kan forekomme pakketap (UDP)

Høy (TCP-gjenutsending)

Brannmurvennlighet

Lav (blokkert av WAN-nettverk)

Middels (krever bestemte porter)

Høy (bruker standard nettporter)

Primært bruksområde

IPTV, lokale nettverk

CCTV, overvåking

Offentlig strømming på Internett

 

Konklusjon

Valget mellom disse protokollene avhenger helt og holdent av miljøet:

  1. Bruk IGMP hvis du er en ISP å bygge opp en kabel-TV-tjeneste eller en systemadministrator som administrerer et privat LAN der effektiv utnyttelse av båndbredden er avgjørende.

  2. Bruk RTSP hvis du skal installere overvåkningskameraer eller trenger et bilde med lav forsinkelse der sporadiske visuelle forstyrrelser er akseptable, men forsinkelse ikke er det.

  3. Bruk HLS hvis du ønsker å streame video til tusenvis av brukere over hele verden på ulike enheter (iOS, Android, skrivebord) og nettverkshastigheter.

nb_NONorwegian
Skroll til toppen