Making good quality screencasts with Ubuntu
Update: another exolete post, from January 2010, left intact in case anyone finds it useful. If I have to edit a screencast today, I’m afraid I’d probably use iMovie though.
Making a good “screencast” recording from an Ubuntu 9.10 desktop is simple. I found editing that video (in my case for uploading to YouTube) to be not so simple. Read on for how I did it.
First of all, use recordmydesktop. It’s easy enough, and will create an ogg theora video, which will play back happily in whichever software you want. If you’re uploading to YouTube, record at 1280x720 so viewers can select “HD” - particularly useful if they want to read any on-screen text. So all I needed to add after that were 5 second “intro” and “outro” screens, which I’d created as images at the same resolution. I thought it would be no problem, but…
I couldn’t successfully edit the theora video with any of the usual suspects - cinelerra, kino, kdenlive looked promising but kept crashing, PitiVi wouldn’t export at the required framerate of 15 fps (re-interpreting it as 25fps by speeding everything up). In the end I used LiVES, which has a curious user interface, but was worth fighting since it would actually do what I needed. So,
- Import the ogv file, but make sure you uncheck the “instant opening” option, which completely ruined the quality of the video (obviously, this will depend on exactly which decoders you have installed and configured, but my list is just the defaults installed with aptitude, so my experience is probably a common one). So uncheck Tools->preferences->decoding->”use instant opening where possible”. It will take much longer to open your files, but the quality is worth it.
- Trim the start/end of your video as required, by setting the frames on the “Selection”, and Edit->Delete Selection
- Import the image files for the intro and outro as clips - Tools->Generate->Generate clip from image
- Quirky interface time. When looking up how to join clips with LiVES, I didn’t find much guidance beyond a verbose manual. So I’ll be explicit. Select the intro [or outro] clip, copy all of its frames, switch to the main video clip, then Edit->Insert from Clipboard, and insert before [or after] selection
- Finally, export the video. Sadly, the quality of exported videos was quite poor with all of the codecs I tried from within LiVES. So I opted for a raw mjpeg, which generates an enormous file (562MB for under 3 minutes).
So I can now close LiVES, and the output file is good. But larger than it needs to be. So the last step is to compress it with mencoder, like so:
mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2 input_mjpeg_file.avi -o output.avi
and the resultant file was 8MB and still good quality.
If you know of a better way to edit 15fps videos generated by recordmydesktop, let me know - I posted this because I couldn’t find any guidance on it and didn’t want to retrace my steps next time I have to do it!