Version 5 (modified by 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