CallMeter Docs

Keyframe Requests Sent

Understand outbound keyframe requests in video streams — what they measure, why a high count signals video corruption, and how to reduce keyframe request frequency.

Keyframe Requests Sent counts the number of keyframe requests your endpoint has sent to the remote side during a video call. Each request is a signal that the local video decoder has lost synchronization and needs a complete picture (keyframe) to recover.

Think of it like asking someone to start their story over because you missed a critical part. Once or twice is normal. Asking repeatedly means you keep losing the thread — and in video terms, that means the picture is breaking down.

How It Works

Video codecs compress data by encoding most frames as differences from the previous frame (delta frames or P-frames). This works well until a packet is lost — without the reference data, subsequent frames cannot be decoded correctly, causing visual corruption.

When the decoder detects this corruption, it sends a keyframe request back to the sender via RTCP feedback. Two common request types exist:

  • PLI (Picture Loss Indication) — A polite request: "I lost some data, please send a keyframe when convenient"
  • FIR (Full Intra Request) — An urgent demand: "My decoder state is completely broken, send a keyframe immediately"

CallMeter counts all outbound keyframe requests (both PLI and FIR) and reports them per measurement interval.

Why It Matters

Every keyframe request represents a moment where the video viewer saw corruption, artifacts, or a frozen image. The video does not recover until the keyframe arrives and is successfully decoded — which can take hundreds of milliseconds.

For enterprise VoIP testing, the keyframe request rate is a leading indicator of video quality problems:

  • Sparse requests — Normal operation, occasional packet loss recovered quickly
  • Frequent requests — Persistent video corruption, poor viewer experience
  • Escalating requests — Worsening network conditions or a systematic problem

Common Causes of High Keyframe Request Counts

CauseExplanation
Network packet lossLost video packets break the decoder's reference chain
Insufficient bandwidthVideo bitrate exceeds available capacity, causing drops
Jitter buffer overflowLate packets discarded, creating gaps in the video stream
Firewall or NAT issuesUDP packets dropped by stateful network devices
Encoder errorsSender producing malformed video data

How to Fix It

  1. Check packet loss — Review Packet Loss Rate to confirm whether network-level loss is driving the keyframe requests.
  2. Verify bandwidth — Compare Video Bitrate against available network capacity. If the bitrate is close to the link capacity, congestion drops are likely.
  3. Enable NACK retransmissionNACK messages allow the receiver to request retransmission of specific lost packets, often recovering the video without needing a full keyframe.
  4. Review QoS configuration — Ensure video RTP packets are marked with appropriate DSCP values for priority handling.
  5. Reduce video resolution or framerate — Lower Resolution or FPS to reduce bandwidth demand and packet loss probability.

RFC Reference

PLI (Picture Loss Indication) is defined in RFC 4585 (Extended RTP Profile for RTCP-Based Feedback), Section 6.3.1. FIR (Full Intra Request) is defined in RFC 5104 (Codec Control Messages in the RTP Audio-Visual Profile with Feedback), Section 3.5.1.

On this page