wiki:restream

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

--

Restream

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.

You can use restream to simply broadcast a jitsi meet video conference, or you can use it to setup a dedicated page on https://participate.mayfirst.org/ that incorporates both the icecast stream and the jitsi chat.

This page documents how to use restream.

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

Setup

Just send to icecast

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.

Login to dee.mayfirst.org as root:

ssh root@dee.mayfirst.org

Launch the stream specifying the final part of the jitsi URL. In other words, if your jitsi meeting is at https://meet.mayfirst.org/mfpl, you would specify "mfpl" as the only argument, e.g.:

restream mfpl

Then, check for the stream at: https://a.stream.mayfirst.org:8000/mfpl.webm

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

docker stop mfpl
docker rm mfpl

The full deal

If you want to create a special room for being to both watch the icecast stream and participate in the chat (and even present the agenda), you can use the restream-setup command.

Specify the start time, stop time and the name like so:

restream-setup now "1 hour" mymeeting

Or...

restream-setup "2016-02-12 09:00" "2016-02-12 11:00" checkin

Then, restream-setup will output details about your meeting, including the URL to send people to watch (which will be `https://participate.mayfirst.org/<name>).

A once a minute cron job takes care of starting and stopping your docker instance (that way we won't accidentally leave CPU hungry processes running).

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://git.mayfirst.org/mfpl/restream

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.

Debugging

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

Note: See TracWiki for help on using the wiki.