xiu is a free, open source digital asset management (dam) project written in Rust and released under MIT. It has 2,331 GitHub stars, 239 forks and 41 open issues, and was last pushed 6 months ago. On this registry it ranks #15 of 25 tracked projects in Digital Asset Management (DAM), with 5 head-to-head comparisons available.

What is xiu?

What it is

Xiu is an open-source live media server written in pure Rust under the MIT license. It supports RTMP, RTSP, WebRTC through Whip and Whep, HTTP-FLV, and HLS, and it runs on Linux, macOS, and Windows. It belongs to the Rust media-server ecosystem and targets live audio and video distribution.

The project solves the problem of accepting live media in one protocol and delivering it in another. A publisher can send H.264 or AAC over RTMP, H.265, H.264, or AAC over RTSP, and WebRTC media through Whip, while viewers can receive HTTP-FLV, HLS, or protocol-specific playback. Xiu also provides cluster support, GOP caching, token authentication, HTTP APIs, stream notifications, and HLS recording.

Key capabilities

  • It supports RTMP publishing and subscribing, including cluster mode.
  • It supports RTSP publishing and subscribing for H.265, H.264, and AAC over TCP interleaved and UDP.
  • It supports WebRTC ingest with Whip and playback with Whep, and converts WHIP to RTMP, HLS, and HTTP-FLV.
  • It converts RTMP and RTSP inputs into HTTP-FLV and HLS outputs.
  • It records live streams into HLS files composed of m3u8 and ts segments.
  • It provides configurable GOP cache behavior.
  • It exposes HTTP APIs for stream information and status notifications, supports token authentication, and can be configured from the command line or a configuration file.

Who uses it and how

  • Self-hosted media operators run it on Linux, macOS, or Windows to ingest and distribute live audio and video.
  • RTMP broadcasters publish H.264 and AAC streams, then serve HTTP-FLV or HLS to downstream players.
  • RTSP publishers and subscribers use H.265, H.264, and AAC streams, with conversion to RTMP, HLS, or HTTP-FLV.
  • WebRTC publishers use Whip, viewers use Whep, and other players can consume converted streams.
  • Application developers use HTTP APIs, notifications, and token authentication to integrate stream control and access management.

Getting started

The README identifies crates.io packages for the server and protocol components, and it states that configuration can be done through command-line options or a configuration file. The listed supported platforms are Linux, macOS, and Windows.

When to use it β€” and when not to

Xiu is useful when an operator needs a self-hosted Rust media server covering RTMP, RTSP, WebRTC, HTTP-FLV, and HLS with protocol conversion, cluster support, GOP cache, token authentication, HTTP APIs, and HLS recording. The provided facts do not name paid products that Xiu replaces, so no direct comparison is available. The facts also do not list Docker images, a hosted option, database requirements, storage requirements, or SMTP requirements, so a self-hoster must plan its own packaging and supporting infrastructure; the metadata shows 41 open issues and no contributor count, which warrants independent maintenance review.

project readme (upstream, from github) β€” read inline

XIUcrates.io crates.io RTMPcrates.io crates.io RTSPcrates.io crates.io WEBRTCcrates.io crates.io HTTPFLVcrates.io crates.io HLScrates.io crates.io FLVcrates.io crates.io MPEGTScrates.io crates.io wechat

English Doc δΈ­ζ–‡ζ–‡ζ‘£

Sponsors

We would like to thank the following sponsors for their support of this project.

Recall.ai - API for meeting recordings

If you’re looking for a meeting recording API, consider checking out Recall.ai, an API that records Zoom, Google Meet, Microsoft Teams, in-person meetings, and more.

Overview

Xiu is a simple,high performance and secure live media server written in pure Rust, it now supports popular live protocols like RTMP[cluster]/RTSP/WebRTC[Whip/Whep]/HLS/HTTP-FLV.

Features

  • Support multiple platforms(Linux/MacOS/Windows).
  • Support RTMP.
    • Support publishing or subscribing H.264/AAC streams.
    • Support GOP cache which can be configured in the configuration file.
    • Support protocol conversion from RTMP to HTTP-FLV/HLS.
    • Support cluster.
  • Support RTSP.
    • Support publishing or subscribing H.265/H.264/AAC stream over both TCP(Interleaved) and UDP.
    • Support protocol conversion from RTSP to RTMP/HLS/HTTP-FLV.
  • Support WebRTC(Whip/Whep).
    • Support publishing rtc stream using Whip.
    • Support subscribing rtc stream using Whep.
    • Support protocol conversion from WHIP to RTMP/HLS/HTTP-FLV.
  • Support HTTP-FLV/HLS protocols(Transferred from RTMP/RTSP).
  • Support configuring the service using command line or a configuration file.
  • Support HTTP API/Notifications.
    • Support querying stream information.
    • Support notification of stream status.
  • Support token authentications.
  • Support recording live streams into HLS files(m3u8+ts).

Contributors

Thanks for their contributions!

Star History

Star History Chart

Thanks

Others

Open issues if you have any problems. Star and pull requests are welcomed. Your stars can make this project go faster and further.

Frequently asked questions

Is xiu free to use?

xiu is open source under the MIT licence. There is no licence fee and no seat count β€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does xiu do?

A simple,high performance and secure live media server in pure Rust (RTMP[cluster]/RTSP/WebRTC[whip/whep]/HTTP-FLV/HLS).πŸ¦€

What is xiu written in?

xiu is primarily written in Rust. Its source is publicly available at https://github.com/harlanc/xiu, and it has 2,331 GitHub stars.