Zero configuration
mDNS discovery finds receivers on your LAN automatically. Start casting in two terminal commands β no IP addresses, no pairing codes.
Lightweight LAN screen casting built in Rust. Discover receivers on your network, stream H.264 with Opus audio β no cloud, no accounts, no middleman.
Built for developers, homelabs, and edge devices β not for selling you a subscription.
mDNS discovery finds receivers on your LAN automatically. Start casting in two terminal commands β no IP addresses, no pairing codes.
Your screen never leaves your network. No cloud relay, no accounts, no telemetry. What happens on your LAN stays on your LAN.
One shared codebase with thin platform adapters. Hardware encoders, GPU textures, and a zero-copy pipeline target for minimal overhead.
From Pi Zero Wβclass 426p15 to full 1080p60. Profiles negotiate resolution and frame rate between sender and receiver.
Opus audio over RTP with RTCP-based A/V synchronization. Native codec support with ffmpeg fallback for interoperability.
Windows, macOS, and Linux today. Android receiver, iOS via ReplayKit, and Linux ARM boards (Raspberry Pi) on the roadmap.
A lean media pipeline designed for low latency on local networks.
Screen grab via native APIs
H.264 hardware encoder
RTP/UDP over LAN
HW decode β display
Requires ffmpeg on PATH and a Rust toolchain.
cargo build --workspace
cargo test --workspace
# Terminal 1 β receiver (publishes via mDNS)
cargo run -p zerocast_desktop -- recv 0.0.0.0:5000 --profile low
# Terminal 2 β sender (discovers receiver on LAN)
cargo run -p zerocast_desktop -- stream 0.0.0.0:0 --discover --profile low
Screen capture, H.264 encode, RTP streaming, rendering
Zero-config LAN receiver discovery
Opus RTP, native codec, RTCP A/V sync
Hot reconfigure, RTCP feedback, recv lag control
Then sender support
ReplayKit + VideoToolbox
Linux ARM β Raspberry Pi Zero W over Wi-Fi
Clone the repo, build with Cargo, and stream across your LAN in minutes.