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.
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.
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
- Bästa praxis för WebRTC-säkerhet
- Optimera mediekvaliteten
- Tekniker för bandbreddshantering
- Adaptiv bitrate och överbelastningskontroll