Madal latentsus striimis: juhend videotootjatele

Pilguheit videolooja kodustuudios, kus otsitakse viise, kuidas vähendada viivitust.

Madal latentsus striimis tähendab, et pilt ja heli jõuavad kaamerast vaatajani minimaalse viivitusega. Praktiline sihtmärk sõltub täielikult kasutusjuhust: interaktiivne otsevestlus vajab alla 50 ms latentsust, spordiülekanne toimib hästi 100–500 ms juures ja traditsiooniline OTT-voogedastus võib hea vaatajakogemuse tagamiseks võtta üle 20 sekundi. Latentsust mõõdetakse millisekundites (ms), kuid ultra-low latency rakendustes võib see langeda mikrosekunditesse. Kõige ausam mõõdik on glass-to-glass: aeg kaamera objektiivist vaataja ekraanini, mitte ainult võrgu edasi-tagasi (RTT) ping.

  • Interaktiivne voog (Q&A, muusikasünkroon): väga madal latentsus
  • Reaalajas mängud ja vestlus: madal latentsus
  • Spordiülekanded ja live-sündmused: mõõdukas latentsus
  • Lineaarne OTT / järelvaatamine: kõrgem latentsus

Television pakub Eestis üle 10 aasta praktilisi otseülekande lahendusi just seal, kus infrastruktuur puudub. Juhend põhineb sellel kogemusel.

Sisukord

Mis on latentsus voogedastuses ja kust see tuleb?

Latentsus on ajaviivitus signaali allikast sihtkohta jõudmisel. Voogedastuses ei ole see üks number, vaid mitme komponendi summa, mis kõik lisavad oma millisekundi ja mitmest väiksest saab üks suur.

Võrgu-latentsus on füüsiline aeg, mis kulub andmepakettidel marsruuteri kaudu liikumiseks. RTT (round-trip time) mõõdab edasi-tagasi aega, ühe suuna mõõtmine annab poole sellest. Eestis on kohalik peering suhteliselt hea, kuid rahvusvahelised marsruudid Tallinnast Frankfurti või Londonisse lisavad kergesti 20–40 ms.

Kodeerimislatentsus tekib enkooderile, mis peab pildi töötlema enne saatmist. Mida keerulisem kodek (H.265 vs H.264), seda rohkem töötlemisaega. GOP-suurus (Group of Pictures) on siin kriitiline: pikk GOP tähendab paremat pilti, aga suuremat viivitust.

Puhverlatentsus on sageli suurim süüdlane. Mängija laadib puhvrisse mitu sekundit sisu, et kaitsta katkestuste eest. See on kasulik stabiilsuse jaoks, kuid tapab reaalajas interaktiivsuse.

Heli ja video latentsus võivad ka üksteisest erineda. Kui helikanal töödeldakse eraldi ASIO või WASAPI kaudu ja video läbib raskema kodeerimisahela, tekib sünkroonimisnihe, mida vaataja tajub kui „huuled ei kattu häälega“. Ahel näeb välja nii: kaamera → enkooder (lisab ms) → CDN serv (lisab ms) → mängija puhver (lisab sekundeid) → ekraan.

Infograafik: miks võib striimi tekkida viivitus?

Miks latentsus vaataja kogemust ja tootmise kvaliteeti mõjutab?

KasutusjuhtSihtlatentsusPeamine risk kõrge latentsuse korral
Interaktiivne Q&A / webinaralla 50 msModeraator vastab küsimusele, mida vaataja pole veel kuulnud
Reaalajas mängud50–100 msMängija käsk jõuab serverisse liiga hilja
Spordiülekanne100–500 msSotsiaalmeedias spoilerid enne ekraanil nägemist
Lineaarne OTTüle 2 sMinimaalne mõju, puhver parandab kvaliteeti ja vähendab katkestusi vaataja poolel
   

Spordiülekannetes on latentsus eriti nähtav: kui vaataja näeb väravat 8 sekundit hiljem kui naaber, on kogemus rikutud. Interaktiivsetes sündmustes on probleem teistsugune. Kui moderaator esitab küsimuse ja vaataja vastab, kuid vastus jõuab 3 sekundi hiljem, muutub vestlus kohmakaks.

