Open Source software for Online Teaching in the times of Corona

As schools and universities have been shutting down around the globe, many of us in academia are wondering how we can get up to speed and to establish a stable workflow that allows us to get our podcasts, on-line lectures and tutorials out there for our students. In this post I provide a subjective list of open source tools that I am using.

There are at least two reasons why open source has a key role to play in the current situation:

  • OSS is easy to roll out quickly and in large numbers (e.g. to an army of teaching assistants for multiple tutorial session in big lectures) , without any licensing issues and in a decentralized manner.
  • OSS is cheap . Actually it’s free. Hence, no need for financially stretched schools and universities to spend heaps of non-budgeted money on proprietary software at very short notice.

Generating a podcast

The key tool for generating your own podcast or stream is a screen-recorder that also lets you register audio. That’s easy — most operating systems these days have these simple functions built in. However, in general you cannot capture more than one video source (e.g. a webcam with your talking head and a set of slides and/ or a whiteboard(graphics table input)).This, however, is very useful since it is cumbersome for the students to just listen to your voice and see your slides over extended periods. Face to face interactions–and if only imagined—help keep the attention and they also make it easier for the listener to cope with less than perfect recording quality and background noise.

In addition, many of the simple tools do not let you capture selected areas of the screen, and in general you cannot change the resolution or the number of frames per second, which can be important for keeping the memory usage of your podcast in check.

A professional open source tool that allows you to do all this (and much more), including not only recording but also instantaneous streaming is OBS or Open Broadcast Studio (https://obsproject.com/). Importantly, this tool is available for all major platforms (Windows, Mac, and Linux), so interoperability with your Mac- or Linux-using colleague is ensured.

Of course, much of what you can achieve with these tools can also be achieved with online conferencing services such as ZOOM (zoom.us). For example, you could easily generate a podcast in ZOOM by just recording an on-line conference. However, be advised that the demand on network infrastructure these days is very high and as I have experienced myself if you want to hold a meeting or generate podcast you may find that the system is overburdened. So a stand-alone solution such as OBS as a backup is clearly helpful. Also, ZOOM is weak on data protection and therefore many educational institutions do not whitelist it for use, even though , in the current situation, there is more pragmatism regarding this point.

I have used ZOOM myself with a subscription that allows webinars with up to 100 participants and it has worked well. Students can ask questions and and you can even have little quizzes in the lecture and there is a chat. At the same time you can record the lecture and make it available as a podcast afterwards.

Note that ZOOM stores the recording either locally or in the cloud. I always choose to store mine locally. After you have finished, you still need to transfer the recording into MP4 since ZOOM uses its own proprietary format for the capturing. This can actually create problems if things go wrong as I have found myself, since you rely entirely on the ZOOM client to do the conversion for you. I have also found that ZOOM works so, so with NVIDIA graphcis cards — a bit absurd that video processing is where graphics cards come into their own…. Again, OBS is probably better in this respect because it stores the recording in a standard intermediate format (mkv) which can then easily be transferred into MP4 or other formats. Nvidia support under OBS is great — Nvidia is one of the main sponsors of the OBS project.

Video and sound editing

Not matter how you decide to record your podcast, eventually you may find that the recording needs editing. Many university online platforms will only allow files of a certain size to be uploaded, so you may have to cut long videos. Sometimes you may find that sound was a bit too quiet or a bit noisy and needs editing. Or you may want to cut the videos for other reasons….

Here, there are at least two open source apps worth exploring, both of which are, again, cross-platform: Openshot (www.openshot.org) and Shotcut (www.shotcut.org). Of the two, Shotcut is the more advanced program which implies a slightly steeper learning curve. Both have full support for hardware encoding with NVidia and other graphics cards, which will substantially lower the processing times (factor 2-3 relative to CPU -only processing — and this on a computer with a strong CPU)

You can also easily extract soundtracks in either program (even though I have found this to work much faster with Shotcut) and the export it to an audio editing program. Here, I have found Audacity (https://www.audacityteam.org/) to work extremely well. Again, this is an open source tool that is cross-platform (Mac, Linux, Win).

A typical workflow would then look like this:

  • import the recording into Shotcut.
  • Extract the audio, save it to an audio file.
  • Import into Audacity. Normalize and amplify the audio. maybe do some noise reduction.
  • Save the audio into a new file.
  • Import this new audio file into Shotcut, align with the now audio-free video. Cut appropriately.
  • export into an MP4 video. (This last step usually takes time, so have a coffee…)

Electronic Blackboards

Clearly, if you want to annotate your slides or want to develop ideas on a board, you will neet notetaking software and a device with atouscreen or at least a graphics tablet. Assuming you have that, one great open source tool (developed with tax payer money be the Canton and Republic of Geneva) is Openboard (www.openboard.ch) which again is cross-platform (for Linux, it is officially only for Ubuntu 16.04 but you can install a flatpak via Fwww.flathub.org and it will work on essentially any Linux flavor). This is really a nice tool. Its only shortcoming is that annotating slides is not really good.

For annotating slides, there are of course a lot of paid or non-paid tools out there, but I am not aware of an open source tool doing this and that is available cross-platform. For Linux, I use the excellent Xournal ++ which is available in the repos of some Linux distros (e.g. Linux Mint) and otherwise via flathub (https://flathub.org/apps/details/com.github.xournalpp.xournalpp). If you know of any open source cross-platform notetaking tool, drop me a line. (Update 07/05: Xournal ++ also seems to be available for Mac and Windows. See here: https://github.com/xournalpp/xournalpp).

This blog post also appeared as an on-line article on opensource.com.