CallMeter Docs

Video Freeze Duration

Understand video freeze duration measurement — how CallMeter tracks cumulative frozen video time, thresholds, and what long freeze durations mean for the viewer experience.

Video Freeze Duration measures the cumulative total time that the video was frozen during a call, expressed in milliseconds. While Video Freeze Events counts how many times the video froze, this metric tells you how long the picture was stuck in total.

Think of freeze count as "how many times did the TV picture lock up?" and freeze duration as "how much of the show did I miss while it was locked up?" Both matter, but duration is the more direct measure of viewer impact.

How It Works

When CallMeter detects a video freeze (no new frames rendered by the decoder), it starts a timer. When the decoder resumes producing frames (typically after receiving a keyframe), the timer stops and the duration is accumulated.

Freeze duration is cumulative over the measurement interval. If two freezes occur within the same second — one lasting 200ms and another lasting 300ms — the reported duration is 500ms.

This means you can calculate the percentage of time the video was frozen:

Freeze percentage = (freeze_duration_ms / measurement_interval_ms) * 100

A freeze duration of 500ms in a 1-second interval means the video was frozen 50% of the time during that second.

Why It Matters

Freeze duration is the definitive metric for quantifying video quality impact. It answers the most important question: "how much of the video did the viewer actually miss?"

For enterprise VoIP testing:

  • SLA compliance — Many enterprise video SLAs define maximum acceptable freeze duration per call or per minute
  • Quality scoring — Freeze duration is a major input to overall video quality scores
  • Capacity planning — Freeze duration at different load levels maps directly to user-visible quality at each capacity point
  • Comparison testing — When evaluating network paths, codecs, or configurations, freeze duration provides a single number for comparison

Thresholds

LevelDurationInterpretation
Good0msNo freezes, perfect video playback
WarningUp to 500msBrief freezes, noticeable but recoverable
CriticalAbove 2000msExtended freezing, severely degraded experience

Cumulative impact

Freeze duration accumulates. A call with 10 brief 200ms freezes has the same total freeze duration (2000ms) as a call with one long 2-second freeze. Both cross the critical threshold, but the user experience differs — many short freezes feel like stuttering, while one long freeze feels like a disconnect.

Common Causes of Long Freeze Durations

CauseExplanation
Sustained packet lossExtended periods of packet loss preventing frame decoding
Long keyframe intervalSlow recovery after corruption because keyframes arrive infrequently
Keyframe lossThe recovery keyframe itself is lost, extending the freeze until the next one
Severe network congestionNetwork path drops to near-zero throughput temporarily
Decoder error recoveryDecoder encountering repeated errors that require multiple keyframes to resolve

How to Fix It

  1. Reduce keyframe interval — The maximum single-freeze duration is bounded by the Keyframe Interval. Shorter intervals mean shorter worst-case freezes.
  2. Enable NACK retransmission — Recovering lost packets via NACK prevents many freezes entirely by filling gaps before the decoder stalls.
  3. Add FEC for keyframes — Forward Error Correction for keyframe packets provides redundancy for the most critical video data.
  4. Increase bandwidth headroom — Sustained congestion causes sustained freezing. Ensure adequate bandwidth with burst capacity.
  5. Monitor freeze patterns — If freeze duration is high but freeze count is low, you have a few long freezes (likely keyframe loss). If both are high, you have systematic quality issues.

On this page