{"repo":"ObserveRTC/observer-js","free":true,"listed":false,"github":"https://github.com/ObserveRTC/observer-js","clone":"git clone https://github.com/ObserveRTC/observer-js.git","description":"Server-side component to monitor WebRTC stack","language":"TypeScript","stars":10,"topics":["monitoring","nodejs","webrtc"],"license":"Apache-2.0","category":"analytics","readme_excerpt":"ObserverTC — @observertc/observer-js In one line: feed it WebRTC getStats() snapshots, and get back a live, queryable model of every call plus a single typed event stream to react to. observer-js is a server-side Node.js library for monitoring WebRTC sessions . A WebRTC application (typically an SFU or a signaling/stats backend) feeds it ClientSample objects — periodic snapshots of each participant's RTCPeerConnection.getStats() output plus application events — and observer-js maintains a live, in-memory model of every call, participant, peer connection, and media stream, derives per-interval and cumulative metrics, and emits a single, unified stream of typed events the application can react to. What you can do with it: - Monitor calls live — a queryable in-memory tree of every call, client, peer connection, track, codec, ICE candidate and data channel, each holding current and cumulative metrics. - React on one event bus — subscribe once on the Observer ; every payload carries its full ancestry ( call → client → peer connection → stat ), so you never walk the tree to subscribe. - Get derived metrics for free — counter-reset-safe per-tick deltas, bitrates, jitter, RTT, fraction-lost, remote-RTP (RTCP) correlation, and TURN/TCP usage from the selected candidate pair. - Correlate across an SFU — link a publisher's outbound track to every subscriber's inbound track ( RemoteTrackResolver ), and observe mediasoup routers/transports/producers/consumers on the server side. - Detect ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ObserveRTC","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ObserveRTC/observer-js/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}