v135 · webrtc

Timestamps for RTC Encoded Frames

This feature consists in exposing to the Web some timestamps that are present in WebRTC encoded frames transmitted via RTCPeerConnection. The timestamps in question are: -Capture timestamp: the timestamp when a frame was originally captured -Receive timestamp: the timestamp when a frame was received

concepts

  1. Encoded Frame Timestamps

    Raw RTCEncodedVideoFrame.metadata exposed in a script transform, showing the new captureTime/receiveTime fields.

  2. Jitter budget visualiser

    The end-to-end latency use case from the spec: stream encoded frames through a transform, slice the budget into capture, network, and render, render the chart live.

  3. Sync-scope detective

    Simulated audio + video encoded frames tick by; inject a 12ms audio drift and watch the cumulative skew plotted live. Shows how the new captureTime + senderCaptureTimeOffset fields catch drift without RTCP.

  4. Frame timestamp analyzer

    Simulate an RTCEncodedVideoFrame stream with configurable fps, jitter, and packet loss. A timeline bar chart marks normal frames, jitter spikes, and lost-frame gaps. Stats show median Δ, max Δ, accumulated A/V drift, and the 90kHz → ms conversion from frame.timestamp.

why it shipped

This change allows VC applications to implement latency measurements to better understand application performance.

references