Hopp til innhald
Fagartikkel

Direktestrøyming av lyd og video

Dei fleste av oss ser på strøyming av lyd og videoinnhald kvar dag. Det har vorte ein føretrekt måte å handtere medieinnhald over internett på, og det er nyttig både for å sjå opptak og direktesendingar.

Nedlasting versus strøyming

Nedlasting er når vi lastar ned komplette filer frå internett eller nettverk til ei datamaskin, mobiltelefon eller anna eining. Nedlastinga må vere fullstendig før vi kan ta i bruk innhaldet vi har lasta ned. Til dømes må eit dataprogram lastast ned fullstendig for å fungere.

Strøyming lèt oss laste ned bitar eller segment (chunks) av innhald og nytte desse undervegs. Strøyming er veldig mykje brukt innan lyd og videoinnhald, men kan òg gjelde internett-tilknytta sensorar (IOT-sensorar) og andre situasjonar der vi har ein pågåande datastraum.

Omgrepet strøyming er eit breitt omgrep med fleire bruksområde, og dette kan lett føre til misforståingar.

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

Det kan vere mange som ser på den same videoen, men dei kan vere på heilt ulike tidspunkt i videofila, og dei får tilsendt ulike bitar (chunks) avhengig av kvar dei er i avspelinga.

Den andre hovudbruken av omgrepet er når vi snakkar om strøyming av arrangement eller opptak i sanntid til mange tilskodarar samtidig (livestream). Døme på dette kan vere konsertstrøyming, Twitch-strøyming og YouTube Live. Det er dette vi skal ta for oss i denne artikkelen.

Direktestrøyming (livestream)

Ved direktestrøyming (livestream) bruker vi programvare som OBS (Open Broadcaster Software) på ei strøymemaskin til å lage ein datastraum med video og lydinnhald. Denne straumen fyller vi med innhald frå eksterne kamera, innhald frå datamaskina, som spel, eller opptak av medium vi har på maskina.

Strøymemaskina sender (push) datapakkar med bitar av video og lyd til ei strøymeteneste eller strøymeserver. Denne tek imot datapakkane og mellomlagrar dei.

Tilskodarane som ønskjer å sjå direktestraumen, ber om innhald (pull) frå strøymeteneste eller strøymeserver, og dei blir tilsende kopi av datastraumen.

Strøymemaskina treng berre å sende ein datastraum til ei strøymeteneste eller strøymeserver. Dette gjer at strøyming kan gjerast frå dei fleste nettlinjer.

Strøymetenesta eller strøymeserveren må ha god bandbreidde slik at alle tilskodarane som er kopla til, mottek datastraumen.

Transkodar

Strøymeteneste eller strøymeserver med transkodar kan lage ein eller fleire variantar av ein innkommande videostraum. Kvar variant kan ha lågare oppløysing og bitrate enn den originale straumen.

Formålet med transkoding av videostraum er å gjere straumen tilgjengeleg og med best mogleg kvalitet for tilskodarane.

Sei til dømes at vi strøymer ein konsert i 4k (3840 × 2160) oppløysing og med bitrate på 60 Mbit. Dette er perfekt for tilskodarar med kraftig nettlinje og 4k-tv, men for ein tilskodar som ser konserten på telefonen på bussen, er oppløysinga unødvendig høg og bitraten så høg at straumen kanskje hakkar og datapakken til personen raskt blir brukt opp. Med transkoding kan desse tilskodarane heller sjå videostraumen i ei lågare oppløysing og ein lågare bitrate.

Dei fleste strøymetenester bruker transkoding, men omgjeringa krev mykje prosessorkraft. Dei har derfor ofte restriksjonar på når transkoding blir brukt.

Til dømes, viss du strøymer ut til Twitch, men har få tilskodarar, vil ikkje videostraumen din bli transkoda før han går ut til sjåarane dine. Alle tilskodarane får ein kopi av den originale straumen din. Twitch bestemmer når du har mange nok sjåarar til at dei aktiverer støtte for transkoding.

Bruke strøymeteneste eller eigen strøymeserver?

Viss du skal setje opp ein direktestraum, er det mest sannsynleg at du bruker ei eksisterande strøymeteneste. Dette kan til dømes vere YouTube Live, Twitch eller Facebook Live. Desse har god stabilitet, dei kan skalere opp serverkapasitet viss det er mange sjåarar, og dei tilbyr raskt og enkelt oppsett. Ulempa er at du er avhengig av systema deira, og dei legg reklame på direktestraumen.

Nokre strøymetenester er sett opp for bedrifter og arrangement. Desse kostar ofte å bruke (som innhaldsskapar), men kan gi tilgangskontroll, noko som kan vere aktuelt for ei bedrift som strøymer innhald berre til eigne tilsette. Dei kan òg gi betalingsløysingar for sjåarar som til dømes ønskjer å sjå ein konsert eller eit arrangement.

Alternativet til å bruke ei anna strøymeteneste er å setje opp sin eigen strøymeserver. Dette er meir komplisert og krev utstyr og kraftig nettlinje viss personar på internett skal kunne sjå straumen. Ein eigen server kan vere nyttig for lokal strøyming internt i eit nettverk, gir større fridom og kan brukast til å dekkje nisjebehov der ei ekstern strøymeteneste er unødvendig.

Funksjonalitet i eigen strøymeserver

Ein strøymeserver vidareformidlar lyd og videostraum som han får frå strøymemaskin ut til tilkopla sjåarar, men med konfigurasjon kan han setjast opp til å gjere mykje meir, som

  • opptak av datastraum til videofil

  • transkoding til andre oppløysingar, bitrate og format

  • vidaresending av datastraum til fleire strøymetenester (til dømes for å strøyme til YouTube Live og Twitch samtidig)

  • tillate at ei strøymemaskin tek over for ei anna utan at videostraumen stoppar