finds.dev← search

// the find

harlanc/xiu

★ 2,297 · Rust · MIT · updated Mar 2026

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →