Janus plugin to act as a kind of SFU for game networking data.
Перейти к файлу
Marshall Quander 13b8f8982a More accurate construction of PLI and FIR packets 2017-11-01 19:14:14 -07:00
client Checkpoint for new mostly-working switchboard code 2017-11-01 17:35:49 -07:00
docs Document API response shapes 2017-10-23 17:33:34 -07:00
scripts upgrade to janus 0.2.5 2017-11-01 17:46:48 -07:00
src More accurate construction of PLI and FIR packets 2017-11-01 19:14:14 -07:00
.gitignore move stuff to scripts 2017-11-01 09:12:13 -07:00
.travis.yml Add Travis config 2017-10-05 16:33:45 -07:00
Cargo.lock Point at crates.io plugin dependency again (oops) 2017-11-01 17:46:10 -07:00
Cargo.toml Point at crates.io plugin dependency again (oops) 2017-11-01 17:46:10 -07:00
LICENSE Add MPL 2017-10-07 03:08:17 -07:00
Makefile Rename, add documentation 2017-10-13 13:32:25 -07:00
README.md move stuff to scripts 2017-11-01 09:12:13 -07:00
rustfmt.toml Use macro for answer_sdp, formatting 2017-09-28 03:12:29 -07:00

README.md

janus-plugin-sfu

Build Status

Janus plugin to serve as a WebRTC SFU for game networking data.

In the future, this is likely to grow into a reverse proxy for Reticulum, a kind of WebVR networking backend. But right now it's mostly just for being a simple, plug-and-play, star-topology SFU that you can use instead of being peer-to-peer.

See here for API documentation on how to communicate with the plugin.

How do I use this?

This is a plugin for Janus, so you'll need to install and run Janus first. The installation instructions on GitHub are canonical.

If you're on Ubuntu, don't install the version from your package manager -- that one has no WebRTC data channel support, so it won't work. If that stresses you out, you can try running scripts/setup-and-run-janus.sh, which will compile and install Janus and its dependencies for you.

Why shouldn't I just use janus_videoroom?

This one doesn't have all of the features of janus_videoroom yet, but it supports data channels. It's designed specifically for situations where video is not relevant but one needs multicasted audio and data.

Building

$ cargo build [--release]

Testing

$ cargo test

Installing

Install the library output by the build process (e.g. ./target/release/libjanus_plugin_sfu.so) into the Janus plugins directory (e.g. /usr/lib/janus/plugins). Restart Janus to activate.