WebRTC Metrics

A comprehensive overview of WebRTC statistics, derived calculations, extracted features, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats

Back
trackvideooutboundsimulcast

Simulcast (feature)

Track-level features identifying simulcast layers by their RTP stream id and encoding index for outbound video.

Description

Track-level features, extracted per outbound video track into features_track.

These features identify which simulcast layer a track row represents:

  • rid - the RTP stream id of the simulcast layer, as set in the encoding parameters.
  • encodingIndex - the index of the encoding in the sender's layer list.

Extracted by the open-source rtcstats-features package.

Why it matters

Simulcast sends several encodings of the same video at different resolutions so an SFU can forward the right one per receiver. When you configured simulcast, you want to confirm it actually happened: that multiple layers were produced, not just one. rid and encodingIndex are how you tell layers apart within a single connection and group the rows that belong to the same source track.

If you expected three layers and see one, that is a configuration or negotiation problem worth catching. Grouping by rid also lets you compare per-layer behavior, since the high and low layers adapt independently under bandwidth pressure.

SQL example

Count distinct simulcast layers per connection for outbound video:

SELECT
  connection.id,
  COUNT(DISTINCT track.rid) AS layers
FROM "rtcstats-server" AS server
JOIN features_metadata   AS metadata   ON metadata.dump_id    = server.id
JOIN features_connection AS connection ON connection.dump_id  = metadata.id
JOIN features_track      AS track      ON track.connection_id = connection.id
WHERE connection.connected         -- only connections that reached 'connected'
  AND track.kind = 'video'         -- 'audio' or 'video'
  AND track.direction = 'outbound' -- 'inbound' or 'outbound'
  AND track.rid IS NOT NULL
GROUP BY connection.id
ORDER BY layers DESC;

See also