How I Record My Screencasts

Someone recently asked me how I record my screencasts. Instead of answering him directly, I figured I would make a post to let everyone know :)

Screenshot of my Screencasting Setup

My Setup

My screencasting setup is relatively simple, I use:

I don’t record my local desktop because:

Recording Software

Way back when, I used to use vnc2swf for screencasting. It’s awesome for making a quick and dirty screencast because, when you’re done, it’s ready to view online. It also works very well, in my experience, on older computers (recordMyDesktop dropped too many frames to be usable on my last laptop). It has a few problems though … it doesn’t work well if you’re using Compiz and converting from the generated swf to other formats is really insanely difficult and CPU / hard drive intensive.

Once I got my new laptop (from this decade :P), I discovered that recordMyDesktop runs great on it, so I switched. I also like recordMyDesktop because ogg’s are pretty easy to convert from and conversions look pretty good!

My favorite thing about my setup is that I created keyboard shortcuts that run scripts which start & stop recording so I never have to worry about booting up apps or anything. I just press a combination of keys and the recording starts. It even finds the VM on my desktop and draws a black box around it so I know that it’s recording the right part of the screen :)

Conversion & Web Hosting

The thing that took the longest with my screencasting setup was getting video conversions working just right … and I’m pretty happy with the way they’re currently working. I have a set of scripts for converting a video to an x264 encoded mp4 or to a xvid encoded avi, as well as a script for grabbing the first frame of the video to use as a thumbnail. I actually don’t use these scripts manually anymore, but getting them working the way I wanted to took a bit of tweaking.

Once I finish recording a screencast and I’m ready to convert it and deploy it online, I run a script that does all of the conversions then uploads all of them to Amazon S3.

That’s It

That’s pretty much it. I created a little macro-type thing on my blog that embeds screencasts in a blog post if I just give it a header like video: rack-middleware. Sometime soon-ish, I plan on redesigning my blog and specifically creating it with screencasts in mind. I didn’t know I would be screencasting as much as I am when I created my current blog.

Hope someone finds this useful! Enjoy.