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:
- Getting Started with Project Syn
- Getting Started with K8up
- Getting Started with APPUiO Cloud
- Getting Started with AppCat
This blog post gives a little bit of insight into the process and tools I used to create these videos.
Here are the tools I used for creating these videos1:
- OBS Studio and Kooha for screen recording.
- GNOME 42+ includes its own very convenient screen recording2 feature, but it stores videos in WEBM format.
- I converted WEBM videos generated by GNOME into MP4 using FFmpeg.
- The presentation slides are based in our Asciidoctor-based presentation slides infrastructure.
- I plan and rehearse my demos using demo-magic.
- I record the audio with Audacity.
- I put all the pieces together with Kdenlive, my non-linear video editor of choice on Linux. Kdenlive is also cross-platform, so my work can be used and accessed by others in the company (we have people who use Macs and Windows PCs, too, so cross-platform tools are a must.) And it works in computers without a dedicated GPU for rendering; it is slow at doing so, but it gets the job done.
These are the steps I followed to make those videos:
- 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.
- 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.
- 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.
- 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
demo.shthat contains all of the steps required to show some functionality on the terminal.
- Then, I put on my headphones and hear to my voice speaking while I record my screen, clicking on the UI or hitting
ENTERon 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.
- 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.
- 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.)
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:
- How to Use a Microphone
- Live Streaming
- FFmpeg Tips and Tricks
- Video Editing in Linux
- About Remote Conferences
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. ↩︎