Samas ei ole madal latentsus alati eesmärk. Soovime rõhutada, et veidi suurem latentsus võib tagada stabiilsema ja kvaliteetsema video, sest süsteem saab rohkem puhvrit ja vigade parandamist. Lineaarse voogedastuse puhul on see täiesti mõistlik kompromiss.

Professionaalne nõuanne: Enne latentsuse alandamist küsi endalt: kas minu vaatajad peavad reaalajas reageerima? Kui ei, siis puhvri suurendamine annab parema pildi ilma lisainvesteeringuteta.

Millised on tavapärased latentsuse sihtmärgid eri stsenaariumite jaoks?

Praktilised hinnangud jagavad latentsuse nelja kategooriasse:

  • Alla 20 ms: suurepärane, sobib muusikasünkrooniks ja reaalajas interaktsiooniks
  • 20–50 ms: väga hea, enamik interaktiivseid rakendusi töötab hästi
  • 50–100 ms: viivitus hakkab ilmuma, reaalajas tundlikud ülesanded kannatavad
  • Üle 100 ms: problemaatiline kõigile, kus reageerimiskiirus loeb

Glass-to-glass mõõtmine annab tegeliku kasutajakogemuse latentsuse ja see erineb tavalistest võrgu-ping mõõtmistest. RTT-ping näitab ainult võrgu osa, glass-to-glass hõlmab ka kodeerimise, CDN-i ja mängija puhvri viivituse. Praktikas tähendab see, et lühike RTT-ping ei garanteeri sama madalat glass-to-glass latentsust, kuna enkooderi ja mängija puhver lisavad tavaliselt sadu millisecondeid kuni mitu sekundit.

Millal piisab 500 ms? Spordiülekannetes, kus vaatajad ei suhtle reaalajas esinejatega. Millal peab minema alla 50 ms? Kui korraldad interaktiivset konverentsi, kus publik hääletab, esitab küsimusi või osaleb otse.

Kust latentsus tuleb ja kuidas seda mõõta?

Latentsuse põhjused jagunevad kolme suurde rühma.

Võrgu viivituse mõõtmise aparaat ja kasutajaliides

Võrgu põhjused: füüsiline kaugus serverist, kehv marsruutimine ja pakettide kadumine. Võrgu optimeerimine, hea peering ja jälgimine vähendavad latentsust märgatavalt, isegi kui liini teoreetiline kiirus jääb samaks. WiFi lisab täiendavaid latentsushüppeid ja pakettide kadumise ohtu isegi tugeva signaali korral. Ethernet on alati stabiilsem.

Tarkvara ja riistvara põhjused: enkooderi puhverseaded, GOP-suurus, adaptive bitrate (ABR) lülitused ja operatsioonisüsteemi tasemel probleemid. Windowsi DPC (Deferred Procedure Call) latentsus võib põhjustada heliviivitusi isegi kui võrguühendus on korras. Sageli on süüdlased USB-draiverid või energiasäästufunktsioonid.

CDN ja mängija põhjused: CDN-serveri geograafiline kaugus, mängija puhvri suurus ja ABR-algoritm, mis vahetab kvaliteeti.

Kuidas latentsust samm-sammult mõõta

  1. Ping sihtserverisse: käivita ping streaming-server.ee ja vaata RTT-d. Alla 20 ms on hea Eesti-sisese serveri jaoks.
  2. WinMTR marsruudi analüüs: laadi alla WinMTR, sisesta sihtserveri aadress ja lase töötada 5 minutit. Vaata, kus pakettide kadumine algab.
  3. LatencyMon DPC-diagnostika: käivita LatencyMon Windowsis ja kontrolli, kas draiverid tekitavad helilatentsust. Energiasäästu keelamine ja USB-draiverite uuendamine lahendab sageli probleemi.
  4. Glass-to-glass test: sünkroniseeritud testkaadri meetod: filmi ekraani, kus jookseb millisekundiloendur, saada see läbi kogu ahela ja mõõta erinevust kaamera ja mängija kuva vahel.
  5. CDN-logid ja mängija mõõdikud: kontrolli CDN-i juhtpaneelilt puhvri täitumist ja mängija rebuffering-sündmusi.

