RevoStream is a desktop application for streamers and live production teams. It helps you build scenes, manage sources, and run streaming or recording workflows in one place.
Powered by revo-project/revo-lib, RevoStream is built with Rust, Tauri, and Svelte.
Warning
RevoStream is officially supported on Linux. Windows and macOS can be run in experimental/dev mode (instructions below).
- Highlights
- Streaming
- Themes
- Usage
- Windows (experimental)
- macOS (experimental)
- OBS bootstrapper (if needed)
- Tech stack
- Contributing
- License
- Fast native backend powered by OBS/libobs
- Modern desktop UI for scene and source control
- Built-in tools for streaming and recording workflows
- Dedicated utility windows, including Graphic Planner
- Close to 50,000 lines of code
- Supports streaming services available in recent OBS Studio builds
- Official support for Kick streaming
- Protocol support: RTMP, RTMPS, SRT, RIST, WHIP, WebRTC
- Use built-in themes or create your own custom theme for your mood
- Quickly import themes via .revotheme extension
- Worldwide language support
- Support for more operating systems (e.g. Windows, macOS, Android)
Download the latest version from the Releases page.
Install dependencies and build:
pnpm build- Development mode:
./run.sh - Stable-release build:
./run-stable.sh
Use this only for local/dev testing.
- Rust toolchain (stable)
- Node.js 20+
pnpm- Visual Studio 2022 Build Tools (MSVC C++ toolchain)
- WebView2 runtime
# from revo-ui/
pnpm install
# frontend check
pnpm build
# tauri backend
cd src-tauri
cargo build --no-default-features
cd ..
# run app in dev mode
pnpm tauri devIf OBS symbols/modules are missing at runtime, follow OBS bootstrapper (if needed).
Use this only for local/dev testing.
- Rust toolchain (stable)
- Node.js 20+
pnpm- Xcode + Command Line Tools
# from revo-ui/
pnpm install
# frontend check
pnpm build
# tauri backend
cd src-tauri
cargo build --no-default-features
cd ..
# run app in dev mode
pnpm tauri devIf OBS symbols/modules are missing at runtime, follow OBS bootstrapper (if needed).
Because this project is based on revo-lib + libobs-rs, you may need to bootstrap matching OBS binaries on non-Linux setups or when system OBS is incompatible.
Install/update OBS on the host system and ensure runtime can find libobs and plugins.
In the revo-lib crate (sibling repository), enable/use the libobs-bootstrapper path from libobs-rs so OBS binaries are downloaded at runtime.
Typical flow:
- Add
libobs-bootstrapperintegration inrevo-libstartup path. - On app startup, bootstrap OBS binaries into app-local directory.
- Point runtime env paths (
OBS_DATA_PATH,OBS_PLUGIN_PATH, and platform library path) to bootstrapped output.
If you want, a ready-to-use bootstrap implementation can be added directly to revo-lib startup code.
- Rust (via
revo-libbased onlibobs-rs) - Tauri
- Svelte
- OBS/libobs via revo-lib
- clean.sh - for cleanup all built code
The project is currently in an early MVP stage Contributions are welcome
If you want to help:
- Open an issue with a bug report or feature request
- Discuss major changes before implementation
- Submit a pull request with a clear scope and summary
Pull requests for libobs bindings and performance optimizations are especially welcome
Let's build the future of streaming together
This project is distributed under the license included in this repository