Flipboard Blog

OBS nøkkelrammeintervall: hva er riktig nøkkelrammeintervall for direktesending?

Nøkkelrammeintervall (også kjent som nøkkelrammeperiode, noen ganger skrevet som nøkkel-ramme-intervall) er en viktig parameter å ta hensyn til ved transcoding av video, da det er en av de mest kritiske parameterne etter bithastighet og oppløsning. Det bestemmer hvor ofte en full bilde-frame av video blir kodet inn i strømmen, noe som kan påvirke videokvaliteten, bithastigheten som kreves for strømmen, og dekoderens evne til å gjenopprette fra tapte pakker. Imidlertid kan også andre parametere ha en betydelig innvirkning på transcoding-prosessen.

For eksempel kan kodeken som brukes for koding, antall referansebilder og andre parametere også ha en betydelig innvirkning på kvaliteten og ytelsen til den transcodede videoen. Videre kan nettverksforhold og sluttbrukerens enhet også ha en betydelig effekt på den endelige videokvaliteten.

OBS nøkkelrammeintervall 0 vs 2? 0 er definitivt ikke anbefalt for noen direktesending, men det finnes ingen god, riktig, anbefalt eller perfekt verdi for nøkkelrammeintervall, selv om noen nettbaserte videotilbydere (OVP-er) anbefaler eller begrenser til en fast verdi.

OBS nøkkelrammeintervall: hva er det riktige nøkkelrammeintervallet for direktesending
Nøkkelrammebiter i rødt, andre rammer i blått i dette 10-sekunders videosegmentet

Finnes det en beste eller riktig nøkkelrammeintervall for direktesending?


Det optimale nøkkelrammeintervallet for direktesending kan variere avhengig av de spesifikke behovene til strømmen og nettverksforholdene. Vær oppmerksom på at et kortere nøkkelrammeintervall kan legge mer belastning på koderen, noe som kan føre til høyere CPU-bruk og gjøre det vanskeligere å opprettholde en jevn bithastighet. Dette kan være et problem når du jobber med begrensede ressurser, som en datamaskin med begrenset kapasitet eller en treg eller ustabil internettforbindelse.
For en kortfattet svar uten utdypning, les våre to anbefalinger basert på dine krav nederst på siden.

Hva er opprinnelsen til det vanlig brukte 2-sekunders nøkkelrammeintervallet?


"Hva er det riktige nøkkelrammeintervallet for direktesending" (i OBS Studio eller andre) er et vanlig spørsmål som blir besvart av tekstforfattere som "2 sekunder". Hvorfor skulle vi bry oss med en nøkkelrammeintervallparameter i transcodere hvis dette var svaret for alle brukstilfeller, og hvor kommer denne "kopier-lim inn-verdien" fra?

I tradisjonell kringkasting som kabel-TV blir nøkkelrammeintervallet etablert av standarden som brukes for videokomprimering, vanligvis MPEG-2 eller H.264. Disse standardene setter vanligvis nøkkelrammeintervallet til flere sekunder, vanligvis mellom 1-3 sekunder, for å sikre jevn dekoding av videoen på sluttutstyret, som en TV eller en dekoderboks. Det 2-sekunders nøkkelrammeintervallet er en vanlig brukt og uskrevet standard for dekoderbokser, da dekodere eller avspillere som bruker MPEG-2 trenger hyppige nøkkelrammer for å fungere ordentlig.

Imidlertid har direktesending spesifikke behov i forhold til tradisjonell kringkasting. Ettersom den leveres over internett ved hjelp av kodeker som H.264 og nyere, kan kvaliteten på videoen påvirkes av faktorer som internettforbindelsen og seerens enhet. Derfor trenger ikke direktesending å stole på beste praksis satt av MPEG-2.

Hvorfor trenger en dekoder hyppige nøkkelrammer?


Nøkkelrammer, også kjent som I-rammer, er fulle bilde-rammer som blir kodet uavhengig av andre rammer. De inneholder all informasjon som er nødvendig for å dekode videoen og vise den på skjermen. De er forskjellige fra P-rammer og B-rammer, som blir kodet basert på informasjonen fra den forrige nøkkelrammen.

Når en dekoder mottar en videostream, begynner den å dekode videoen fra den første nøkkelrammen den mottar. Deretter bruker den informasjonen fra påfølgende P-rammer og B-rammer for å fylle inn de manglende detaljene og rekonstruere videoen. Hvis dekoderen mottar en ny nøkkelramme, kan den forkaste informasjonen fra den forrige nøkkelrammen og begynne å dekode videoen igjen med den nye nøkkelrammen.

