A production-ready, automated stream recording solution built with Rust.
- Documentation: https://hua0512.github.io/rust-srec/
- GitHub: https://github.com/hua0512/rust-srec
- Get started: https://hua0512.github.io/rust-srec/en/getting-started/
- Docker deployment: https://hua0512.github.io/rust-srec/en/getting-started/docker
- Installation (binaries / from source): https://hua0512.github.io/rust-srec/en/getting-started/installation
- Configuration: https://hua0512.github.io/rust-srec/en/getting-started/configuration
- Architecture overview: https://hua0512.github.io/rust-srec/en/concepts/architecture
- Engines: https://hua0512.github.io/rust-srec/en/concepts/engines
- FAQ: https://hua0512.github.io/rust-srec/en/getting-started/faq
This is a Rust workspace containing:
rust-srec/(package:rust-srec): the recorder backend (REST API + scheduler + pipeline + DB)strev-cli/(package:strev): a CLI for extracting/inspecting stream media info from platformsmesio-cli/(package:mesio): a CLI for downloading/fixing FLV/HLS streams and filescrates/: reusable protocol/container crates (FLV/HLS/TS) and platform extractors
- Multi-platform support via
platforms-parser(12 platforms): acfun, bilibili, douyin, douyu, huya, pandatv (legacy), picarto, redbook, tiktok, twitcasting, twitch, weibo - Automatic recording when streamers go live, with persistent state in SQLite (migrations run at startup)
- Post-processing DAG pipelines (segment, paired-segment, session-complete) with built-in processors
- Danmaku/chat capture alongside video (where supported by the platform)
- Multiple download engines:
ffmpeg,streamlink, and the built-in Rust enginemesio - REST API with OpenAPI + Swagger UI (
/api/docs) and JWT authentication - Docker-first deployment (official images in
rust-srec/docker-compose.yml)
Note: Docker images are tagged as vX.Y.Z (leading v). If you set VERSION in rust-srec/docker-compose.yml, use v0.1.0 (not 0.1.0).
strev(source instrev-cli/): platform extraction / stream inspection- Docs:
strev-cli/README.md - Build:
cargo build --release -p strev
- Docs:
mesio(source inmesio-cli/): download + repair FLV/HLS (and pipe output to other tools)- Docs:
mesio-cli/README.md - Build:
cargo build --release -p mesio
- Docs:
crates/platforms(crate:platforms-parser): platform URL parsing/extraction + danmaku providerscrates/mesio(crate:mesio-engine): Rust download engine for FLV/HLS with retries, caching, proxycrates/flv,crates/hls,crates/ts: container/protocol parsing and helperscrates/flv-fix,crates/hls-fix: stream repair and post-processing utilities
Common commands:
- Build:
cargo build - Test:
cargo test - Lint:
cargo clippy -- -D warnings - Format:
cargo fmt
Licensed under either of:
- Apache License, Version 2.0
- MIT license