Recording screen captures/screencasts in Debian GNU/Linux (and as far as I know, Ubuntu as well) is not trivial.
It’s really frustrating that even though Linux enthusiasts generally place special emphasis on the ecosystem’s vast array of choices for various software application classes, a simple and ubiquitous field like screen recording applications appears to be mostly empty, only populated by a few rare specimens that attest to fundamental flaws in Linux architecture which seal its place as a non-mainstream operating system that’s not suitable for the average Joe.
Proprietary solutions to this seemingly trivial problem appear to be scarce. There’s Wink, but it doesn’t produce actual videos in any of the most popular video container formats, so it’s useless for capturing clips to upload to everyone’s favorite “lols” repository.
The free/open-source solutions can be divided in two major camps:
- Horribly complicated command-line applications or clever tricks, such as convoluted ffmpeg options.
- Featureless GUI front-ends like recordMyDesktop or VLC.
As a mobile broadband user with a very restrictive monthly transfer quota (6 GiB download + upload) I am not really keen on videos as a medium, but there are cases where they really are the only format that makes sense in situations like sharing gameplay footage. Multiple times I have tried to use recordMyDesktop to capture some bug-hunting action in games like SuperTuxKart or Frogatto to no avail; the application itself won’t produce output in any format but Ogg/Theora/Vorbis (presumably by design), and in Debian squeeze in particular, it is affected by two bugs:
- The Advanced dialog won’t come up (bug #630664, solution is either to take the risk and use the Ubuntu 11.04
gtk-recordmydesktoppackage, or have someone figure out what patch needs to be applied to fix it in Debian (not sure if I can be bothered to work on that since I’m not really happy with rMD either way, see further below)).
- Sound capture doesn’t work by default because of a case-sensitivity issue regarding the device name (thanks Gambit for noticing this), that can only be fixed by changing the audio device name in Advanced preferences (see above) or hand-editing the config file in
There’s another two or three bugs affecting me that are apparently not recordMyDesktop’s responsibility:
- YouTube won’t recognize the Theora videos produced by rMD for some reason, apparently due to some library/backend bug that still affects Debian squeeze (but apparently not recent Ubuntu versions). The result is a static green picture in most cases.
- Similarly to the above, ffmpeg is unable to recode rMD’s output correctly regardless of the target format (even Theora to Theora), producing unreadable garbled videos.
- VLC and ffmpeg can see an unidentifiable “zeroth stream” with no valid associated codecs in rMD’s output.
- Linux’s audio architecture is fucked up.
Regarding the last “bug”, all I know is that I’m unable to capture audio from ALSA applications’ output as opposed to a real physical capture device like my laptop’s built-in microphone or an external microphone. I would not be surprised if I’m missing something in my mixer configuration that I need to make it work — given the huge amount of chipset or manufacturer-dependent options that can be seen below:
All this is using Linux 22.214.171.124 and the HDA Intel (
snd_hda_intel) driver on some onboard controller identified as “00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)” in
The closest thing I get to actual internal audio capture is a lot of random, stuttering noises mixed with application sounds that definitely doesn’t come from the built-in mic.
I personally can’t be bothered to research much about using ffmpeg tricks to capture footage of my awesome Minecraft world since, after all, I only want to capture footage of my awesome Minecraft world rather than learn a lot of crap that no sane average desktop/laptop user should ever need to touch. Furthermore, I’m using a graphical desktop environment for a reason!
So the only viable solution for me, at this moment, turns out to be rMD. Without sound. And with a very messy workaround for that mysterious library bug that causes ffmpeg and YouTube to choke on my videos.
I really think that, as a graphical desktop environment user I deserve a working solution out of the box, not a crapload of hacks working around some developers’ lack of interest on usability matters. I’m currently hoping that things won’t look so utterly grim after I switch to Debian wheezy (current Testing), once certain major bugs are addressed upstream or downstream.