/jitsi-videobridge

Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server).

Primary LanguageKotlinApache License 2.0Apache-2.0

Intro

Jitsi Videobridge is a WebRTC-compatible Selective Forwarding Unit (SFU), i.e. a multimedia router. It is one of the backend components in the Jitsi Meet stack.

You can find more documentation in the doc/ directory in the source tree and in the Jitsi Meet Handbook.

If you have questions about the project, please post on the Jitsi Community Forum. GitHub issues are only used to track actionable items.

Packages

Debian/Ubuntu

You can download binary packages for Debian/Ubuntu:

Building your own package

You can build a custom package with just mvn install in the root directory of the repo. Look for the package in jvb/target/jitsi-videobridge-2.1-SNAPSHOT-archive.zip.

Running locally

You can run jitsi-videobridge locally with maven (or in your IDE). First create a ~/.jvb/jvb.conf to configure the environment to connect to and other options (see reference.conf for the available options).

JVB_HOME="/path/to/the/cloned/repo"
JVB_CONFIG_DIR_LOCATION="~/"
JVB_CONFIG_DIR_NAME=".jvb"
JVB_CONFIG_FILE="$JVB_CONFIG_DIR_LOCATION/$JVB_JVB_CONFIG_DIR_NAME/jvb.conf"

mvn compile exec:exec -Dexec.executable=java -Dexec.args="-cp %classpath org.jitsi.videobridge.MainKt -Djava.library.path=$JVB_HOME/lib/native/linux-64 -Djava.util.logging.config.file=$JVB_HOME/lib/logging.properties -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=$JVB_CONFIG_DIR_LOCATION -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=$JVB_CONFIG_DIR_NAME -Dconfig.file=$JVB_CONFIG_FILE"

Configuration

Application level configuration comes from a config file, usually installed in /etc/jitsi/videobridge/jvb.conf. The values in that file override the defaults defined in reference.conf.

Debian

On debian systems the /etc/jitsi/videobridge/config file can be used to set configuration for the Java virtual machine. Notable examples:

# Increase the java heap to 8GB
VIDEOBRIDGE_MAX_MEMORY=8192m
# Change the garbage collector (defaults to G1GC)
VIDEOBRIDGE_GC_TYPE=G1GC