Best software available today for Linux video Desktop capturing on Debian

Tuesday, 19th April 2011

I’ve been experimenting since some time in order to understand better what is the current situation with Video Desktop Capturing Software available today for Linux and FreeBSD.

My previous investigations has led me to write an article about xvidcap called How to make Video from your Linux Desktop with xvidcap

Though xvidcap works pretty well, it is currently uncapable of capturing the audio stream of a Linux Desktop env and hence part of the interactivity of the videos is missing when used.

A bit of further investigation on the topic has pointed me to 3 free software programs which are capable to record Desktop environment on Linux with sound embedded

The interesting screen video capturing Desktop tools I’ve found are:

1. recordMyDesktop
2. Istanbul
and
3. vnc2swf

Installing them on a Debian based distribution is pleasable, as there are installable debian packages of each one which I installed easily with apt:

debian:~# apt-get install istanbul recordmydesktop gtk-recordmydesktop vnc2swf

RecordMyDesktop‘s package contains a command line little tool which when started directly starts capturing video and audio of the Linux Desktop. After a Ctrl+C is pressed the program quits, saves and encodes the video in ogg-encapsulated theora-vorbis file format.

Here is the output I got in saving a sample file by launching recordmydesktop without any arguments:

hipo@debian:~/Desktop$ recordmydesktop
Initial recording window is set to:
X:0 Y:0 Width:1024 Height:768
Adjusted recording window is set to:
X:0 Y:0 Width:1024 Height:768
Your window manager appears to be Metacity

Initializing…
Buffer size adjusted to 4096 from 4096 frames.
Opened PCM device hw:0,0
Recording on device hw:0,0 is set to:
2 channels at 22050Hz
Capturing!
Broken pipe: Overrun occurred.
Broken pipe: Overrun occurred.
Broken pipe: Overrun occurred.
^C
*********************************************

Cached 5 MB, from 207 MB that were received.
Average cache compression ratio: 97.3 %

*********************************************
Saved 69 frames in a total of 69 requests
Shutting down..Broken pipe: Overrun occurred.

STATE:ENCODING
Encoding started!
This may take several minutes.
Pressing Ctrl-C will cancel the procedure (resuming will not be possible, but
any portion of the video, which is already encoded won’t be deleted).
Please wait…
Output file: out.ogv
[100%]
Encoding finished!
Wait a moment please…

Done.
Written 692529 bytes
(635547 of which were video data and 56982 audio data)

Cleanning up cache…
Done!!!
Goodbye!

The captured file as I you see in the above output is saved in file out.ogv

RecordMyDesktop has also a GUI interface (written in Python) called gtk-recordmydesktop

Below you see a screenshot of the GUI gtk-recordmydesktop:

RecordMyDesktop GTK interface entry screen

gtk-recordmydesktop is a super-easy to use as you already see in the picture, you can either configure it with Advanced button or use Save As button to select where you want the Desktop captured video and audio to be stored.

In Debian Squeeze 6.0, the Advanced GUI button interface button is not working but that’s not such an issue, as the rest of the buttons works fine.
After the recordmydesktop‘s Record button is pressed it will start capturing from your Desktop and the window seen in the above screenshot will disappear/hide in the system tray:

recordmydesktop recording minimized in system tray
When you press over the white little square in the system tray the screen capturing will be interrupted and a window will pop-up informing you that the captured video and audio is being encoded, here is another screenshot of recordmydesktop encoding a saved Desktop video stream:

recordmydesktop saving captured desktop video

After the final .ogv file is encoded and saved to further transfer it into (.flv) I used ffmpeg;

debian:~# ffmpeg -i test.ogv test.flv
...

Now let’s evaluate a bit on the the final results, the produced test.ogv‘s synchronization between sound and video was not good as the sound was starting earlier than the video and therefore even though recordmydesktop used to be highly praised on the net, the proggie developers still needs to do some bug fixing
Further on, I continued and (gave the other Desktop screen capturer) Istanbul a try hoping that at least with it the video and audio of my Linux desktop will be properly captured. But guess what, the results with Istanbul was even more unsatisfactory as the produced videos and sounds, were slow and a lot of frames from the screens were missing completely.
Moreover the sound which was supposed to accompany the video was completely 🙁

Thus I will skip on talking about Istanbul as in my view, this piece of software is far away from being production ready.

I also tested vnc2swf , launched it by: pressing alt+f2 and typing in vnc2swf in GNOME’s run application prompt, just to be surprised by an error …:

