WebRTC Metrics
A comprehensive overview of WebRTC statistics, derived indicators, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats
availableIncomingBitrate
The available bitrate for all incoming media streams for this candidate pair.
Description
Real number
It is calculated by the underlying congestion control by combining the available bitrate for all the incoming RTP streams using this candidate pair.
The bitrate measurement does not count the size of the IP or other transport layers like TCP or UDP. It is similar to the TIAS defined in RFC3890, i.e., it is measured in bits per second and the bitrate is calculated over a 1 second window. For pairs in use, the estimate is normally no lower than the bitrate for the packets received at lastPacketReceivedTimestamp, but might be higher.
Interpreting Values
| Range | Description | |-------|-------------| | >2.5 Mbps | Comfortable for receiving full HD video | | 1-2.5 Mbps | Good for HD video (720p) | | 300-500 kbps | Minimum for acceptable incoming video quality | | <300 kbps | Incoming video will be poor quality or absent |
This metric is less commonly available - it only exists when specific RTCP header extensions are used
Common Causes
- Remote sender's upload network is constrained
- Intermediate network congestion between the peers
- Your download bandwidth is limited
- The remote peer's device is CPU-constrained, limiting what it can send
User Experience Impact
- Low incoming bitrate means you receive lower quality video from the remote peer
- Reduced resolution - faces become less recognizable, text in screen shares becomes unreadable
- Lower frame rate - motion appears choppy or stuttery
- More compression artifacts - blocky patches, especially during movement
Troubleshooting
- This usually reflect the remote sender's constraint, not yours - check their outbound stats if accessible
- If your download bandwidth is fine (verify with a speed test) but this value is low, the bottleneck is on the sender's side or in the network path between you
- Compare with availableOutgoingBitrate - if both are low, you likely have a local network issue
See also
- candidate-pair->bytesReceived
- candidate-pair->availableOutgoingBitrate
- WebRTC Statistics Specification

Notes
- Only exists when a receive-side bandwidth estimation, for example REMB was calculated
- MUST NOT exist for candidate pairs that were never used for receiving packets that were taken into account for bandwidth estimation or candidate pairs that have have been used previously but are not currently in use