// the find
harlanc/xiu
A simple,high performance and secure live media server in pure Rust (RTMP[cluster]/RTSP/WebRTC[whip/whep]/HTTP-FLV/HLS).🦀
XIU is a live media server written in pure Rust that handles ingest and playback across RTMP, RTSP, WebRTC (WHIP/WHEP), HTTP-FLV, and HLS. It supports protocol conversion between these formats and built-in clustering for RTMP. Aimed at developers who want a self-hosted streaming backend without pulling in a Go or C++ dependency like SRS or nginx-rtmp.
The workspace layout is clean — each protocol is its own crate with its own CHANGELOG, so you can take just the RTMP or HLS library without the full server. Protocol bridging (RTSP→RTMP→HLS, WHIP→RTMP) is genuinely useful and not something you get for free elsewhere in the Rust ecosystem. Built on Tokio throughout, so the async story is consistent rather than mixed. Token-based auth and an HTTP notification API are included out of the box, which saves you from bolting on a reverse proxy just to gate streams.
WebRTC support is limited to WHIP/WHEP — no SFU, no simulcast, no data channels. If you need real multi-party conferencing rather than simple browser ingest/playback, this won't get you there. The Opus-to-AAC transcoding path in the WebRTC module means you're taking a quality hit whenever browser audio goes through the pipeline. RTSP clustering is absent (only RTMP gets cluster support), which is a real gap for camera-heavy deployments. Documentation is sparse in the source; the English docs site link in the README points to a GitHub Pages site that covers the basics but leaves protocol edge cases undocumented.