vnc2swf error no 111 Connection refused

The reason for this error is caused by the xserver (Xorg) port 5900 is being closed by default on Debian

However this error is easily solvable, by making the Xserver to listen to a the port 5900, to make the Xorg server on Debian to listen on this port you need to edit the file:

/etc/X11/xinit/xserverrc

and change inside it:

exec /usr/bin/X -nolisten tcp "$@"

with:

exec /usr/bin/X "$@"

and either reboot your Linux or restart only the Xorg server by pressing Ctrl+Alt+BackSpace

Now let me conclude, the results from my desktop video screen capturing experiments prooved that vnc2swf is superior (as it is capable of properly saving a movie with sound and video from a Linux Desktop). It appears this soft is actually the best one you can use to make a video of your Linux desktop.

Sadly my testing has proven that Linux is still lacking behind Windows and Mac in even doing the most simple tasks …
Let’s hope that situation will get better soon and Gnome or KDE developers will soon provide us with better software capable to save properly a video and audio captured from the Linux Desktop.

Share this on:

Download PDFDownload PDF

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

4 Responses to “Best software available today for Linux video Desktop capturing on Debian”

  1. admin says:
    Epiphany 2.30.6 Epiphany 2.30.6 Debian GNU/Linux x64 Debian GNU/Linux x64
    Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/531.2+ Debian/squeeze (2.30.6-1) Epiphany/2.30.6

    It’s important to note that all explained in this article was done on a Debian Squeeze amd64 (x86_64).

    I have found an article claiming that in order to use vnc2swf it’s necessery to have the x11-vnc package installed and started:

    debian:~# apt-get install x11vnc
    debian:~# x11vnc -localhost -viewonly &
    debian:~# vnc2swf -nowindow -o myoutput.swf localhost
    This will immediately connect to the VNC server you have running upon the localhost, and start recording a movie of anything that happens to that window.

    vnc2swf package alco contains a console tool called vnc2swf-edit which is able to manipulate the (.swf) created files.
    If for example you have produced a (output.swf) with vnc2swf and you want to include a music taken from an mp3 file as a background sound use the command:

    debian:~# vnc2swf-edit -a my_movie_song.mp3 -o output-screen-video-with-audio.swf output.swf

    View CommentView Comment
  2. smarken.dk says:
    Firefox 8.0 Firefox 8.0 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0

    hi

    the article I’ve seen does not say it HAS to be X11VNC but just “A” vnc and then sort of “proposing” X11VNC as it gives good results.

    I’ve tried vnc2flv in a few scenarios, recording my own linux desktop and recording another pc running Linux .. both with good results 🙂
    The 2.nd was actually an installation session of SuSE 12.1 (boot option VNC=1). Only annoying part was that it had a fixed screen of 600×800 😉 I didn’t find a way to alter this by giving a boot option 🙁

    My 3.rd test was a recording from a windows box with a out-of-the-box TightVNC installed ..
    It was not a good test at all, since it seems at lest the windows version has this issues that it doesn’t update the whole screen, -only the things that changes. That gives black areas in the flv produses 🙁
    I havent dug into trying to fix that (yet) since it doesn’t have that high prio to me to record that way in windows (or when I do, I have better tools .. like fraps wich is more native to windos )

    Most recording I do in windows is recording world of warcraft gaming, so I had to try that on Linux/wine with vnc2flv too ..
    To say the least it was crappy .. a LOT of frames was missing and it was almost worse than what I’d tried with recordmydesktop …
    -but ofc trying to record a 3D windows program running i wine is not a little task .. especially not in 1920×1080 😉

    last ..

    Thanks for your post wich pointed me to vnc2flv 🙂

    View CommentView Comment
    • admin says:
      Firefox 8.0.1 Firefox 8.0.1 Windows XP Windows XP
      Mozilla/5.0 (Windows NT 5.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1

      Hey I’m glad it helped. If you find some better way to do it pls, leave comment somebody might benefit from that.
      Thx 🙂

      View CommentView Comment
  3. Zola Winkler says:
    Opera 8.50 8.50 Opera 8.50 8.50 Windows XP Windows XP
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50

    Just a smiling visitor here to share the love (:, btw outstanding style and design. “Justice is always violent to the party offending, for every man is innocent in his own eyes.” by Daniel Defoe.

    View CommentView Comment

Leave a Reply

CommentLuv badge