Easy to Use
Clean API design, install and go. Available via npm with full TypeScript definitions. Play a video stream in just a few lines of code, zero external dependencies.
Supports playback and publishing, real-time video streaming based on WebRTC protocol, simple and performant
Clean API design, install and go. Available via npm with full TypeScript definitions. Play a video stream in just a few lines of code, zero external dependencies.
One library for both: subscribe WebRTC streams from SRS, ZLMediaKit, monibuca and other servers; or publish local camera, microphone, or screen capture to any WebRTC-compatible server.
Built on standard WebRTC APIs (RTCPeerConnection, getUserMedia, RTCRtpSender). Works with any WebRTC-enabled media server, no lock-in on server choice.
Implement the SignalingProvider interface to connect to any signaling server — HTTP, WebSocket, or your own protocol. Built-in HttpSignalingProvider works with SRS out of the box, or swap in your own in a few lines.
Supports camera (getUserMedia), microphone, and screen capture (getDisplayMedia). Switch input devices mid-stream without rebuilding the peer connection.
Pure TypeScript implementation, no runtime dependencies. Small bundle size, fast loading, tree-shakable, production-ready.
Built on standard WebRTC APIs, supporting Chrome, Firefox, Safari, and Edge. Works in React, Vue, Angular, or plain JavaScript without any framework adapter.
Suitable for live commerce, online education, telemedicine, video conferencing, security surveillance, real-time game streaming, and any low-latency real-time video application.