Getting started
Run all three components locally: the platform backend, this web app, and the native host agent on a machine with a GPU.
1. Platform (REST + signaling)
cd beam-platform
npm install
cp .env.example .env # Firebase project + service account
npm run dev # http://localhost:80802. Web app
cd latenz
pnpm install
cp .env.local.example .env.local # Firebase client keys
pnpm dev # http://localhost:3000Set NEXT_PUBLIC_PLATFORM_HTTP to your platform URL (default http://localhost:8080).
3. Host agent
cd beam-host
cmake -B build && cmake --build build -j
BEAM_TOKEN=<host-token> BEAM_SIGNAL_URL=ws://localhost:8080/signal ./build/beam-hostCreate a host from the dashboard (Connect device) or use the enrollment flow to obtain a token automatically.
4. Connect
Sign in at /login, open the dashboard, and click an online host to start a WebRTC session in a new tab. Mouse, keyboard, and scroll wheel are sent back over a DataChannel.
Requirements
- Firebase project for user authentication
- Linux host with X11 and NVIDIA (NVFBC + NVENC) or Intel/AMD (VAAPI, experimental)
- Chrome or Firefox for the viewer (see codec guide for H.265 / AV1 support)