What is Jitsi Videobridge?
Jitsi Videobridge is a WebRTC compatible Selective Forwarding Unit (SFU) that allows for multiuser video communication. Unlike expensive dedicated hardware videobridges, Jitsi Videobridge does not mix the video channels into a composite video stream. It only relays the received video flows to all call participants. This makes Jitsi extremely scalable and, while it does need to run on a server with good network bandwidth, CPU horsepower is not critical for performance. You can see the Jitsi Videobridge in action here.
To learn more about Jitsi Videobridge, Jitsi’s codecs and encryption support, check out Jitsi’s participation in the VoIP Users Conference. Keep in mind that this is a hangout screenshare and audio is also bridged so in reality quality is significantly better with Jitsi!
You may also want to have a look at Jitsi Videobridge’s performance evaluation
In order to organize a Jitsi Videobridge conference, you should open the “Tools” menu of the main window and select “Create a video bridge…”. If the option is grey and inactive, then your XMPP server does not currently have a Jitsi Videobridge connected to it. Setting up Jitsi Videobridge is very easy though, if you don’t have it in your network chances are that you can easily persuade your service administrators to include it (this page contains instructions on doing so).
Now let’s get more technical: the video organizer, or in other words, the party that sets up a call through a video bridge, controls and uses the video bridge with the COLIBRI protocol (COnferences with LIghtweight BRIdging). COLIBRI is an open XMPP extension protocol designed by the Jitsi development team. It allows the conference organizer to allocate channels for everyone add or remove participants, and generally remain informed of the call state. All this happens transparently for the user. You can find information on how the COLIBRI protocol works in the COLIBRI XEP.
In addition to XMPP, Jitsi Videobridge can also be controlled through a HTTPS and a REST version of COLIBRI.
- RTP Relay.
- Supports audio mixing.
- Can be installed as Openfire plugin.
- Call encryption with DTLS/SRTP.
- Support for ICE
You can download Jitsi Videobridge at the following locations:
|Microsoft Windows||MAC OS X||Linux packages||Source Code Snapshots|
|GitHub Repository||Debian/Ubuntu stable (instructions)||Debian/Ubuntu nightly (instructions)|
Being an XMPP component, Jitsi Videobridge can run on a separate machine, as well as on the same machine as the XMPP server itself. See http://xmpp.org/xmpp-software/servers for a comprehensive list of XMPP servers. So, you basically just download the zip archive to some folder, unpack it, enter the extracted folder and run jvb.sh (or jvb.bat if on Windows). You don’t even have to be root/administrator to do that. An example usage of the script goes like this:
jvb.sh --secret=xxxxx --domain='example.com' --port=5275
The general synopsis of the command is:
jvb.sh [OPTIONS], where options can be: --secret=SECRET sets the shared secret used to authenticate to the XMPP server --domain=DOMAIN sets the XMPP domain (default: host, if host is set, none otherwise) --min-port=MP sets the min port used for media (default: 10000) --max-port=MP sets the max port used for media (default: 20000) --host=HOST sets the hostname of the XMPP server (default: localhost) --port=PORT sets the port of the XMPP server (default: 5275)
Quick instructions on how to connect Jitsi Videobridge to some XMPP servers:
Configuration for other XMPP servers happens roughly the same way: you just need to configure a jitsi-videobridge component and use it to connect the bridge.
Technical discussions and questions about Jitsi Videobridge are hence most welcome on the Jitsi dev mailing list.
-- the Jitsi development team