WebRTC Metrics
A comprehensive overview of WebRTC statistics, derived indicators, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats
targetBitrate
Reflects the current encoder target in bits per second.
Description
Real number
Reflects the current encoder target in bits per second.
The target is an instantaneous value reflecting the encoder's settings, but the resulting payload bytes sent per second, excluding retransmissions, SHOULD closely correlate to the target.
The targetBitrate is defined in the same way as the Transport Independent Application Specific (TIAS) bitrate RFC3890.
Interpreting Values
Audio targets: | Codec | Bitrate | |-------|---------| | Opus | 20-50 kbps (typical) | | G.711 | 64 kbps (fixed) |
Audio targets are usually stable and rarely fluctuate
- Video targets: | Range | Description | |-------|-------------| | 150-300 kbps | Low quality, mobile-friendly | | 500 kbps-1.5 Mbps | SD quality (480p-720p) | | 1.5-4 Mbps | HD quality (720p-1080p) | | 4-8+ Mbps | Full HD/4K |
If targetBitrate is much lower than what the application configured as the maximum, bandwidth estimation is constraining the encoder
Common Causes
- Bandwidth estimation detected congestion and reduced the target
- Packet loss triggered bitrate reduction as a congestion response
- Available upload bandwidth is genuinely limited
- Sudden network changes (WiFi to cellular, network congestion spike) cause rapid target drops
User Experience Impact
- Low target means the encoder compresses more aggressively, resulting in blurrier video
- More visible compression artifacts, especially during motion
- Possible lower resolution or frame rate if the target drops below what the current settings require
- Audio targets are usually stable - audio quality is rarely affected by bitrate changes
- A rapidly fluctuating target indicates an unstable network, which users perceive as inconsistent video quality
Troubleshooting
- Compare with availableOutgoingBitrate - if target matches available bandwidth, the network is the constraint
- If target is lower than available bandwidth, there may be a configuration issue or encoder-side limitation
- Check qualityLimitationDurations for "bandwidth" to confirm network-driven constraints
- Verify the application's configured max bitrate is not set too low
- Monitor for correlation with packet loss events - loss spikes typically trigger target reductions
See also
- outbound-rtp->bytesSent
- outbound-rtp->retransmittedBytesSent
- outbound-rtp->bytesSent(bits/s)
- outbound-rtp->retransmittedBytesSent(bits/s)
- WebRTC Statistics Specification

Notes
- This is the target bitrate for the encoder. The actual generated bitrate of the encoder may be lower or higher than this value, depending on the content being encoded as well as the specific implementation's quality