Version 4 (modified by Jamie McClelland, 5 years ago) (diff)



Jitsi meetings are an excellent way to invite a handful of people to a web-based video conference. However, if more than a dozen or so people connect, the quality can start to degenerate. As a result, jitsi is not a useful way to broadcast a meeting to a lot of people.

Restream allows us to take a jitsi meeting and send the video and audio to our icecast servers, which are designed to handle hundreds of simultaneous connections.

This page documents how to use restream.

The restream system is currently only available to MF/PL system administrators.


First, ensure you have joined the jitsi meeting using the browser you intend to use for your own participation. This step ensures you are granted moderator rights.

Next, login to as root:


Next, launch the stream specifying the final part of the jitsi URL. In other words, if your jitsi meeting is at, you would specify "mfpl" as the only argument, e.g.:

restream mfpl

Then, check for the stream at:

When you are done (assuming your stream URL was "mfpl"):

docker stop mfpl
docker rm mfpl

How it works

The script launches a docker container that runs firefox under xvfb (a simulated X windows environment). Firefox loads the jitsi URL and then ffmpeg streams the "desktop" to icecast.

The code handling the docker creation and script to start it is available via git clone git://

The launcher script reads the file /etc/restream.conf to get the properly URL for our jitsi instance and the URL, username, and password for icecast.


If you want to get a root shell on the docker container as it is running, use the exec sub-command (replace "mfpl" with the stream URL):

docker exec -it mfpl bash

You can stop and restart the container with:

docker stop mfpl
docker start mfpl

However, careful when restarting... the old web session may persist in the jitsi session