Skip to content
A lightweight, high-performance WebRTC SFU server built with Go and Pion. Supports WHIP/WHEP protocols for browser-based and OBS streaming, with room-based relay, optional recording, multi-layer authentication, and full observability.
Go nativeWHIP/WHEP protocolsSFU architecture

Architecture

WHIP/WHEP Protocols
Full support for WHIP publishing and WHEP playback. Compatible with OBS Studio and modern browsers via standard HTTP-based signaling.
Room-based SFU
Selective Forwarding Unit with one publisher and multiple subscribers per room. Efficient RTP packet forwarding without transcoding overhead.
Recording & Upload
Built-in recording with VP8/VP9 to IVF and Opus to OGG. Automatic upload to S3/MinIO for cloud storage integration.
Multi-layer Auth
Token authentication (global and per-room), JWT with role-based access control. Constant-time comparison prevents timing attacks.
Observability
Prometheus metrics, OpenTelemetry distributed tracing, and health checks. Production-ready monitoring out of the box.
High Performance
Low-latency, high-throughput media distribution. Efficient memory management with automatic room cleanup and goroutine lifecycle control.
Quick Start
go run ./cmd/server
Server starts on :8080. Publish via WHIP at /api/whip/publish/{room}, play via WHEP at /api/whep/play/{room}.

Released under the MIT License.