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
On this page5 sections
clientgetdisplaymediascreensharecapture

getDisplayMedia (feature)

Last updated Applies tortcstats-serverrtcstats.com

Client-level features recording whether and how screen sharing was requested, and how often it succeeded or failed.

Description

Client-level features, extracted per session into features_client.

These features record how the application used getDisplayMedia, the API that requests screen, window, or tab capture for screen sharing. rtcstats-server derives them from the client trace:

  • calledGetDisplayMedia - whether getDisplayMedia was called at least once.
  • calledGetDisplayMediaAudio / calledGetDisplayMediaVideo - whether audio and/or video capture was requested.
  • getDisplayMediaErrorCount - how many calls failed.
  • getDisplayMediaSuccessCount - how many calls succeeded.

Why it matters

Screen sharing is a high-intent action: a user reaches for it in the middle of a call, so a failure there is far more visible than a failure users never see. These features let you measure screen-share adoption (what share of sessions even call getDisplayMedia) alongside its failure rate, the exact parallel to the getUserMedia funnel. A rising getDisplayMediaErrorCount, or a success ratio that drops after a browser update, points at a picker or permissions regression on the sharing path specifically, which you would otherwise miss because most of your capture monitoring watches the camera and microphone path.

SQL example

Screen-share adoption and failure rate, last 7 days:

SELECT
  COUNT(*) FILTER (WHERE client.called_get_display_media)::float
    / NULLIF(COUNT(*), 0) AS adoption_rate,
  SUM(client.get_display_media_error_count)::float
    / NULLIF(SUM(client.get_display_media_error_count + client.get_display_media_success_count), 0)
    AS failure_rate
FROM "rtcstats-server" AS server
JOIN features_metadata AS metadata ON metadata.dump_id = server.id
JOIN features_client   AS client   ON client.dump_id   = metadata.id
WHERE server.created_at > NOW() - INTERVAL '7 days';
  • getUserMedia - the camera and microphone capture funnel this one parallels.

See also