Recording the Linux desktop -- the hard way
- 31 December, 2008 08:53
I can do many things with the greatest of ease on the Linux desktop. But, as I discovered while doing my community Linux overview, recording a Linux desktop video isn't one of them. Oh, boy, is it ever not one of them.
My first problem was that I'd never done screen video recording before on any platform. I'd heard about Windows screen recorders such as TechSmith's Camtasia Studio and Blueberry Software's BB FlashBack, but I hadn't heard of an equivalent program for Linux.
There was a good reason for that. There isn't a full-featured screen video recorder for desktop Linux. Well, except for DemoRecorder from Christian Linhart Software that purports to do everything I needed -- but both its code and its video format is proprietary. Not only that, but I couldn't get it to work on my test systems. I abandoned it and moved on.
Next I tried VNC (Virtual Networking Computing) software -- client/server-based applications commonly used for remote computer system administration. For example, RealVNC can be used, together with programs such as vnc2swf and vncrec, to record onscreen video. Well, that's the theory anyway.
In practice, once I had the Python programming language installed, I was able to get pyvnc2swf working on Ubuntu, but I had no luck with openSUSE and Fedora. So I kept looking. My goal was to find a program that would work on all three platforms.
Next, I tried Wink], tutorial and presentation-creation software that works on both Linux and Windows. Again, I was able to build it on Ubuntu, which I was running on a 32-bit system, but it didn't get along so well on the 64-bit systems that were running openSUSE and Fedora. Back to the drawing board.
Finally, I found success with xvidcap, a simple image-capture program with no frills that is easy to use and works on three Linux distributions. Problem over? I wish.
On its own, the only format xvidcap can save video in is the somewhat obscure, albeit open, Ogg Vorbin (OGV). Most Linux video players can handle OGV without a hiccup. On Windows and Macs, though, which is what my editors use, it's another story entirely. Most mainstream players, such as Windows Media Player and QuickTime, don't know what to make of OGV.
(I found out after the fact that if I had wanted xvidcap to be able to save to different formats, I would have to have built the program from its source code and included the FFmpeg video format codec libraries. Hindsight is a wonderful thing.)
I thought that I should still be able to translate the video into something most PC users could view with a simple command using MEncoder, the codec converter behind MPlayer, as follows:
mencoder fedora_create_usb.ogv -o fedora.avi -ovc lavc -nosound
Want that in English? I told MEncoder to take the file feodra_create_usb.ogv and turn it into the file fedora.avi using the lavc (lib audio visual codecs) and don't bother with sound, because there isn't any. This did produce an AVI file. Unfortunately, AVI is not so much a standard audio/video packaging format as it is a suggestion about how to make an AVI package. In short, my AVI files, while readable on Linux, were still gibberish to Windows and Mac systems.
After a number of attempts, I finally found my answer in Google Code: WinFF. Despite the name, this is actually an open-source front end to FFmpeg that works with both Linux and Windows. This program, by Matthew Weatherford, solved all my video conversion woes. It's straightforward, easy to use (once you have the appropriate video codex libraries installed) and does the job. Best of all, the program understands all the various flavors of AVI, so converting my OGVs into basic Microsoft-compatible AVIs was a breeze.
I have to say, though, that it was only after I found WinFF that everything became easy. I -- and probably anyone making Linux desktop videos -- would appreciate it if someone could do some more work on xvidcap to give it more features and package it so that it comes ready to create videos in a wide variety of formats.
- Hands-on Linux: New versions of Ubuntu, Fedora and openSUSE
- Camtasia Studio, TechSmith's Screen Recording Software
- BB FlashBack
- DemoRecorder - Screen Recorder for Linux with Sound Recording
- RealVNC - RealVNC remote control software
- vnc2swf - Screen Recorder
- vncrec - simple VNC session recorder and player
- Python Programming Language -- Official Website
- Wink - [Homepage
- Xvidcap Project Home Page
- MPlayer - The Movie Player
Joyent polishes Node.js with commercial support package
Australian startup snapshot: Kicktone
Samsung investigating labor conditions at supplier factory in China
Will this robot make America safer?
Yieldbroker signs up to ASX data centre