v139 · webrtc

Audio Level for RTC Encoded Frames

This feature consists in exposing to the Web the audio level of an encoded frame transmitted via RTCPeerConnection and exposed using WebRTC Encoded Transform.

concepts

  1. Encoded Frame Audio Level

    Each encoded audio frame now carries an audioLevel metadata field (0–127 dBov). Pipelines doing per-frame transforms can read it directly without decoding the frame.

  2. Silence Suppressor

    Skip transmitting encoded audio frames whose audioLevel falls under a silence threshold — no decode required. The explainer's bandwidth-saving use case, simulated against a live mic.

  3. Active Speaker & Dominance Router

    A 4-participant SFU simulator. The router reads audioLevel on every encoded frame, spotlights the loudest stream, and suppresses anyone below a configurable silence floor. Live mic input drives four virtual participants.

  4. Audio Mix Normalizer

    Four simulated participants with animated level bars. Set a target loudness, click Normalize — each participant gets a computed gain factor shown as a color-coded badge. Includes the actual RTCEncodedTransform code pattern for reading audioLevel and applying gain without decoding.

why it shipped

audioLevel is exposed via other APIs (RTCStats, RTCContributingSources) and supports well-known use cases such as indicating who's talking in a VC application, or detecting silence.

references