WebRTC Metrics
A comprehensive overview of WebRTC statistics, derived calculations, and extracted features, to better understand call quality, connectivity, and user experience in rtcStats
On this page7 sections
inbound-rtp.concealedSamples/totalSamplesReceived(%)
Last updated Applies tortcstats.com
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.
This is the total concealment rate: it counts every concealed sample, including the muted portion (silentConcealedSamples).
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%
The session analysis applies its own threshold to this ratio on inbound audio streams, computed on the audible portion only so that inserted silence does not inflate it. That result is shown on the session, not here.
Was this page helpful?