Millised protokollid vähendavad latentsust ja millal neid kasutada?

ProtokollParim kasutusjuhtTüüpiline latentsusPiirangud
WebRTCInteraktiivne brauser-brauser, Q&Aalla 50 msSkaala keeruline, CDN-tugi piiratud
SRTPunkt-punkt tootmisühendus, backhaul100–500 msVajab spetsiaalset serverit
LL-HLSCDN-põhine live, suur publik2–5 sVajab CDN-i LL-HLS tuge
Low-latency DASHHTTP-põhine, suur skaala3–8 sMängija tugi ebaühtlane
RTMPEnkooderi-serveri ühendus1–5 sEi sobi lõppvaatajale otse
  • WebRTC sobib, kui vajad alla 50 ms latentsust ja publik on väike (kuni mõnisada vaatajat). Brauser toetab seda natively, kuid suure publik jaoks vajab spetsiaalset SFU-serverit.
  • SRT on tootmismeeskondade lemmik backhaul-ühendusteks: krüpteeritud, veakindel ja töötab ebastabiilses võrgus. Eestis sobib hästi mobiilse tootmise jaoks, kus kasutatakse 4G/5G ühendust.
  • LL-HLS on parim valik, kui vajad CDN-i skaalat ja 2–5 s latentsus on aktsepteeritav. Suuremad platvormid toetavad seda üha laiemalt.
  • RTMP jääb enkooderi ja serveri vaheliseks lüliks, mitte lõppvaataja protokolliks.

Professionaalne nõuanne: SRT ja WebRTC kombinatsioon töötab hästi hübriidüritustel: SRT backhaul tootmiselt serverisse, WebRTC interaktiivsetele osalejatele ja LL-HLS suurele vaatajaskonnale.

Television.ee praktiline kontrollnimekiri madala latentsusega ülekande tootmiseks

Eestis korraldatavatel üritustel, kus infrastruktuur on sageli puudulik, on süstemaatiline ettevalmistus ainus viis latentsust kontrolli all hoida.

Eelproduktsioon

  1. Võrguaudit: mõõda ping ja WinMTR sihtserverisse vähemalt 24 tundi enne sündmust. Kontrolli, kas kohalik internetiliin toetab piisavat üleslaadimiskiirust (minimaalselt 2x planeeritud bitrate).
  2. Ethernet igale kriitilisele seadmele: enkooderarvuti, audio-mikseri arvuti ja monitoorimisarvuti peavad olema juhtmega ühendatud. WiFi on ainult varuvariant.
  3. Spetsiaalne uplink striimile: kui võimalik, eraldi liin ainult striimile, et muu liiklus seda ei mõjutaks.

Seadistused

  • Enkooderi GOP-suurus: 1–2 sekundit (mitte 4–10 sekundit, mis on vaikimisi paljudes tarkvarades)
  • Keyframe-intervall: võrdne GOP-iga
  • Puhvri suurus enkooderile: minimaalne, mis tagab stabiilsuse
  • WASAPI või ASIO seaded helikaardile: alla 10 ms puhver stuudiotöö jaoks
  • Windowsis: energiasäästu keelamine, kõrge jõudluse režiim, LatencyMon kontroll enne sündmust

Operatsioon sündmuse ajal

  • Reaalajas ping-jälgimine sihtserverisse (nt PingPlotter)
  • CDN-logide jälgimine juhtpaneelilt
  • Valmis backhaul-alternatiiv: 4G/5G ruuter kui põhiliin kukub
  • CDN-serveri valik: Eestis asuv või Põhja-Euroopa serv, mitte USA
  • Kiire vahetusplaan: kui CDN näitab latentsuse kasvu, lülitu lokaalsele RTMP/SRT uplinkile

Television.ee operaatorid jälgivad kõiki neid parameetreid reaalajas, nii et tehniline meeskond saab keskenduda sisule.

Mida maksab madala latentsuse lahendus ja kui kaua see aega võtab?

Kulud jagunevad kolme kihti, sõltuvalt sellest, kui kaugele soovid minna.

