h1

ScreenCast on Linux

March 17, 2007

I needed to do some screencast on my PC. After reading around the net I found vnc2swf and Istanbul. I decided to give a try first to Istanbul as it had a deb package ready. I am a bit reluctant to installing gnome based software and their lib on my KDE but well…
So well, the usual :
sudo apt-get install istanbul
But at launch I would end with :
Traceback (most recent call last):
File "/usr/bin/istanbul", line 30, in ?
from istanbul.main import main
File "/var/lib/python-support/python2.4/istanbul/main/main.py", line 33, in ?
from istanbul.main.gconf_client import GConfClient
File "/var/lib/python-support/python2.4/istanbul/main/gconf_client.py", line 19, in ?
import gconf
ImportError: No module named gconf

I read that it was fixed with later version of Istanbul, So I went to install the new version. But first you’ll need newer libxml2 library aswell (here link for amd64) :
wget http://http.us.debian.org/debian/pool/main/libx/libxml2/libxml2_2.6.27.dfsg-1_amd64.deb
sudo dpkg -i libxml2_2.6.27.dfsg-1_amd64.deb

wget http://http.us.debian.org/debian/pool/main/i/istanbul/istanbul_0.2.1-3_amd64.deb
sudo dpkg -i istanbul_0.2.1-3_amd64.deb

Later if a software require older version of libxml2, you can overwrite the newer you installed with the previous ubuntu version, istanbul should continue to work correctly.
You’re done, you can launch and record through the icon in tray bar.

It’s really easy to use but the output is only OGG Theora and unfortunately web browsers don’t all handle that format.

That’s why I switched to vnc2swf which produces directly flash format.
Couldn’t be easier to install, you need a vnc server, ie :
sudo apt-get install x11vnc
Then install vnc2swf. I installed pyvnc2swf as it’s the one under development and maintained contrary to the C older version.
sudo apt-get install python-tk
sudo apt-get install python-pygame
wget http://www.unixuser.org/~euske/vnc2swf/pyvnc2swf-0.9.1.tar.gz
tar xzvf pyvnc2swf-0.9.1.tar.gz
cd pyvnc2swf-0.9.1/

Now you can launch vnc server :
x11vnc -localhost -viewonly -wait 10 -defer 10 &
And you can launch vnc2swf :
python vnc2swf.py
You might land on this message :
open /dev/sequencer: No such file or directory
You should install kernel module : kernel/sound/pci/emu10k1 as stated here.

Advertisements

2 comments

  1. Funny, I just tried the same thing.

    You might consider xvidcap. Right now, xvidcap looks best to me. (No gnome, just gtk, is able to capture into flash.) Usage is foolproof: open it, grab the region to capture, press start and later stop. That’s it.

    Ffmpeg might be an alternative: google for “ffmpeg screencast” – there are several descriptions for a version with a patch. The latest ffmpeg-version itself actually does have the ability to capture, but I couldn’t get it running smoothly.

    Enjoy.


  2. I have spent so many hours trying all different kind of solutions to make some screencast with ubuntu!!! I was about to give up when I came accross your blog through InfoQ.

    Thank you very much! It’s a shame google doesn’t come with your post first.

    One thing, the line: “wget http://www.unixuser.org/~euske/vnc2swf/pyvnc2swf-0.9.1.tar.gz
    seems to be cut by wordpress with my firefox 2.0.

    The source code is OK, but it only displays:
    “wget http://www.unixuser.org/~euske/vnc2swf/pyvnc2swf-

    Weird!

    One last thing, how can you add sound to the screencast, do you know a free / open source editor?

    Je suis également un développeur javijava tombé amoureux de ruby …



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: