Skip to content

Janus plugin to act as a kind of SFU for game networking data.

License

Notifications You must be signed in to change notification settings

hivenapp/janus-plugin-sfu

This branch is 82 commits behind mozilla/janus-plugin-sfu:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jul 1, 2019
4e510ed · Jul 1, 2019
Sep 13, 2018
Sep 13, 2018
Mar 15, 2019
Apr 1, 2019
Jun 22, 2018
Oct 5, 2017
Apr 1, 2019
Jul 1, 2019
Jan 15, 2019
Dec 8, 2017
Oct 7, 2017
May 29, 2018
Jul 1, 2019
Mar 28, 2018

Repository files navigation

janus-plugin-sfu

Build Status

Janus plugin to serve as a WebRTC Selective Forwarding Unit (SFU) for game networking data. It's the current backend for Mozilla Hubs.

In the future, this is likely to grow into a reverse proxy for Reticulum, a kind of generalized, stateful, sharded 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.

PRs and GitHub issues are welcome.

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. It's compatible with versions of Janus more recent than 0.4.0.

This plugin should be compatible with any OS that can run Janus; that includes Linux, OS X, and Windows via WSL. If you use a version from a package manager, you might want to check to make sure it has data channel support, which is a compile-time option. (Debian and Ubuntu have it.) Alternatively, you can try running scripts/setup-and-run-janus.sh, which will compile and install Janus and its dependencies for you.

Dependencies

$ sudo apt install libglib2.0-dev libjansson-dev

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.

About

Janus plugin to act as a kind of SFU for game networking data.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 78.4%
  • JavaScript 10.8%
  • Shell 8.4%
  • HTML 1.9%
  • Makefile 0.5%