Complete overview of all system features, organized by module.
Modules
| Module | What it does | Language | Platform |
|---|---|---|---|
| Backend API | REST + WebSocket server | TypeScript / Node.js | Debian 12 |
| Control Room UI | Operator panel | Vue.js 3 | Browser (nginx) |
| Flutter App | iPad video player | Dart / Flutter | iPadOS |
| License Key | HMAC key generation | TypeScript / Node.js | Isolated Mac |
| Deploy | Provisioning + deploy | Bash | Mac → Server |
The modules in detail
Backend API (zerolatency-live-player-api)
Fastify + WebSocket API module on port 3002, the only backend of the system. It manages devices (iPads), streaming links, events and the license, with MongoDB as the database and Swagger UI at /docs.
→ See Backend API
Control Room UI (zerolatency-live-player-regia)
Standalone Vue 3 control room interface, operator dashboard: create/activate/block links, monitor devices and manage streams in real time via WebSocket.
→ See Control Room UI
Flutter App (zerolatency-live-player-app)
DVR/HLS player for iPad tablets with multi-slot support (MAIN/FEED/ALT) and real-time WebSocket. Based on VLCKit (MobileVLCKit) with a custom native VLC player (MethodChannel + direct VLCKit).
→ See Flutter App
License Key (zerolatency-live-player-keygen)
Standalone CLI tool to generate HMAC-SHA256 signed license keys, kept separate from the backend for security: only authorized staff should be able to generate valid keys. The backend only handles validation.
→ See License Keygen
Deploy (zerolatency-live-player-deploy)
Remote provisioning and deploy scripts for Debian 12 servers, multi-tenant: the same script deploys to multiple stadiums/servers (targets) selectable via targets.conf, with nginx, PM2, MongoDB and automatic backups.
→ See Deploy Module
Where to go next
| If you want to… | Go to… |
|---|---|
| Understand the features in detail | Features |
| Prepare the first deploy | Pre-deploy |
| Generate a license key | Generate License Key |
| Distribute the app to iPads | MDM Setup |
| Configure the Apple Developer account | Complete Guide |