Home
Softono
xiu

xiu

Open source MIT Rust
2.3K
Stars
235
Forks
40
Issues
29
Watchers
3 months
Last Commit

About xiu

Xiu is a simple, high performance, and secure live media server written entirely in pure Rust. It is designed to handle modern streaming requirements across Linux, macOS, and Windows platforms. The software supports a comprehensive suite of live streaming protocols including RTMP with clustering capabilities, RTSP, WebRTC via WHIP and WHEP standards, HTTP-FLV, and HLS. Xiu enables users to publish and subscribe to streams encoded with H.264, H.265, and AAC codecs. A key strength of the system is its flexibility in protocol conversion, allowing media to be seamlessly transformed between formats such as RTMP to HTTP-FLV or HLS, and RTSP or WebRTC streams to other popular delivery methods. It includes configurable GOP caching to optimize startup latency and viewer experience. The architecture supports cluster deployments for scalable distribution, making it suitable for both small-scale applications and large production environments. By leveraging Rust, Xiu ensures memory safety, concurrency efficiency, and low

Platforms

Web Self-hosted

Languages

Rust

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

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