Creating screencasts on Linux

Posted on wo 21 juni 2017 in meta

== Intro

As this is a new blog on Fedora Planet, let me start off by introducing myself briefly. My name is Maxim Burgerhout, and I have been a Fedora contributor for quite some time. Truth be told though, I haven't been able to spend much time maintaining my packages over the past couple of years. As a different way of giving back, I want to start sharing some experiences with open source software in a specific niche: screencast creation, and video editing.

== Background

A couple of months back, I started recording screencasts about Red Hat products1. For now, it's mostly about management products, like Satellite, Ansible Tower and things like that, but I'll potentially also cover other products and projects as they pop up in my daily work, and as said above, I intend to start sharing some experiences2 about creating screencasts on Fedora.

Assuming more people are trying to figure out the same things I am, I'm starting off with a short write-up of my experiences so far, trying to work with open source software to create screencasts. Spoiler: it's not as easy as I hoped it would be.

The below article is based on my experience using Fedora 25.

== Recording video

Ever since I started doing this, I've been using Screencastify as my screen recorder of choice. I have tried using the EasyScreencast Gnome Shell extension in the beginning, but it had (temporarily) died, so that didn't seem viable. It seems to have revived though, so I'll probably try it again when my Screencastify subscription expires near the end of the calendar year.

I also tried the CTRL-ALT-SHIFT-R option to start a screencast recording in Gnome, but that records both my monitors, which makes editing the whole thing into a Youtube video quite a pain3. Finally, gtk-recordmydesktop gives me all kinds of strange artifacts in my recording when I move my mouse. It also seemed to crash quite frequently, and seems to be dead upstream.

All options available from the community (the built-in one, gtk-recordmydesktop and EasyScreencast) were disqualified for various reasons, either because of lack of maintenance, quircks or instability.

However, apart from the occasional crash (which happens very seldomly), Screencastify works beautifully. I can record a window, a Chrome tab, or my whole desktop. Recording my voice over the videos also works pretty well, using a USB microphone I bought for the purpose of creating screencasts.

The downside of Screencastify is that it's a proprietary piece of software. For now, it's the clear winner, but in the future I'll give EasyScreencast a go for it's money again.

== Recording audio on it's own

Recording audio on Fedora can be done through various options, of which the two most obvious are Sound Recorder and Audacity.

Sound Recorder is the default sound recorder app in Gnome 3. It's OK for very simple usage, but the moment you want to start editing audio or improving audio quality using filters, Sound Recorder doesn't offer anything.

Audacity on the contrary, is very complete. It's even a bit intimidating in the amount of options it offers, but in terms of recording quality, editing the recordings and improving their quality, Audacity is the de-facto standard in open source, on Linux as well as on various other platforms. Simply said, it's brilliant.

Audacity is the clear winner hear, without any real competition.

== Editing video

So this is where the real pain starts. Save to say, video editing on Linux was a bit of a disappointment for me.

I have tried all of the major video editing open source projects that available natively on Fedora: Kdenlive, Pitivi, Avidemux and OpenShot, as well as the commercially available Lightworks.

To start with Avidemux: it seems to lack the full broad spectrum of features one would need to edit and merge large amounts of clips into a new video, and insert transitions and background audio. I assume it would work nicely to just crop two videos and slam them together, but it doesn't feel right for more complex things. Granted, I haven't spent a huge amount with this program, so let me know if you think I'm dismissing Avidemux too easily. It just wasn't enough for me.

Next up are OpenShot and Kdenlive. Both great programs, both with extensive feature sets that would suffice for me and both with the same continuous problem that disqualified them: they crash. Over and over. I'll be filing bugs for both, but no matter how that turns out, right NOW, they are not very useful for me. Both seem to have somewhat lively upstreams tho, so who knows what the future might bring.

Sadly, I've spent too much time trying to get OpenShoft and Kdenlive to work, and that kept me from thoroughly evaluating my next contender: Pitivi.

Pitivi used to fall into the same category as OpenShoft and Kdenlive (crashing), but I haven't experienced any crashes recently. I comes with a nice set of effects, just like OpenShoft and Kdenlive, and is fairly easy to use. It exports to all of the right formats, but sadly, rendering of video happens in the foreground. This blocksyou from using the program during that process. Not a big deal for a video of a couple of minutes, but annoying for anything longer than that.

The final program I just had to take a look at, is Lightworks. It's not open source, but it really is bloody good. It's by far the most complete of the lot, but it comes at a hefty price. Also, some of the options that are really interesting for making screencasts, like a built-in voice-over recorder, isn't available on Linux :(

I would say for video editing, Pitivi and Lightworks are tied, with Lightworks being the more complete option, and Pitivi being the open source one.

== Conclusion

Audio editing we have under control in open source. Audacity is great. It's just really, really great. (There, enough Trumpianisms for today.)

Screencast recording has come a long way, but hasn't quite reached the level of functionality I needed a couple of months back. It might have grown to that level in the meantime, though. I'll take the time to re-evaluate EasyScreencast and post an update sometime in the Fall.

Video editing is still a bit of a problem. The commercial option is good, but pretty expensive and obviously not open source. Two of the three main contenders (OpenShot and Kdenlive) have serious stability issues, up to the point that I just gave up on them. Bugs will be filed, but that's not helping me today. Pitivi is a little less complete than both OpenShot and Kdenlive, I think, but does show promise (and doesn't crash that often).

As with EasyScreencast, I'll give Pitivi as second try and hopefully find an open source solution for my video editing problem.

TL;DR if you are looking for a set of tools to record and edit screencasts on Fedora, you probably want to check out EasyScreencast, and use Screencastify as a fall-back option. For audio, there's no way around Audacity. If you can shell out some dough and don't mind a bit of proprietary software, go for Lightworks, otherwise Pitivi will help you overcome most video editing problems.

M


  1. I work as a solution architect for Red Hat in the Benelux region 

  2. How-to's, why this and not that, and who knows: screencasts ;) 

  3. If you know who to limit this to a single monitor, or even better: a single window, I'm all ears!