gtk-recordMyDesktop

Yesterday I successfully created a Second Life machinima video (with both microphone and game sound) using gtk-recordMyDesktop. Prior to this I had to boot Windows in order to make machinima. For an Ubuntu true-believer, this is unacceptable.

There are a number of Linux-based screen capture programs available. I have tested a few of them (xvidcap, Cinelerra, Istanbul, and some others) but I could not get the sound capture working right. Then my friend Fred Huffhines in Second Life (visit his Eepaw Shop in Smokey) suggested gtk-recordMyDesktop.

gtk-recordMyDesktop 0.3.8 download and documentation is available here: http://recordmydesktop.sourceforge.net/downloads.php. It is free and open source. On Ubuntu it installs into /usr/bin. Run it from there and it will open a graphical interface widget (the gtk part) that will allow you to select all or part of your desktop for screen capture.

Many people have difficulty getting getting the program to record both microphone sound and Second Life sound. In general, you need to have your sound mixer set for Mix or Wave: this setting will mix all the sounds you hear through your earphones into one channel for sound capture.

In Ubuntu Intrepid, I accomplished it this way:

1. I went into System/Preferences/Sound and set all options to Alsamixer (including setting the Default Mixer option to to SiS Sl7012 alsamixer) [NOTE: SiS is machine-specific. Your mixer name may vary.]

2. Then I ran /usr/bin/gnome-volume-control. Here, under the preferences option, I turned on Mix and Mic. I had to unmute the mike and turn it up. I also set the “Device” option to SiS Sl7012 alsamixer. [See above NOTE]

After I did this, gtk-recordMyDesktop gave me an excellent video recording with microphone and Second Life sounds mixed. The output file was in the .ogv format. I used the command tcprobe -i file.ogv to get info on it:

[tcprobe] OGG Multimedia Container
(probe_ogg.c) OGG stream 1 is of an unknown type (bad header?)
[tcprobe] summary for vidtest.ogv, (*) = not default, 0 = not detected
import frame size: -g -1080675528x-1207620440 \[720×576] (*)
frame rate: -f 0.952 [25.000] frc=0 (*)
audio track: -a 0 [0] -e 48000,0,2 [48000,16,2] -n 0xfffe [0x2000] (*)
bitrate=499 kbps

By the way, tcprobe is part of the transcode program.

Using Mplayer-nogui, I gave my machinima subtitles.

I used mencoder to convert my .ogv file to .avi:

mencoder filename.ogg -oac lavc -ovc lavc -lavcopts abitrate=160 -o filename.avi

(I found this command on Ubuntuforums — thanks to Janie70.)

Here is the info for the .avi file:

[tcprobe] RIFF data, AVI video
[avilib] V: 15.000 fps, codec=FMP4, frames=137, width=704, height=560
[avilib] A: 48000 Hz, format=0x50, bits=0, channels=2, bitrate=160 kbps,
[avilib] 373 chunks, 179040 bytes, VBR
[tcprobe] summary for vidtest.avi, (*) = not default, 0 = not detected
import frame size: -g 704×560 \[720×576] (*)
frame rate: -f 15.000 [25.000] frc=13 (*)
audio track: -a 0 \[0] -e 48000,0,2 [48000,16,2] -n 0x50 [0x2000] (*)
bitrate=160 kbps
length: 137 frames, frame_time=66 msec, duration=0:00:09.133

Finally I wanted a .mov version. Since I was in a hurry for a .mov version, I uploaded the .avi to http://media-convert.com/.

Here is the file info:

[tcprobe] Apple QuickTime movie file
[probe_mov.c] audio codec=twos
[probe_mov.c] video codec=yuv2
[tcprobe] summary for test.mov, (*) = not default, 0 = not detected
import frame size: -g 1280×948 [720×576] (*)
frame rate: -f 29.970 [25.000] frc=4 (*)
audio track: -a 0 [0] -e 22050,16,2 [48000,16,2] -n 0x1 [0x2000] (*)
length: 76 frames, frame_time=33 msec, duration=0:00:02.535

However, I believe I could have used avidemux to convert AVI to MOV using this command:

avidemux --load myfile.avi --output-format MPEG-4 --save myfile.mov --quit

Usually one needs to concatenate numerous AVI files into one big file. Use the cat command for this, then use mencoder to put video and sound back in sync.

mencoder -forceidx -oac copy -ovc copy intro_classroom.avi -o final.avi

Peace!

2 Responses to “gtk-recordMyDesktop”

  1. Persistence pays off! I’m glad you found a solution.

  2. I also suggest using GLC. No GUI but pretty efficient.
    http://nullkey.ath.cx/projects/glc

    Good luck with Opensim!

Leave a comment