Strömningssystem i realtid (WebRTC + live-data) · Lektion

Adaptiv bitrate och överbelastningskontroll

Lär er hur WebRTC anpassar mediekvaliteten i realtid med algoritmer för överbelastningskontroll och simulcast, så att samtal förblir stabila på nätverk som förändras.

Lektion 4 av 413 steg

Adaptiv bitrate och överbelastningskontroll är en gratis lektion i Strömningssystem i realtid (WebRTC + live-data) på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Strömningssystem i realtid (WebRTC + live-data), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Strömningssystem i realtid (WebRTC + live-data) innehåller totalt 4 lektioner.

Nätverk är aldrig stabila

Realtidsmedier körs över nätverk som ständigt varierar: Wi-Fi kan försämras, mobilanslutningar kan växla och bandbredden kan delas. En fast bithastighet kommer antingen att slösa med kapaciteten eller överbelasta en svag länk.

Adaptiv bithastighet gör att avsändaren kan anpassa sin utdata efter de aktuella förhållandena.

Signaler på överbelastning

WebRTC uppskattar överbelastning utifrån återkoppling:

  • Paketförlust som rapporteras via RTCP.
  • Ökande fördröjning (ökande jitter och envägsfördröjning).
  • Mottagarens uppskattningar av tillgänglig bandbredd.

Googles överbelastningskontroll

Den centrala algoritmen i WebRTC är GCC (Google Congestion Control). Den kombinerar en förlustbaserad styrenhet med en fördröjningsbaserad styrenhet för att uppskatta en säker sändningshastighet.

Fördröjningsbaserad uppskattning

Den fördröjningsbaserade delen övervakar hur paketens ankomsttider förändras. Om paketen börjar köas signalerar den ökande fördröjningen överbelastning innan någon förlust ens inträffar, så att avsändaren kan minska hastigheten tidigt.

Förlustbaserad uppskattning

Den förlustbaserade styrenheten reagerar på RTCP-rapporter om paketförlust. Över ett visst tröskelvärde sänker den hastigheten; vid liten förlust sonderar den långsamt uppåt för att återta bandbredd.

Byta upplösning mot bildfrekvens

När bandbredden minskar måste kodaren minska mängden bitar. Den kan sänka upplösningen (mjukare bild) eller bildfrekvensen (hackigare rörelser). WebRTC väljer utifrån innehållet: videosamtal prioriterar mjuka rörelser, medan skärmdelning prioriterar skärpa.

Simulcast till undsättning

Med simulcast kodar en avsändare samma video i flera kvaliteter samtidigt. SFU:n vidarebefordrar det lager som varje mottagare klarar av, så att en mottagare med svag anslutning inte försämrar upplevelsen för alla andra.

const sender = pc.addTransceiver(track, {
  sendEncodings: [
    { rid: 'low',  scaleResolutionDownBy: 4 },
    { rid: 'mid',  scaleResolutionDownBy: 2 },
    { rid: 'high', scaleResolutionDownBy: 1 }
  ]
});

Läsa bandbredd från statistik

Ni kan observera uppskattningen via getStats() genom att övervaka tillgänglig utgående bithastighet och aktuell sändningshastighet för att utlösa varningar i användargränssnittet.

const stats = await pc.getStats();
stats.forEach(r => {
  if (r.type === 'outbound-rtp') {
    console.log('bitrate', r.targetBitrate);
  }
});

Ange tak för bithastigheten

Ni kan begränsa kodaren så att den aldrig överskrider ett tak. Det är användbart för kostnadskontroll eller för att garantera att annan trafik får bandbredd.

const params = sender.getParameters();
params.encodings[0].maxBitrate = 500000;
await sender.setParameters(params);

FEC och omsändning

För att klara paketförluster utan att sänka kvaliteten använder WebRTC FEC (framåtriktad felkorrigering) och selektiv omsändning (NACK/RTX). Detta ökar overheaden men skyddar mot länkar med paketförluster.

Anpassa efter användningsområde

  • Konferenser: prioritera låg fördröjning och mjuka rörelser.
  • Utsändningar: tillåt en större buffert för stabilitet.
  • Skärmdelning: skydda upplösningen framför bildfrekvensen.

Snabbkontroll

Testa hur väl Ni har förstått adaptiv bithastighet.

Sammanfattning

WebRTC anpassar bithastigheten med GCC:s fördröjnings- och förlustbaserade uppskattningar, byter upplösning mot bildfrekvens efter behov och använder simulcast samt FEC/omsändning för att hålla samtal smidiga över instabila nätverk.

Gratis att börja

Lär dig Strömningssystem i realtid (WebRTC + live-data) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Adaptiv bitrate och överbelastningskontroll” gratis?

Ja – hela texten till ”Adaptiv bitrate och överbelastningskontroll” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Strömningssystem i realtid (WebRTC + live-data), kan Ni uppgradera till CoddyKit PRO. Kursen i Strömningssystem i realtid (WebRTC + live-data) innehåller totalt 4 lektioner.

Vad lär jag mig i ”Adaptiv bitrate och överbelastningskontroll”?

Lär er hur WebRTC anpassar mediekvaliteten i realtid med algoritmer för överbelastningskontroll och simulcast, så att samtal förblir stabila på nätverk som förändras. Ni övar på Strömningssystem i realtid (WebRTC + live-data) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Strömningssystem i realtid (WebRTC + live-data)?

Du behöver inga förkunskaper. Utbildningen i Strömningssystem i realtid (WebRTC + live-data) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Adaptiv bitrate och överbelastningskontroll”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Strömningssystem i realtid (WebRTC + live-data)-lektionen?

Ja. Varje Strömningssystem i realtid (WebRTC + live-data)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Bästa praxis för WebRTC-säkerhet
  2. Optimera mediekvaliteten
  3. Tekniker för bandbreddshantering
  4. Adaptiv bitrate och överbelastningskontroll
← Tillbaka till Strömningssystem i realtid (WebRTC + live-data)