Production-grade live video platform with RTMP ingest, adaptive bitrate transcoding, real-time chat, viewer analytics, VOD recording, and a full monitoring stack.
Accepts RTMP streams on port 1935 with stream key authentication and lifecycle hooks.
Adaptive bitrate ladder: 1080p, 720p, 480p, 360p with configurable presets and codec options.
Master playlist with variant streams, 6-second segments, 10-segment sliding window.
Socket.IO rooms per stream, message persistence, moderation (ban/mute/delete), slow mode.
Real-time viewer counts, peak/total viewers per session, stream health metrics (bitrate, FPS).
Automatic stream archival to MP4, HLS VOD playlists, thumbnail sprite sheets via BullMQ jobs.
FFmpeg transcodes to 4 quality levels with HLS master playlists. Viewers automatically switch quality based on bandwidth.
JWT access + refresh tokens, bcrypt password hashing, role-based access control (admin, streamer, viewer), stream key rotation.
Room-per-stream architecture via Socket.IO with message persistence, rate limiting, and full moderation tools.
Real-time viewer counts, session history, stream health metrics, and server-wide statistics with React admin UI.
Automatic stream archival, MP4 conversion, HLS VOD playlists, and thumbnail generation via background job queue.
Prometheus metrics collection, Grafana dashboards, health check endpoints, and custom streaming gauges.
| Module | Endpoints | Description |
|---|---|---|
| Authentication | 5 | Register, login, refresh, logout, current user |
| Streams | 7 | CRUD, stream key management, force stop |
| Chat | 4 | Messages, ban/unban, delete messages |
| Analytics | 4 | Stream summary, viewers, sessions, dashboard |
| VOD | 4 | List, details, delete, HLS manifest |
| Infrastructure | 2 | Health check, Prometheus metrics |
6-service orchestration: Node.js app, PostgreSQL, Redis, Nginx reverse proxy, Prometheus, and Grafana. One command to start everything.
TLS termination, static HLS file serving, WebSocket proxying, and rate limiting at the edge.
GitHub Actions workflows for automated linting, type checking, testing, and Docker image builds on every push.