Friday, 1 May 2009

3 Ways to Record Your Linux Desktop

In this article I'll include three ways to screencast your Linux desktop with the help of recordMyDesktop, XVidCap and Istanbul. These three applications are included in every major distribution.

recordMyDesktop and frontends
recordMyDesktop has both a command-line interface and two frontends, a GTK and a Qt graphical frontend. You can run it in a console, do whatever stuff you want to record, then hit Ctrl+C to stop it and recordMyDesktop will create an out.ogv (Ogg Theora) video file in the current working directory.

recordMyDesktop - GTK interface

If you need to customise the video settings for the screencast, you can do it either with the command-line tool or by using one of the graphical frontends. For example, to run the GTK application use gtk-recordmydesktop.


recordMyDesktop will allow you to create a screencast and choose the video and audio quality, frame rate, include or exclude window decorations and the mouse pointer. It's easy to use and will surely do its job in a few clicks.
Official website

XVidCap
XVidCap is another pretty good GTK-based recording application. The first thing which jumps into attention when starting XVidCap is a red rectangle which can be moved around and resized and which will allow you to record only a certain portion of the desktop.

XVidCap

XVidCap allows you to save the screencast as an MPEG or AVI format.
Official website

Istanbul
These are not the only applications with which you can make a screencast. Have a look at Istanbul too, which is included in the repositories of all the popular distributions. Although it is probably the easier to use of all three, I found Istanbul to be the slowest when it comes to response time (it looks like it takes forever to encode the video), so you'll have to bear with it. Just like recordMyDesktop, Istanbul saves the screencasts into the free Ogg Theora format.
Official website

Istanbul

Have some other cool applications or ways for creating screencasts? Please share them in the comments below.

21 comments:

lefty.crupps said...

Nice collection of software.

KDEnlive (a non-linear video editor) can also now record a desktop; this is built in to FFMPEG and the KDEnlive project wanted a way to document using its own software, so it is included in the 0.7 and newer releases.

Owen said...

Nice collection. Give ScreenToaster.com a look too for an alternative quick way to get a screencast up.

Craciun Dan said...

Thanks for the suggestion lefty.crupps, I'll look over it.

That's a nice applet Owen, but it froze my Firefox 3.0.6 instance. It looks nice though, since it lets you save it as .MOV if you register (any cost involved because I haven't had the time to register?)

Kalon Gerber said...

KDEnlive is a great nle but looks to me like to uses recordmydesktop for screen captures. Could be a very useful way to record a session if you also want to splice different clips together or add an intro.

Anonymous said...

I use reKordmydesktop on kde
http://www.kde-apps.org/content/show.php/reKordmydesktop?content=55760

ReKordmydesktop is a frontend to recordmydesktop aiming at the ease of use.

Anonymous said...

try wink from debugmode.com

Harold Fowler said...

Wow, Linux totally ROCKS

RT
www.anonymity.ru.tc

Anonymous said...

reKordmydesktop and wink are good too.
Check here for some recent updates on Linux:
http://techunits.com/content/list/linux

serrghi said...

Nice! ive been poking around the web for some decent desktop recorders.

Best regards: Unyttig.info

Chris Richards said...

None of these methods produce a file that is efficient or practical for streaming video over the web. e.g. for training videos id need something efficient and that browsers can play. SWF flash would be fine

heathenx said...

As far as stability goes I think RecordMyDesktop is the clear winner. ;)

@Chris Richards
You're right about the streaming thing but soon ogv will be built into Firefox and a standard of HTML5.

Until then you can use FFmpeg or Mencoder to convert your ogv to flv (or swf). If you're not a command line wiz then check out Transmageddon (http://www.linuxrising.org/transmageddon) which will convert that ogv file into some popular formats including flv for streaming. ;)

Anonymous said...

fro recordMyDesktop, you'll wanna set it to encode on the fly. on 800mhz(dual) the fans don't even come on for over an hour of recording streaming video, so there should be no noticeable slowdowns

Anonymous said...

@Chris Richards, wink is what you're looking for.

xvidcap is quite stable, it has issues now and then with audio, under multiframe tab in the prefs., reset(change it to something else if it's already set) the number of audio channels to 1.0 and you should be fine

okichatan said...

Here are some examples of how wink can be used: http://www.opensourcebistro.com/

kiran.pokharel@hotmail.com said...

i knew only about record my desktop---i tried doing from it...video is good and encodes fast but no audio...microphone in laptop itself does not record sound???i tried using microphone of my headset,it also didnt work...plz give me good suggestion so that i can record my desktop with good sound quality..

sumansoftjitm said...

I had to do tutorial/demos of software, and I ended up with Wink because it is much easier to edit the video (add text, speed up some parts) and the image quality is perfect (lossless and still very good compression).

If your goal is not to show off your latest compiz plugin on youtube, but to effectively demonstrate how to use your software to people, wink is definitely the way to go. Additionally, as it generates a flash file, it's very easy to integrate to your own website.



Recently I just came across a good article on "Linux"
Here is its link.

Warbo said...

Thanks for the article, it was a nice summary and helped refresh my memory since I last did a screencast years ago.

Just for completion, for those reading this, if you want to record to a Flash format then you can use a tool called pyvnc2swf (available in the repos of at least Debian & Ubuntu). It acts as a remote desktop client which connects to your desktop over VNC (so first you run a VNC program to export your desktop, then connect with pyvnc2swf to record it). Quite a clever solution, since all of the tricks VNC uses to keep down network traffic mean that you get a more compressed recording :)

לינוקס בלוג said...

I'm using recordmydesktop for several years, I tried xvidcap too I think that recordmydesktop is great tool.

Miki
http://www.jaya.co.il

Anonymous said...

In Ubuntu I've tried xvidcap and gtk-recordMyDesktop. I've been able with both of them to record video and audio from the system or the microphone.

But gtk-recordMyDesktop has 2 problems:
a) When you click on stop it takes a lot of time to encode the video (in xvidcap you have it in the moment you stop the recording).
b) It uses a lot of space in a folder called more or less /tmp/rMD-session-xxxx. Sometimes is deleted after the encoding but sometimes not (keeps on growing) and you have to delete it before your linux partition gets full.

Dick Thomas said...

gnome 3 can record the desktop out of the box I think the command is crt+shift + R

Anonymous said...

Gnome3: Ctrl-Shift-Alt-R