Screencasting in Ubuntu

I’ve done my first screencast in Ubuntu using gtk-record My Desktop, a tool that records desktop sessions in Linux. I’ve long wanted to do screencasts in Ubuntu ever since I installed Feisty Fawn or the 7.04 release but I haven’t been successful in my initial attempts.

I first tried capturing desktop sessions into movie files using xvidcap but I couldn’t get it to work properly. All the videos I produced using it were jerky, as if the capture rate is just a frame for every two seconds. I spent days playing around with the settings, to no avail.

I was on the verge of accepting the idea that I may have to use Windows XP and Camstudio to produce screencasts to accompany some of my blog articles when I decided to give gtk-recordMyDesktop a try.

I spotted the program during the days I tried looking for ways to do screencasts in Ubuntu but I just filed it away as something to check later because it produces Ogg-encapsulated Theora-Vorbis files and the free video hosts I wanted to use for screencasts, Vimeo and Revver, do not accept .ogg files. I’m lazy and a non-geek and my impression of video conversions in Linux is that the process is rather complicated. (Blogger’s Note: see update below)

After giving up on making xvidcap, which produces mpeg files, work in my laptop, I tried gtk-recordMyDesktop. I gave it a go after finding out that Blip.tv accepts .ogg files.

Installing gtk-recordMyDesktop is easy because it comes with Automatix2. There’s also a .deb package over at GetDeb. After installing Automatix2, I was provided with the option of adding the software. I was able to successfully capture desktop activities on my first recording attempt. Recording on 1280 by 800 resolution, however, eats up a lot of CPU power in my mid-end laptop. I decided to try recording using the 800 x 600 resolution and found it quite workable.

The software’s documentation is quite sparse and I cannot find information on keyboard shortcuts such as pausing the recording. To pause or resume recording, I just right-click on the icon in the status bar.

UPDATE: It turned out I really was too lazy. A further search on Google, spurred by my realization that Blip.tv uses a Java applet to serve .ogg files, led me to this page. The page contains instructions on using mencoder to convert .ogg files into mpeg files.

I followed the site’s conversion instruction but just took out the part on scaling. The conversion followed YouTube’s video recommendation that’s why files are scaled to 320 by 240 resolution.

Instead of the site’s suggested command, I used this:

mencoder out.ogg -nosound -ovc lavc -ofps 30 -o out.mpg

It turned out conversion of videos in Linux is even easier than in Windows. Conversion of the file took less than 5 minutes.

Anyway, here’s the short screencast of my Ubuntu desktop. I captured the video using 800 by 600 as resolution in my laptop.

My Ubuntu desktop on Vimeo

Support this blog and independent reporting on Cebu

6 responses

  1. its a good thing for me i haven’t tried recording my screen in kubuntu. although, i believe somewhere in the near future, i’ll be using mencoder. hopefully. hahaha. 😀

  2. You could also use this and host it yourself:
    http://www.flumotion.net/cortado/

  3. Found your post by a Google search. It was helpful to me, as I need to make some screencasts myself. I tried looking over the instructions for the Ubuntu Screencast Team but I didn’t want to bother so much with recording in a Virtual Machine and all that. Thanks for pointing out gtk-recordMyDesktop!

  4. Hi, thanks a lot for the tutorial!
    I’ve a question: how do you zoom in your video? Which program do you use?

  5. Did someone upload a screen cast with audio to vimeo?
    I am trying with gtk-recordmydesktop but I think the audio codec is not accepted by vimeo.

  6. Well, I have found a way:

    mencoder filename.ovg -ovc xvid -oac mp3lame -xvidencopts pass=1 -o filename.avi

    or you could use a bash script:
    http://www.snipplr.com/view/42663/converting-ovg-to-avi/

Leave a Reply

Your email address will not be published. Required fields are marked *