Getting Started
Bilbycast is a suite of Rust projects for professional broadcast media transport. Edge nodes move live video and audio between locations; the manager is the web UI that controls them; the relay traverses NAT between sites that can’t reach each other directly.
Components
Section titled “Components”| Component | Role |
|---|---|
| bilbycast-manager | Web UI + API. Controls edge nodes and relays. Where you click to make things happen. |
| bilbycast-edge | Media transport gateway. Bridges SRT, RIST, RTP, UDP, RTMP, RTSP, HLS, CMAF, WebRTC, and SMPTE ST 2110. In-process transcoding and local-display playout. |
| bilbycast-relay | Stateless QUIC relay for NAT traversal between edge sites. |
| bilbycast-appear-x-api-gateway | Sidecar that bridges Appear X devices into the manager. |
A few helper crates (bilbycast-srt, bilbycast-rist, bilbycast-fdk-aac-rs, bilbycast-ffmpeg-video-rs, bilbycast-bonding) ship inside the edge — you don’t install them separately.
Architecture
Section titled “Architecture” ┌─────────────────────┐ │ bilbycast-manager │ │ (Web UI + API) │ └────────┬────────────┘ │ WebSocket (wss://) ┌──────────────┼──────────────┐ │ │ │ ┌────────▼───────┐ ┌──▼──────────┐ ┌▼────────────────┐ │ bilbycast-edge │ │ bilbycast- │ │ bilbycast-edge │ │ (Site A) │ │ relay │ │ (Site B) │ └────────┬────────┘ └──┬──────────┘ └┬────────────────┘ │ │ │ └──────────────┘──────────────┘ QUIC tunnels (encrypted)Edge nodes connect outbound to the manager — devices behind NAT or restrictive firewalls don’t need any inbound port.
What you’ll do
Section titled “What you’ll do”A typical first deployment takes about 20 minutes and looks like this:
- Install the manager — one command brings up Postgres + the binary as a systemd service, and you log in to the web UI.
- Install the relay — only if your sites can’t reach each other directly. Skip otherwise.
- Install an edge node — download, run, then point a browser at the setup wizard to register it with the manager. No hand-edited config files.
- Create your first flow — point-and-click in the manager UI: add an input, add an output, click Save.
For a high-level view of the deployment topology and firewall flows, see the Deployment overview.