All Projects → mycrl → mystery

mycrl / mystery

Licence: GPL-3.0 license
WebRTC Server implemented by ❤️ Rust + Node.js.

Programming Languages

rust
11053 projects
javascript
184084 projects - #8 most used programming language
typescript
32286 projects
c
50402 projects - #5 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to mystery

werift-webrtc
WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP
Stars: ✭ 228 (+52%)
Mutual labels:  dtls, ice, rtp
violet
Lightweight STUN/TURN server
Stars: ✭ 112 (-25.33%)
Mutual labels:  stun, turn, ice
libjuice
JUICE is a UDP Interactive Connectivity Establishment library
Stars: ✭ 197 (+31.33%)
Mutual labels:  stun, sdp, ice
janus-gateway-live
RTMP edge speed with janus-gateway
Stars: ✭ 38 (-74.67%)
Mutual labels:  mcu, rtp, rtcp
speaker.app
Source code for https://speaker.app, a batteries-included, web-based, quasi-decentralized, WebRTC networking platform, with a primary focus on audio and screen-sharing, and a secondary focus on chat messages and peripheral features.
Stars: ✭ 26 (-82.67%)
Mutual labels:  stun, turn, mcu
rtsp-simple-proxy
DEPRECATED - please use https://github.com/aler9/rtsp-simple-server
Stars: ✭ 41 (-72.67%)
Mutual labels:  rtp, rtcp
sip3-salto-ce
SIP3 Salto (Community Edition)
Stars: ✭ 71 (-52.67%)
Mutual labels:  rtp, rtcp
Sipsorcery
A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps.
Stars: ✭ 449 (+199.33%)
Mutual labels:  ice, rtp
sip3-captain-ce
SIP3 Captain (Community Edition)
Stars: ✭ 73 (-51.33%)
Mutual labels:  rtp, rtcp
Webrtc
A pure Rust implementation of WebRTC API
Stars: ✭ 922 (+514.67%)
Mutual labels:  ice, rtp
kvazzup
Open software for HEVC video calls
Stars: ✭ 30 (-80%)
Mutual labels:  sdp, ice
srtplight
set of classes implementing a simple (S)RTP stack
Stars: ✭ 34 (-77.33%)
Mutual labels:  rtp, rtcp
Ejabberd
Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
Stars: ✭ 5,077 (+3284.67%)
Mutual labels:  stun, turn
stun codec
Decoders and encoders for STUN (RFC 5389) and its extensions
Stars: ✭ 19 (-87.33%)
Mutual labels:  stun, turn
krtp
node.js implementation of rtp, rtcp protocols. RFC 3550
Stars: ✭ 30 (-80%)
Mutual labels:  rtp, rtcp
kurento-group-call-node
kurento group call server
Stars: ✭ 49 (-67.33%)
Mutual labels:  sfu, mcu
pikascript
Ultralightweight Python engine that can run with 4KB of RAM and 32KB of Flash (such as STM32G030C8 and STM32F103C8), and is very easy to deploy and expand.
Stars: ✭ 855 (+470%)
Mutual labels:  mcu
Live-platform
在线直播系统
Stars: ✭ 21 (-86%)
Mutual labels:  sdp
wolfssl-py
Python wrapper for wolfSSL embedded SSL/TLS library.
Stars: ✭ 30 (-80%)
Mutual labels:  dtls
cppreg
A C++11 header-only library for MMIO registers
Stars: ✭ 43 (-71.33%)
Mutual labels:  mcu
mystery

WebRTC Server implemented by ❤️ Rust + Node.js


mystery 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

Important: The project was developed by myself. This is just my side project, so the development progress will be slower. If you are looking for the mature and highly supported webrtc component of rust instead of the media control center implementation, you can follow this project: webrtc.rs

Base protocols support:

  • turn (add support for session node grouping)
  • stun (superfast parser! The throughput of a single thread is as high as 3Gib/s! 30 million stun packets can be processed in one second!)
  • rtp (lock the rtp version to rfc3550)
  • sdp (partial support of the protocol)
  • [doing] rtcp
  • srtp
  • srtcp
  • [doing] dtls (the encryption process is not clear)

Peripheral components:

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/mystery

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 mystery
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 mystery
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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].