Kiired ja odavad parandused (päevad kuni nädal): Ethernet-kaablid, enkooderi seadete muutmine ja Windowsi energiasäästu keelamine maksavad sisuliselt ainult aega. Need sammud vähendavad latentsust sageli 30–50 % ilma lisainvesteeringuta.

Keskmise mahuga projekt (2–6 nädalat): CDN-i vahetus või lisamine, peering-optimeerimine ja SRT-serveri seadistamine. Kulud sõltuvad CDN-teenuse hinnakujundusest ja tehnikute tööajast. Eestis on mõistlik arvestada mõnekümne kuni mõnesaja euro suurust kuutasu CDN-teenuse eest.

Suurem arhitektuurimuutus (kuud): SD-WAN lahendused, dedikeeritud kiudoptika liin ürituspaika või andmekeskuse läheduse optimeerimine. Need on mõistlikud ainult regulaarsete suurürituste korraldajatele.

Eelarve planeerimise nõuanne: otsusta esmalt, kas sinu kasutusjuht nõuab alla 500 ms või alla 50 ms latentsust. Esimene on saavutatav olemasoleva infrastruktuuriga, teine nõuab protokolli- ja arhitektuurimuutusi. Ärge investeeri WebRTC-skaala infrastruktuuri, kui teie publik on 200 inimest ja interaktiivsust ei ole.

Mida kontrollida vahetult enne otseülekannet ja selle ajal?

Preflight-kontrollnimekiri

  1. Kinnita Ethernet-ühendus enkooderarvutil
  2. Käivita ping sihtserverisse, veendu et RTT on alla 30 ms
  3. Käivita WinMTR 5 minutit ja kontrolli pakettide kadumist
  4. Kontrolli enkooderi puhverseadeid ja GOP-suurust
  5. Testi glass-to-glass latentsust testkaadriga
  6. Käivita LatencyMon ja veendu, et DPC-latentsus on alla 1 ms
  7. Kontrolli CDN-juhtpaneeli, et serv on aktiivne ja geograafiliselt lähedal

Reaalajas jälgimine

  • Hoia lahti ping-monitor sihtserverisse kogu sündmuse ajal
  • Jälgi CDN-logides puhvri täitumist ja rebuffering-sündmusi
  • Vaata mängija mõõdikuid: kui puhver kasvab, on latentsus tõusmas

Kiired parandused live-sündmuse ajal

  • Vähenda mängija puhvrit seadetes, kui latentsus kasvab
  • Kitsenda ABR-vahemikku (nt 2–4 Mbit/s asemel 3–4 Mbit/s), et vältida kvaliteedi lülitusi
  • Alanda kaadrisagedust 60 fps-lt 30 fps-le, kui enkooderi koormus kasvab
  • Lülitu lokaalsele SRT-uplinkile, kui CDN näitab probleeme

Professionaalne nõuanne: Hoia alati 4G/5G ruuter laetuna ja seadistatud varuühendusena. Eestis on mobiilside katvus hea isegi maapiirkondades, ja see on odavaim kindlustus latentsuse hüppe vastu. Kui leiad koha kus 4G/5G ühendust ei ole, siis saad meie käest ka Starlink satelliitühendust produktsiooniks rentida.

Peamised järeldused

Madal latentsus striimis on saavutatav, kuid nõuab teadlikku protokollivalikut, võrguauditit ja enkooderi seadistamist juba enne sündmuse algust.

PunktÜksikasjad
Latentsuse sihtmärgidInteraktiivne voog vajab alla 50 ms, spordiülekanne toimib 100–500 ms juures.
Suurim mõjuEthernet, enkooderi GOP-seaded ja mängija puhvri vähendamine annavad kiireima tulemuse.
ProtokollivalikWebRTC interaktiivsuseks, SRT backhaul-ühendusteks, LL-HLS suurele CDN-põhisele publikule.
MõõtmineGlass-to-glass test annab tegeliku vaatajakogemuse latentsuse, RTT-ping ainult võrgu osa.
TelevisionPakub Eestis terviklahendust: võrguaudit, testvood, kohalik backhaul ja operaator-tugi sündmuse ajal.

Mida ma latentsuse kohta päriselt arvan

