WebRTC debugging from dump to diagnosis

rtcStats combines open-source collection tools with a cloud analysis platform. You collect the stats, we surface the root causes - experience scores, observations, deductions, and actionable insights your team can act on immediately.

How it works

rtcstats (SDK)

Open-source client SDK that collects WebRTC statistics from your application automatically. Drop it in, point it at your collection server or use the built-in websocket transport, and every session is captured.

rtcstats-server

Open-source collection server that receives stats via websocket and stores them for analysis. Scales horizontally, anonymizes IP addresses by default, and connects directly to rtcstats.com when you want cloud analysis.

rtcstats.com (Cloud)

Upload a webrtc-internals dump or connect your SDK pipeline. Every session gets an experience score, AI-powered observations, and root-cause deductions. Free plan included - no credit card, no expiration.

What your analysis looks like

Every session is broken down across five analysis views. Here's what you get.

Session overview with experience scores, observations, and AI summary
1
The full picture in one scroll

Every session starts here. Experience score, audio/video/connectivity scores, AI-generated observations, and a plain-English summary of what happened and why.

  • Experience score from 0-100% with severity-ranked observations
  • AI summary that explains issues in human language
  • Session, Client, and Content cards with per-area deductions
Connection analysis with ICE candidates and network path
2
See how the connection was built

ICE candidate pairs, relay vs direct paths, DTLS handshake timing, and connectivity observations. Know whether the call went through a TURN server and why.

  • ICE candidate pair timeline with state transitions
  • Local and remote candidate types (host, srflx, relay)
  • Connection-level observations flagging relay fallbacks or failures
Audio and video stream performance charts
3
Audio and video under the microscope

Per-stream bitrate, packet loss, jitter, and round-trip time over time. Spot bandwidth limitations, codec switches, and quality degradation the moment they happen.

  • Time-series charts for every inbound and outbound stream
  • Bandwidth limitation observations with timestamps
  • MOS scores, codec info, resolution and framerate tracking
Device enumeration showing cameras, microphones, and changes
4
Every device change, tracked

Full device enumeration history - cameras, microphones, speakers, and screen shares. See which devices were available, which were selected, and when they changed.

  • Device inventory with labels, groupIds, and capabilities
  • Mid-call device switches and permission changes
  • Observations flagging missing or failed device access
Filterable event log with color-coded severity
5
The full event timeline

Every SDP negotiation, ICE event, track addition, and state change in chronological order. Filter by type, search by keyword, and trace the exact sequence that led to a failure.

  • Color-coded severity levels for quick scanning
  • Filterable by event type, connection, and direction
  • Full SDP offer/answer diffs for codec negotiation debugging

Why rtcStats?

Own your data: Your stats stay in your infrastructure until you choose to analyze them. The open-source SDK and server are fully self-hosted. You decide what gets shared, where it's stored, and how long it's kept.

Easy integration: Add the SDK to your app in minutes. It works alongside any WebRTC stack - no vendor lock-in, no proprietary agents, no code changes to your media pipeline.

Built by WebRTC experts: Created by engineers who have spent decades in the WebRTC ecosystem. The analysis isn't generic - it understands codec negotiation, ICE connectivity, simulcast behavior, and the edge cases that generic monitoring tools miss.

See it in action

Explore real analyses of LiveKit, NVIDIA, Netflix, and more.