▮ Getting started
Run from source
For development, or if you'd rather build it yourself. You'll run the Rust API and the SvelteKit web UI together.
1 · Install dependencies
Rust and Node via your preferred toolchain managers:
# Rust — https://rustup.rs
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Node.js 20+
nvm install 20 && nvm use 20 And ffmpeg, which the media engine shells out to:
# macOS
brew install ffmpeg
# Ubuntu / Debian
sudo apt-get update && sudo apt-get install -y ffmpeg No GStreamer required. Muxshed uses ffmpeg plus a custom Rust RTMP relay — RTMP fan-out is
forwarded, not re-encoded.
2 · Clone and run
git clone https://github.com/muxshed/muxshed
cd muxshed/system
./dev.sh dev.sh builds and starts the API on :8080 and the web UI on its dev
port. The API serves RTMP ingest on :1935 and SRT on :9000.
3 · First-time setup
- Open the web UI and create your admin account.
- Copy the API key shown — it's only displayed once.
- Go to Sources, copy the OBS URL + stream key, and start pushing.
- Hit Go Live — you can broadcast to your watch page with zero external destinations.
Tests
# Rust API integration tests
cargo test --workspace
# Frontend type-check + build
cd web && npm run check && npm run build