Latentsuse teema on üks nendest, kus tehnikutele põnev nokitsemine ja projekti reaalne vajadus lähevad tihti lahku.

Eestis on olukord tegelikult päris hea: kohalik võrguinfrastruktuur on tihe, riik on väike, Tallinna andmekeskused on Põhja-Euroopa standardis ja mobiilside katvus võimaldab SRT-backhauli ka keset metsa. See tähendab, et enamik latentsuse probleeme on lahendatavad ilma suure investeeringuta, kui tead, kust otsida.

Mis mind tegelikult häirib, on see, et paljud ürituste korraldajad investeerivad küll väikse viitega ülekandesse, aga see ei pruugi sündmuse puhul olla üldse relevantne. Üksikutes millisekundites latentsus on tegelikult ikkagi ennekõike oluline ainult sündmuspaigas videoedastusel ning see kas Haapsalus toimuvat kiirendusvõistlust nähakse Võrus 0.06 sekundit või 6 sekundit hiljem muutub tegelikult oluliseks alles siis kui seal on mängus reaalajas spordipanused. Kõige hullem mis juhtuda saab on latentsuse ajamine liiga madalale, sest see eemaldab buffrit ja buffri puudumine vaataja seadmes tähendab “ketramist” kui kui vaataja ühendus on katkendlik. Ehk jah, me võme vabalt ülimadala latentsuse saavutada ja sina ürituse korraldajana selle eest maksad, aga see võib ka mõnel vaatajal põhjustada hoopis kehvema vaatamiskogemuse.

Ja veel üks asi: glass-to-glass mõõtmine on ainus aus viis latentsust hinnata. Kõik muu on lihtsalt osaline pilt.

Television aitab sul latentsuse probleemid lahendada

Kui latentsus on sinu sündmuse jaoks kriitiline, siis Television’i lähenemine on lihtne: esmalt mõõdame, siis lahendame. Meie otseülekande tootmise teenus hõlmab võrguauditit, testvoogu ja kohalikku backhaul-lahendust, mis töötab ka seal, kus infrastruktuur puudub. Üle 10 aasta kogemust tähendab, et oleme näinud kõiki latentsuse probleeme, mida Eesti ürituspaigad pakuvad.

Television

Television’i striimimisplatvorm toetab nii LL-HLS kui SRT protokolle ja meie tehniline meeskond jälgib latentsust reaalajas kogu sündmuse vältel. Konverentsid, spordiüritused, podcastid, tootelansseerimised: igaühe jaoks on õige protokoll ja seadistus erinev. Küsi projektipõhist hinnangut ja räägime läbi, milline lahendus sinu kasutusjuhtule sobib.

Valitud allikad ja tööriistad edasiseks süvenemiseks

Latentsuse mõistmiseks ja mõõtmiseks on mõned tööriistad ja allikad, mis tegelikult aitavad:

  • Ultra-low latency mõiste selgitus (Supermicro): hea lähtepunkt ultra-low latency definitsiooni ja rakendusvaldkondade mõistmiseks
  • Glass-to-glass latentsuse mõõtmine (PC Hardware Pro): selgitab, miks glass-to-glass on ainus aus mõõdik
  • WASAPI seaded madala helilatentsuse jaoks (PC Hardware Pro): praktiline juhend stuudio helilatentsuse alla 10 ms viimiseks
  • DPC latentsuse diagnoosimine Windows 11-s (MundoBytes): LatencyMon kasutamine ja Windowsi optimeerimise sammud
  • Võrgu latentsuse terviklik lahendus (InformatecDigital): selgitab, miks peering ja marsruutimine loevad rohkem kui liini kiirus
  • WinMTR: tasuta tööriist Windowsile marsruudi ja pakettide kadumise analüüsiks
  • LatencyMon: Windowsi DPC-latentsuse diagnostika, tasuta allalaaditav
  • PingPlotter: reaalajas ping-jälgimine sündmuse ajal
  • Microsoft Teams Ultra-Low Latency streaming: praktiline näide, kuidas ULL-protokoll vähendab Teams-sündmuste latentsust 30 sekundilt mõne sekundi tasemele

Soovitus

Jaga artiklit