Open Reverb is an open-source voice, video, and text communication platform similar to TeamSpeak and Discord. It provides a self-hostable server and cross-platform clients for Windows and macOS.
- Voice over IP (VoIP) communication
- Video calling
- Screen sharing
- Channel-based communication
- Cross-platform support (Windows, macOS)
- Self-hostable server
Open Reverb is structured as a Rust workspace with three main components:
- open-reverb-common: Shared code, models, and protocols used by both client and server
- open-reverb-server: The server implementation that handles connections, channels, and message routing
- open-reverb-client: The client application with a cross-platform GUI using egui
- Rust toolchain (1.63+)
- Cargo package manager
- Platform-specific development dependencies
- Visual Studio Build Tools with C++ support
- Xcode Command Line Tools
Open Reverb supports conditional compilation of certain features:
# Build with audio support (requires cpal)
cargo build --features audio
# Build with video support (requires gstreamer)
cargo build --features video
# Build with all features
cargo build --features "audio video"Note: Full audio and video support requires additional platform-specific dependencies:
- Audio: CPAL dependencies (ALSA on Linux, CoreAudio on macOS)
- Video: GStreamer libraries with appropriate plugins
You can use the provided build scripts:
# On macOS
./scripts/build_macos.sh
# On Windows
scripts\build_windows.bat
# Cross-compile for Windows from macOS/Linux
./scripts/cross_compile_windows.shOr build manually:
# Build everything in debug mode
cargo build
# Build everything in release mode
cargo build --release
# Build specific component
cargo build -p open-reverb-server --release./target/release/open-reverb-server./target/release/open-reverb-clientContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.