En dekoder trenger hyppige nøkkelrammer av to hovedårsaker:

  • Motstandsdyktighet mot feil: Ved tapte eller korrupte data under overføringen kan dekoderen bruke informasjonen fra den siste nøkkelrammen til å gjenoppbygge videoen og minimere effekten av de tapte dataene. Imidlertid er gjeldende standarder for direktesending og VOD som HLS eller DASH mer motstandsdyktige mot pakketap.
  • Jevn avspilling: Når dekoderen mottar en ny nøkkelramme, kan den forkaste informasjonen fra den forrige nøkkelrammen og begynne å dekode videoen igjen med den nye nøkkelrammen. Dette kan bidra til jevn avspilling av videoen, da dekoderen kan begynne å vise de nye videodataene så snart de mottas, i stedet for å vente på at all data fra den forrige nøkkelrammen skal mottas.

Har HLS bedre evne til å håndtere nettverksfluktuasjoner sammenlignet med tidligere strømmemetoder?


HTTP Live Streaming (HLS), som har blitt mye brukt for direktesending de siste tiårene, er en mer robust strømmeprotokoll for nettverksvariasjoner sammenlignet med tidligere strømmestandarder.

HLS fungerer ved å bryte ned videoen i små segmenter og opprette flere versjoner av hvert segment med ulike bithastigheter. Disse segmentene blir deretter gjort tilgjengelig for seere i en avspillingsliste, og seerens enhet vil bytte til riktig segment basert på gjeldende nettverksforhold. Dette gjør det mulig å strømme videoen med høyest mulig kvalitet basert på seerens nettverkstilkobling og enhetskapasitet.

En av de viktige funksjonene i HLS er evnen til å tilpasse seg endrede nettverksforhold ved å bytte mellom ulike bithastighetsversjoner av samme segment. Dette kalles adaptiv bithastighetstrømming. Denne funksjonen gjør at HLS kan gi en bedre visningsopplevelse ved variabel nettverkstilkobling, da videokvaliteten kan justeres automatisk etter seerens nettverkstilkobling.

I tillegg bruker HLS også HTTP som transportprotokoll, som støttes av de fleste enheter og nettverk, noe som gjør det mer kompatibelt enn andre strømmestandarder.

Hva er standardverdien for nøkkelrammeintervall i OBS?


I motsetning til populær tro er ikke standardverdien for nøkkelrammeintervall i OBS Studio, den nyeste versjonen av OBS (Open Broadcasting Software), satt til 2 sekunder. Den er faktisk satt til 250 bilder når nøkkelrammeintervallet er satt til "auto" modus.

Nøkkelrammeintervallet er tiden eller antallet bilder mellom hver nøkkelramme (I-ramme) i en videostream, og det måles i sekunder eller antall bilder. Et nøkkelrammeintervall på 2 sekunder betyr at en ny nøkkelramme blir satt inn i videostreamen hvert 2. sekund, og et nøkkelrammeintervall på 250 bilder betyr at en ny nøkkelramme blir satt inn i videostreamen hvert 250. bilde. Det er tryggere å bruke sekunder, da avspillingen er avhengig av sekunder, og et nøkkelrammeintervall uttrykt i bilder vil ha forskjellige verdier avhengig av bildefrekvensen. For eksempel vil et nøkkelrammeintervall på 25 bilder per sekund være 10 sekunder, mens det vil være 8,33 sekunder for 30 bilder per sekund og 4,16 sekunder for 60 bilder per sekund.

Derfor er det ikke et godt valg for en kringkaster å velge "auto" for nøkkelrammeintervall, i stedet anbefales det å velge avansert modus i utgangen for å sette det i samsvar.

Hvilke programvarealternativer finnes for å bestemme nøkkelrammeintervallet for en videostream eller fil?


Det finnes flere programvareverktøy du kan bruke for å sjekke nøkkelrammeintervallet for en videostream eller fil. Noen av de mest populære alternativene inkluderer:

  1. FFmpeg: FFmpeg er et gratis og åpen kildekode-kommandolinjeverktøy for håndtering av multimedia. Du kan sjekke nøkkelrammeintervallet for en videostream eller fil ved å bruke "-show_frames"-alternativet. Dette vil vise alle bildene i videoen og deres typer, inkludert nøkkelrammene.
  2. MediaInfo: MediaInfo er en gratis, åpen kildekode-programvare som viser detaljert informasjon om videofiler og lydfiler, inkludert nøkkelrammeintervallet. Den kan brukes på både Windows og MacOS.
  3. VLC mediespiller: VLC mediespiller er en gratis, åpen kildekode-mediespiller som kan spille av et bredt spekter av video- og lydformater. Den har et innebygd vindu for medieinformasjon som kan vise nøkkelrammeintervallet for en videofil, blant annen informasjon.
  4. HandBrake: HandBrake er en gratis, åpen kildekode-videokonverteringsprogramvare som kan brukes til å konvertere videofiler fra ett format til et annet. Den har en innebygd funksjon for å sjekke nøkkelrammeintervallet for en videofil, blant annen informasjon.
  5. Streamlink: Streamlink er et gratis og åpen kildekode-kommandolinjeverktøy som lar deg se på nettvideostreamer i en mediespiller etter eget valg. Det har også muligheten til å vise nøkkelrammeintervallet for en videostream.


