mystical is a WebRTC server solution implemented using Rust and supports the SFU/MCU model. Compared with other ongoing projects, the current project prioritizes WebRTC one-to-many live broadcasting, but this does not mean that the project will give up peer-to-peer two-way dialogue.
Table of contents
Roadmap
- TURN
- STUN
- WebRTC
- RTP
- RTCP
- SRTP
- DTLS
- SDP
- ICE
- SFU
- MCU
Building
Prerequisites
You need to install the Rust toolchain, if you have already installed it, you can skip it, Install Rust, then get the source code:
git clone https://github.com/Mycrl/mystical
And, you need to install the openssl toolchain.
Windows
If you have chocolatey installed you can install openssl via a single command i.e.
choco install openssl
Linux
sudo apt-get install libssl-dev
Macos
brew install openssl
Build workspace
Compile the entire workspace in release mode:
cd mystical
cargo build --release
After the compilation is complete, you can find the binary file in the "target/release" directory.
Docker compose
Use docker-compose to start all services:
cd mystical
docker-compose up -d
Code style
The coding style of this project may not conform to the community style or the habits of most people, but it conforms to my own style. I have paranoid requirements for the code format, I know this is a bad habit, and the current project is also independently developed and maintained by me. If you have more suggestions, you can tell me.
License
GPL Copyright (c) 2020 Mr.Panda.