How to livestream a conference in just under a week
For the first time ever, LibrePlanet 2020 was a fully virtual conference due to ongoing issues caused by the coronavirus pandemic. In our last week of preparations before the live event, increasingly disturbing news related to the virus made us realize we could not responsibly hold our usual conference on software freedom in person while protecting the safety of our participants and their communities. So we turned everything around to eventually bring 35 free software presentations to our community through the filter of a computer screen. After the conference, we had many people writing to ask us for more details about what we used to do it, so we wanted to take this opportunity to share how we were able to create a fully free interactive and educational virtual experience.
LibrePlanet 2020 videos were recorded from the livestream, and they will be posted online soon. For the sessions that are not too dependent on the visual information from the slides, we'll also be providing the audiostreams via an RSS feed for anyone to listen to while they exercise, bake, garden, or seek distraction from very stressful times.
Because our community is an international one, we have been streaming our event online for years using fully free software. Thankfully, the tech team could build on this experience to make sure that we delivered a smooth online conference. Previously, we used HUBAngl, which was developed specifically for LibrePlanet, by Free Software Foundation (FSF) intern David Teste. It fetches audio and/or video input streams, and then streams to the Icecast streaming server. The streams that are broadcasted and stored can be audio-only, video-only, or both at once.
In 2016, we gained some livestreaming experience when we interviewed Edward Snowden live from Moscow. To minimize the risk of failed recordings due to overly complex or error-prone software systems, we made it a priority to achieve a pipeline with low latency, good image quality, and low CPU usage. The application we used then was Jitsi Meet, and the tech info and scripts we used for streaming from 2016 are available for your information and inspiration.
Naturally, for this year, with no time for researching other applications, we opted to build on our experience with Jitsi Meet. We hosted our own instance for remote speakers to connect to and enter a video call with the conference organizers. A screen capture of this call was then simultaneously recorded by the FSF tech team, and streamed out to the world via Gstreamer and Icecast. Some parts of the Jitsi Meet configuration were set up differently than suggested to bypass recommendations of nonfree services or software. In the days following the conference, we have already improved the script we used for streaming your screen or window, and it is free for you to use and adapt.
At the time of the conference, it was still considered safe to have a small number of people together, so we were able to have some of our staff and volunteers in the office. Speakers called in to a dedicated digital conference room for their session, where they were assisted by a room monitor and a tech team member who coordinated the session together. The call was received on a local monitor in the office. Our three digital conference rooms all had similar streaming setups, with the local monitor being broadcast through Gstreamer to Icecast. The desktops used were ASUS KGPE-D16 motherboards with Libreboot; this hardware has previously also been certified under the Respects Your Freedom (RYF) certification program.
When everyone was ready and everything worked, they would start the stream. All speakers were asked to deliver their slides in advance. That way, if a presenter had trouble sharing their screen with Jitsi Meet, the slides could be loaded from the FSF server and controlled by the tech team member in charge of coordinating that digital conference room as a backup solution. In some exceptional cases, like major time differences or panel coordination challenges, the talk was pre-recorded. If so, it was played locally on the machine with the mpv video player.
We hosted interactive IRC sessions on the Freenode network. In addition to a private channel to communicate directly with the speakers about technical issues, we had a general #libreplanet channel, and additional channels for every conference "room." In these rooms, the speakers connected directly to the audience to field questions and join the conversation. We enlisted volunteers to monitor the rooms for safe space policy issues, but the audience was so great and enthusiastic that we did not have a single issue!
Each year at LibrePlanet, we've facilitated a self-organized meeting of associate members who discuss the FSF's work and opportunities, and share their feedback and ideas with us afterward. We didn't want to miss out on this year's feedback, so we moved the member meeting online as well. This required more conversational communication and note taking, so we opted for a combination of Etherpad for note taking and written feedback, Mumble for voice communication, and the use of the dedicated IRC channel.
Issues and improvements
We had only a week to select and and optimize our streaming setup, but the experience itself taught us a lot. If given the opportunity, or for those of you now bringing your event online, some things we would do differently are:
We would set up a continuous stream and insert the session into this; this would relieve the need to refresh between sessions and improve the viewer experience.
It is important to notify speakers of bandwidth used by the streaming. Make sure they test their connection or have dedicated Internet lines. This is especially important with the international connections, as they showed to be more unreliable than local connections; this presented itself mostly in connection issues, and in difficulties with sharing the presentation screen.
For a better experience for people on the move, or to experience the event via mobile, we advise the deployment of audio-only feeds and a lower bandwidth alternative feed for the videos.
The FSF tech team is currently experimenting with Big Blue Button and Canvas for interactive streaming that allows for video, slide sharing, and instant chat. We will post about our work with these applications soon as well, and they are worth considering if you are planning a conference, interactive video session, or online meeting.
Hosting your conference freely is absolutely possible. You do not have to compromise freedom when you want to connect to your community, and you most certainly do not have to settle for proprietary software to help you communicate. You can read more about this subject in our recently published article Better than Zoom: Try these free software tools for staying in touch, join the conversation on the remote communication email list, or contribute to our evolving list of remote communication tools on the LibrePlanet wiki.
If you have an upcoming event and are interested in a freedom-respecting setup, but need a hand, you can email us at email@example.com and we might be able to help. In recent weeks, the FSF technical and campaigns teams have spent a lot of time working on and communicating about free communication tools. If you want to support our work in this space, and help us improve our setup to develop more remote solutions, please consider becoming an associate member, or making a donation.