atm0s-media-server
atm0s-media-server is a Rust workspace for a decentralized low-latency media server. The current runtime is a single binary with multiple server modes that can run together in standalone mode or as separate console, gateway, connector, and media nodes.
The project is in a refactoring-era state around sans-io-runtime. Trust the source tree over older nested docs where they disagree.
Current Runtime
The binary is atm0s-media-server from bin/.
Current subcommands:
standalone: starts in-process console, gateway, connector, and media nodes for local development.
console: serves the console UI/API and SDN cluster views.
gateway: serves token APIs, WebRTC/WHIP/WHEP/RTPengine media APIs, node APIs, metrics APIs, and sample assets.
media: runs media workers and WebRTC/RTPengine transports.
connector: stores connector events in SQL storage and handles record/hook related connector work.
cert: writes self-signed certificate/key files for QUIC-related development utilities.
Implemented source-backed integrations include WebRTC SDK protobuf APIs, WHIP, WHEP, RTPengine-style APIs, recording upload/convert components, connector hooks, console APIs, and multi-tenancy sync storage. RTMP and SIP are not current in-repo server modes or transport crates.
Quick Start From Source
Prerequisites:
- Rust
1.84.0 with rustfmt and clippy from rust-toolchain.toml.
- Linux packages used by CI:
libsoxr-dev, libopus-dev, and libssl-dev.
protoc for all-features builds.
wget if using download-geodata.sh.
- Node 20 and pnpm if building the console frontend directly.