Dette er noen eksempler på tilgjengelige programvareverktøy, men det finnes også andre alternativer, som kommersiell programvare (Elecard StreamEye, Telestream Switch), som kan ha flere funksjoner og alternativer for å sjekke nøkkelrammeintervallet for en videostream eller fil.

Hvilket nøkkelrammeintervall TRENGER jeg for MIN egen brukstilfelle for direktesending?


Tilfelle 1: Jeg vil ha best mulig videokvalitet og jevn ytelse under avspilling.


For optimal videokvalitet og pålitelighet i direktesending, anbefaler Apple - skaperen av HLS - å bruke en segmentvarighet på minst 6 sekunder og et vindusstørrelse på 15 minutter. For å sikre en førsteklasses direktesending er det viktig å velge en online videoleverandør som følger og overgår disse anbefalingene fra Apple.

Mange HLS-spillere kan ikke endre oppløsning på noe annet tidspunkt enn ved starten av et segment. For å oppnå best mulig videokvalitet på disse spillerne er det ikke nødvendig å bruke et kortere nøkkelrammeintervall enn segmentvarigheten, da det ville resultere i unødvendige nøkkelrammer og bortkastede biter. Et nøkkelrammeintervall på 6 sekunder anbefales sterkt for videokvalitet og pålitelighet. Hvis du imidlertid planlegger å bruke bare Apple-økosystemet, som Safari og native spillere (AVPlayer) på iOS, iPadOS og tvOS, kan disse spillerne håndtere bytte under et segment. I dette tilfellet kan du bruke et kortere nøkkelrammeintervall, for eksempel 3 sekunder, men det kan føre til en liten forringelse av videokvaliteten, da spilleren vil forsøke å bytte til høyere oppløsning oftere.
Utforsk våre andre artikler for å forbedre videokvaliteten enda mer:
Maksimer ytelsen i direktesendingen din med vår ekspertguide om hvordan du konfigurerer OBS Studio riktig i 2023

Tilfelle 2: Jeg prioriterer rask interaksjon med seerne mine i direktesendingen, og dette er den eneste motivasjonen.


For minimal forsinkelse i direktesendingen, velg en online videoleverandør som tilbyr lav latens og sett et nøkkelrammeintervall på 1 sekund i transcoderen din. Hvis en end-to-end-forsinkelse på 3 til 5 sekunder er akseptabelt, kan et nøkkelrammeintervall på 2 sekunder brukes..
  • Valg av et kortere nøkkelrammeintervall på 1 sekund kan ha noen kompromisser med tanke på tjenestekvalitet. Spilleren vil endre oppløsning oftere, noe som resulterer i mindre segmentstørrelser og hyppigere tilpasning av bithastighet. I tillegg kan buffering forekomme oftere på grunn av økt oppløsningsbytte og hvis nettverket til seeren ikke er i stand til å laste ned segmentene raskt nok. Vurder disse potensielle ulempene når du velger mellom et nøkkelrammeintervall på 1 eller 2 sekunder..
  • Hvis det er mulig, konfigurer transcoderen din for null ventetidstilpasning.

Hva er nøkkelrammeintervallet på den demo-TV-kanalen nedenfor?


Det valgte nøkkelrammeintervallet er 6 sekunder, da det ikke er krav til lav ventetid, og dette er en av de viktigste parameterne å justere for å få høyere kvalitet.



Article written (translated from English) by
Sylvain CorvaisierCorvaisier Sylvain Independent Streaming Engineer
LinkedIn
Independent streaming and iOS engineer

Last modified: February 5th, 2025

Get your own TV channel on iOS, Android, Roku, Fire TV and Connected TV like this one easily

Unlimited, automated, 24/7 TV Channels from your content at $0.001 per minute

Cars and Roads - Brands (https://ireplay.tv/carsandroads/brands.m3u8)

Trusted by

trusted by Sky for native iOS development, SGAI interstitials, infrastructure and headend consulting
trusted by Arte for low-latency live streaming
trusted by DJing for VOD2Live, very high quality live streaming, Jukebox TV, private podcasts, paygate, iOS, iPadOS apps
trusted by CNRS for 'Antarctica to World' Live Streaming
trusted by Velocix for consulting and ops services
trusted by Thomson Video Networks/Harmonic for OTT/cloud training


A portion of iReplay.TV's revenues, specifically 1%, is being allocated towards funding research and providing assistance for children's cancer treatment at Gustave Roussy Institute
Learn more about Gustave Roussy cancer Institute