All Projects → medooze → Sfu

medooze / Sfu

Licence: mit
A future proof, experimental WebRTC VP9 SVC SFU wit end to end encryption support

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Sfu

Rn Webrtc Arkit Integration
Capturing ARKit scene (Like `react-native-arkit`) into WebRTC video stream
Stars: ✭ 152 (-6.75%)
Mutual labels:  webrtc
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (-3.07%)
Mutual labels:  webrtc
Video Call App
A text, audio and video chat application built with webRTC and Ratchet (PHP WebSocket)
Stars: ✭ 161 (-1.23%)
Mutual labels:  webrtc
Meshenger Android
P2P Audio/Video calls over local networks. No server or Internet access needed.
Stars: ✭ 152 (-6.75%)
Mutual labels:  webrtc
Kalm.js
The socket manager
Stars: ✭ 155 (-4.91%)
Mutual labels:  webrtc
P2pt
Simple WebRTC Peer 2 Peer connections using WebTorrent trackers as the signalling server. Use WebTorrent trackers for any kind of WebRTC app ! 🔥 Make WebRTC apps fast & easy ! 🚀⭐
Stars: ✭ 159 (-2.45%)
Mutual labels:  webrtc
Tfobjwebrtc
Tensorflow Object Detection API Web Service wrapper that works on any <video> tag and WebRTC streams
Stars: ✭ 149 (-8.59%)
Mutual labels:  webrtc
Trango Self Hosted
Host trango and communicate with those around you without the internet!
Stars: ✭ 164 (+0.61%)
Mutual labels:  webrtc
Udonarium
WebRTCを使ってブラウザ間通信を行うオンセツール
Stars: ✭ 157 (-3.68%)
Mutual labels:  webrtc
Webrtc
Video chat App with WebRTC using Scaledrone Realtime Messaging Service
Stars: ✭ 161 (-1.23%)
Mutual labels:  webrtc
Pychat
webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing
Stars: ✭ 152 (-6.75%)
Mutual labels:  webrtc
Ovmeet
MCU融屏、H5手机直播、H5视频教学、视频会议、H5视频直播、WebRtc、RTMP、SIP、RTSP、白板、视频录制、视频通话、旁路直播
Stars: ✭ 154 (-5.52%)
Mutual labels:  webrtc
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (-1.84%)
Mutual labels:  webrtc
Opentok Node
OpenTok Server SDK for node.js
Stars: ✭ 152 (-6.75%)
Mutual labels:  webrtc
Opentok React Native
OpenTok React Native - a library for OpenTok iOS and Android SDKs
Stars: ✭ 161 (-1.23%)
Mutual labels:  webrtc
0x Mesh
A peer-to-peer network for sharing 0x orders
Stars: ✭ 149 (-8.59%)
Mutual labels:  webrtc
Nextrtc Signaling Server
NextRTC is simple WebRTC signaling server written in java. It provides signal exchange and easy to integrate API
Stars: ✭ 158 (-3.07%)
Mutual labels:  webrtc
Spitfire
An easy to use WebRTC Datachannels library for .NET applications.
Stars: ✭ 164 (+0.61%)
Mutual labels:  webrtc
Roomler
Roomler - Multi-party Video Conferencing & Team Collaboration Tool using WebRTC (Janus Gateway)
Stars: ✭ 160 (-1.84%)
Mutual labels:  webrtc
Workerman Webrtc
php webrtc demo based on workerman
Stars: ✭ 161 (-1.23%)
Mutual labels:  webrtc

Medooze SFU

A future proof, experimental WebRTC VP9 SVC SFU.

Motivation

There are already several good production ready alternatives for implementing multiconferencing on webrtc, like Jitsi, Janus or SwitchRTC SFUs and even if you need more legacy support you can try our MCU. Our goal is to experiment and provide an early access to the functionalities that will be available in the near future that will improve drastically the performance and quality of multiconferencing services on WebRTC.

Due to the experimental nature of this functionalities we will only officially support Chrome Canary to be able to access the very latest functionalities available (sometimes even running behind a flag). We don't care about interporeability with other browsers (they will eventually catch up) nor SDP legacy support.

Goal

It is our goal to implement only the We intent to implement support the following features:

This is a moving target as new functionalities will be available on Chrome and some others will be removed, we will update our targets appropiatelly.

To enable VP9 SVC on Chrome Canary you must use the following command line:

chrome.exe --force-fieldtrials=WebRTC-SupportVP9SVC/EnabledByFlag2SL3TL/

End to end encrytpion

A full version of SFrame end to end encryption is under works via insertable streams. Current implementation just uses frame counter as IV which is then inserted in the AES-GCM encrypted frame payload for emoing all required capabilities.

Install

You just need to install all the depencencies and generate the ssl certificates:

npm install 
openssl req -sha256 -days 3650 -newkey rsa:1024 -nodes -new -x509 -keyout server.key -out server.cert

If you get an error like this

gyp verb build dir attempting to create "build" dir: /usr/local/src/medooze/sfu/node_modules/medooze-media-server/build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/src/medooze/sfu/node_modules/medooze-media-server/build'

You may try instead with:

npm install --unsafe-perm

Usage

In order to run the sfu just:

node index.js [ip]

where the ip is the ICE candidate ip address used for RTP media. To test a simple web client just browse to https://[ip]:8000/.

License

MIT

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