Hopp til innhold

Fagstoff

Direktestrømming av lyd og video

De fleste av oss ser på strømming av lyd og videoinnhold hver dag. Det er blitt en foretrukket måte å håndtere medieinnhold over internett på, og det er nyttig både for å se opptak og direktesendinger.
Person bruker en videomikser. Foto.

Nedlasting versus strømming

Nedlasting er når vi laster ned komplette filer fra internett eller nettverk til en datamaskin, mobiltelefon eller annen enhet. Nedlastingen må være fullstendig før vi kan ta i bruk innholdet vi har lastet ned. For eksempel må et dataprogram lastes ned fullstendig for å fungere.

Strømming lar oss laste ned biter eller segmenter (chunks) av innhold og benytte disse underveis. Strømming er veldig mye brukt innen lyd og videoinnhold, men kan også gjelde internett-tilknyttede sensorer (IOT-sensorer) og andre situasjoner der vi har en pågående datastrøm.

Begrepet strømming er et bredt begrep med flere bruksområder, og dette kan lett føre til misforståelser.

Den vanligste bruken av strømming er for å beskrive strømming av videoopptak ut til en enkelt tilskuer (video on demand), som når du ser en ordinær YouTube- eller Netflix-film.

Det kan være mange som ser på den samme videoen, men de kan være på helt forskjellige tidspunkter i videofila, og de blir tilsendt forskjellige biter (chunks) avhengig av hvor de er i avspillingen.

Den andre hovedbruken av begrepet er når vi snakker om strømming av arrangementer eller opptak i sanntid til mange tilskuere samtidig (livestream). Eksempler på dette kan være konsertstrømming, Twitch-strømming og YouTube Live. Det er dette vi skal ta for oss i denne artikkelen.

Direktestrømming (livestream)

Ved direktestrømming (livestream) bruker vi programvare som OBS (Open Broadcaster Software) på en strømmemaskin til å lage en datastrøm med video og lydinnhold. Denne strømmen fyller vi med innhold fra eksterne kameraer, innhold fra datamaskinen, som spill, eller opptak av medier vi har på maskinen.

Mann står i et lite kjøkken med flere kameraer rundt seg. Han smiler til et av kameraene. Foto.

Strømmemaskinen sender (push) datapakker med biter av video og lyd til en strømmetjeneste eller strømmeserver. Denne tar imot datapakkene og mellomlagrer dem.

Tilskuerne som ønsker å se direktestrømmen, ber om innhold (pull) fra strømmetjeneste eller strømmeserver, og de blir tilsendt kopi av datastrømmen.

Stilisert modell. Et kamera filmer en person. Kameraet er koblet til en strømmemaskin som igjen er koblet opp mot en strømmetjeneste eller strømmeserver. Denne er så koblet til flere tilskuere. Illustrasjon.

Strømmemaskinen trenger bare å sende en datastrøm til en strømmetjeneste eller strømmeserver, dette gjør at strømming kan gjøres fra de fleste nettlinjer.

Strømmetjenesten eller strømmeserveren må ha god båndbredde slik at den kan sende ut datastrøm til alle tilkoblede tilskuere.

Transkoder

Strømmetjeneste eller strømmeserver med transkoder kan lage en eller flere varianter av en innkommende videostrøm. Hver variant kan ha lavere oppløsning og bitrate enn den originale strømmen.

Stilisert modell. Et kamera filmer en person, kameraet er koblet til en strømmemaskin som igjen er koblet opp mot en strømmetjeneste eller strømmeserver med transkoder. Denne omgjør videoen til andre formater og oppløsninger som den så leverer til tilskuerne. Illustrasjon.

Hensikten med transkoding av videostrøm er å gjøre strømmen tilgjengelig og med best mulig kvalitet for tilskuerne.

Si for eksempel at vi strømmer en konsert i 4k (3840 × 2160) oppløsning og med bitrate på 60 Mbit. Dette er perfekt for tilskuere med kraftig nettlinje og 4k-tv, men for en tilskuer som ser konserten på telefonen på bussen, er oppløsningen unødvendig høy og bitraten så høy at strømmen kanskje hakker og personens datapakke raskt blir brukt opp. Med transkoding kan disse tilskuerne heller se videostrømmen i en lavere oppløsning og bitrate.

De fleste strømmetjenester bruker transkoding, men omgjøringen krever mye prosessorkraft. De har derfor ofte restriksjoner på når transkoding blir brukt.

For eksempel, hvis du strømmer ut til Twitch, men har få tilskuere, vil ikke videostrømmen din blir transkodet før den går ut til seerene dine. Alle tilskuerne får en kopi av din originale strøm. Twitch bestemmer når du har mange nok seere til at de aktiverer støtte for transkoding.

Bruke strømmetjeneste eller egen strømmeserver?

Hvis du skal sette opp en direktestrøm, er det mest sannsynlig at du bruker en eksisterende strømmetjeneste. Dette kan for eksempel være YouTube Live, Twitch eller Facebook Live. Disse har god stabilitet, de kan skalere opp serverkapasitet hvis det er mange seere, og de tilbyr raskt og enkelt oppsett. Ulempen er at du er avhengig av systemene deres, og de legger reklame på direktestrømmen.

Noen strømmetjenester er satt opp for bedrifter og arrangementer. Disse koster ofte å bruke (som innholdsskaper), men kan gi tilgangskontroll, noe som kan være aktuelt for en bedrift som strømmer innhold bare til egne ansatte. De kan også gi betalingsløsninger for seere som for eksempel ønsker å se en konsert eller et arrangement.

Alternativet til å bruke en annen strømmetjeneste er å sette opp sin egen strømmeserver. Dette er mer komplisert og krever utstyr og kraftig nettlinje hvis personer på internett skal kunne se strømmen. En egen server kan være nyttig for lokal strømming innad i et nettverk, gir større frihet og kan brukes til å dekke nisjebehov der en ekstern strømmetjeneste er unødvendig.

Funksjonalitet i egen strømmeserver

En strømmeserver videreformidler lyd og videostrøm som den mottar fra strømmemaskin ut til tilkoblede seere, men med konfigurasjon kan den settes opp til å gjøre mye mer, som

  • opptak av datastrøm til videofil

  • transkoding til andre oppløsinger, bitrate og format

  • videresending av datastrøm til flere strømmetjenester (for eksempel for å strømme til YouTube Live og Twitch samtidig)

  • tillate at en strømmemaskin tar over for en annen uten at videostrømmen stopper

CC BY-SASkrevet av Tron Bårdgård.
Sist faglig oppdatert 07.01.2022

Læringsressurser

Enkeltressurser for oppsett av strømmeserver