One gateway, every format.
Twelve protocols ingressed and egressed in a single Rust binary. In-process video and audio transcoding — no ffmpeg subprocess, no separate transcode box, no extra hardware. NMOS-friendly out of the box.
Add an input. Pick from the list.
SRT, RIST, RTP, UDP, RTMP, RTSP, HLS, CMAF-LL, WebRTC, the entire SMPTE ST 2110 family, the local Media Player, NDI — every protocol is a first-class entry in the same Add Input modal. The dropdown is the entire transport stack, not a curated subset.
Protocol Support
A unified gateway for every common broadcast and streaming transport, with FEC and redundancy built in.
Compressed-audio bridge: AAC in MPEG-TS (carried over RTMP/RTSP/SRT/UDP/RTP) decodes in-process via Fraunhofer FDK AAC (AAC-LC, HE-AAC v1/v2, multichannel up to 7.1), and can be re-encoded to AAC-LC, HE-AAC v1/v2, Opus, MP2, or AC-3 — all in-process via FDK AAC or libavcodec — on any RTMP, HLS, WebRTC, SRT, UDP, RTP, or RIST output.
Video transcoding (video_encode): libx264, libx265, and NVIDIA NVENC targeting H.264/HEVC on SRT, RIST, UDP, RTP, RTMP, and WebRTC outputs (WebRTC is H.264-only; HEVC sources are auto-transcoded). Shipped bundled in the release binary — AGPL-3.0-or-later combined work under the GPL portions.
| Protocol | Input | Output | Key Features |
|---|---|---|---|
| SRT | AES-CTR/GCM, Stream ID, FEC, 2022-7 redundancy, SMPTE 302M audio mode, optional audio_encode + video_encode on TS output, optional delay block | ||
| RIST | VSF TR-06-1 Simple Profile — NACK-driven retransmit, SMPTE 2022-7 redundancy, optional audio_encode + video_encode on TS output, optional delay block | ||
| RTP | SMPTE 2022-1 FEC, unicast/multicast, DSCP QoS, 2022-7 redundancy, optional audio_encode + video_encode on TS output, optional delay block | ||
| UDP | Raw MPEG-TS, unicast/multicast, SMPTE 302M audio mode, optional audio_encode + video_encode on TS output, optional delay block | ||
| RTMP/RTMPS | H.264 (FLV) + Enhanced-RTMP HEVC, AAC audio, ingest from OBS/ffmpeg, publish to Twitch/YouTube/Facebook, TLS, optional audio_encode + video_encode | ||
| RTSP | — | Pull H.264/H.265 from IP cameras, TCP/UDP | |
| HLS | — | Segment-based egress, HEVC/HDR support, MPTS filtering, optional audio_encode (AAC/HE-AAC/MP2/AC-3) | |
| CMAF / CMAF-LL | — | Fragmented MP4 with parallel HLS + MPEG-DASH manifests, chunked-transfer low-latency mode, ClearKey CENC (cenc AES-CTR + cbcs AES-CBC pattern) with Widevine/PlayReady/FairPlay PSSH passthrough, optional audio_encode (AAC/HE-AAC) and video_encode (H.264 on HLS+DASH, HEVC on DASH) | |
| WebRTC | WHIP/WHEP, H.264 + Opus, browser-compatible, via str0m, AAC→Opus and HEVC→H.264 auto-transcode | ||
| ST 2110-20 | Uncompressed video (RFC 4175, YCbCr 4:2:2 8/10-bit), PTP, 2022-7 Red/Blue — bridged to H.264/HEVC compressed flows on egress | ||
| ST 2110-23 | Uncompressed video partitioned (2SI + sample-row partition modes), PTP, 2022-7 Red/Blue | ||
| ST 2110-30 | PCM L16/L24, AES67 / RFC 3190, PTP, 2022-7 Red/Blue, IS-08 channel routing + hot reload | ||
| ST 2110-31 | AES3 transparent (Dolby E, Dolby Digital, etc.), bit-exact passthrough | ||
| ST 2110-40 | RFC 8331 ancillary — SCTE-104, ATC timecode, CEA-608/708 | ||
| rtp_audio | Generic RFC 3551 PCM over RTP (no PTP required), 302M-capable output, transcode + IS-08 channel mapping | ||
| Bonded | Carrier-grade multi-path aggregation — N heterogeneous paths over UDP / QUIC / RIST with media-aware IDR duplication across the two lowest-RTT legs, 32-bit ARQ, per-path RTT / loss / keepalive stats |
In-process transcoding
Video and audio transcoders run inside the same Rust process as the protocol stack. No subprocess hop, no shell-out, no extra failure mode. The release binary bundles GPL libx264 / libx265, NVENC, and QSV as an AGPL-3.0-or-later combined work under the GPL portions; the runtime probe auto-detects which hardware backends the host can actually open.
GPL-licensed encoders, shipped in the *-full release channel
LGPL-clean dispatcher; runs against the device driver at runtime
In-process via FDK AAC and libavcodec — no ffmpeg subprocess
Per-output sample-rate, bit-depth, IS-08 channel routing — hot-reload
Software, NVENC, QSV, VAAPI — same dropdown.
The Output modal's video_encode picker shows every encoder the host
actually supports. The hardware-probe runs at startup and silently hides backends that aren't installed
or don't open, so you only see options that will work. Same picker for AAC, Opus, MP2, AC-3 — and for
chassis-style transports like ST 2110 the audio sub-form drops in alongside.
Switch sources without going to black.
Attach multiple inputs to one flow and cut over with a single API call. A shared TS continuity fixer resets CC state, injects the new input's PAT/PMT with a bumped version, and forwards immediately. Receivers keep playing — even when the two sources use different codecs, sample rates, bitrates, or containers.
- Format-agnostic: H.264, HEVC, JPEG XS, uncompressed ST 2110
- Zero-gap PMT version bump (mod 32, PAT only when program set changes)
- Pair with SMPTE 2022-7 for sequence-aware hitless merge
- Drives the bilbycast-manager Switcher (PGM/PVW director console)
Drops into your facility.
Bilbycast speaks the standards your control system already speaks. No bespoke shim layer.
Set it up in 10 minutes.
Runs on commodity off-the-shelf hardware. Edge and relay are free under AGPL 3; manager is free for up to 10 nodes. No sign-up wall, no credit card. The same binaries you'd run in production.