Recording Getting Started Guides on Linux

As I’ve said in the past, producing videos in Linux isn’t very straightforward or stable; it can be a bit of bumpy ride. But I’m stubborn, and Linux is the platform I want to use, so when I was tasked with the creation of “Getting Started” video guides for our products at VSHN, I used Linux to create them.

The videos in question are the following, all available at the VSHN YouTube Channel, and all around 8 minutes in length:

This blog post gives a little bit of insight into the process and tools I used to create these videos.

The Tools

Here are the tools I used for creating these videos1:

The Process

These are the steps I followed to make those videos:

  1. The first and most important thing doesn’t have to do with Linux at all, to be honest: I start by writing a script. Any video, no matter how short, deserves a nice script. In the cases of these videos I wrote them on our Confluence wiki, so that everyone involved in the team could contribute their ideas. I separate the script into sections, which I use to divide my work in small pieces.
  2. Then I use the script to record the audio with Audacity. Reading out loud allows me to pace the description of the elements on the screen, to figure out if some screens are missing, and so on. If you want, I end up creating an informal “shooting script” in my head, with images and animations and everything I need to imagine the final product. I create a separate audio file for each section of the script.
  3. Then I prepare some presentation slides using the asciidoctor-slides infrastructure we use at VSHN for technical presentations. This is based on Asciidoctor+Reveal.js and is text-based, which allows for much faster preparation and rehearsal than any other format. It also works beautifully with code snippets and images.
  4. Then I script my demos (if any) using Demo Magic, a tool that I’ve previously talked about in this blog. The result is a script called that contains all of the steps required to show some functionality on the terminal.
  5. Then, I put on my headphones and hear to my voice speaking while I record my screen, clicking on the UI or hitting ENTER on my keyboard, while Demo Magic does its work. Following my own voice makes the final video fit exactly with the audio, which simplifies the editing work on Kdenlive tremendously.
  6. Finally I compose and render the final video with Kdenlive. I cut some clips that are longer than expected (for example if an operation takes several minutes) and accelerate them, again using Kdenlive. But since I record my screen hearing my voice (see point 5 above) both video and audio clips usually fit perfectly well with one another. Drag, drag, drag, render.
  7. When the final project is rendered and the video is uploaded, I archive the project using Kdenlive’s “archive” feature, creating a nice, self-contained ZIP file with all of the source clips (audio, video, images, etc) and I share that with my team on our shared drive.

To give you an idea, the full production process (from script to upload) of an 8 minutes-long demo requires a whole day of work (around 8 hours.)

More Information

If you’re interested in working with video on Linux, here are some articles I wrote about the subject in the past few years you might find interesting:

  1. For information, the Linux distribution I used to create those videos was Ubuntu 22.04. But since May I’ve been using Fedora 38, and so far I’m much happier with it. ↩︎

  2. Another useful tool you can use for screen recording is Zoom, for example. And if you have a Mac, then QuickTime will get the job done. ↩︎