WebRTC Metrics
A comprehensive overview of WebRTC statistics, derived indicators, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats
concealedSamples/totalSamplesReceived(%)
The percentage of concealed samples.
Description
Real number; as percentage
MUST NOT exist for video (this is audio only).
The percentage of the concealed samples out of the total samples.
This is calculated by dividing concealedSamples/s with inbound-rtp.totalSamplesReceived/s.
Interpreting Values
The below table indicates a rule of thumb for speech quality based on the number fo generated concealed samples. Your own experience with it might vary a bit. | Range | Description | |-------|-------------| | <1% | Imperceptible. Excellent quality | | 1-3% | Minor artifacts. May be noticed in quiet passages | | 3-5% | Clearly audible degradation | | 5-10% | Significantly impaired audio | | >10% | Speech barely intelligible in parts |
Common Causes
- Packet loss (main driver)
- High jitter causing packets to arrive after the playout deadline
- Network congestion bursts
User Experience Impact
- Concealed audio sounds like brief silence, metallic tone, or synthesized filler
- Short concealment events are hard to notice
- Longer or more frequent concealment causes "underwater" or "robotic" sound
Troubleshooting
- Check packetsLost and packetsDiscarded to determine the cause
- If packet loss is the cause, address network quality (wired connection, QoS, reduce competing traffic)
- If discards (late packets) are the cause, the jitter buffer may need to be larger - this trades higher delay for fewer artifacts
See also
- inbound-rtp->concealedSamples/s
- inbound-rtp->totalSamplesReceived/s
Notes
- Values are displayed between 0..100. So 3.5 means 3.5%