GLC is an ALSA & OpenGL capture tool for Linux. It consists of a generic video capture, playback and processing library and a set of tools built around that library. GLC should be able to capture any application that uses ALSA for sound and OpenGL for drawing. It is similar to Fraps on Windows.
To install GLC, simply install the glc package from AUR.
The basic usage is simple. Just run this:
Press Shift + F8 to start and stop recording. By default, it will save a (large) .glc file in your home folder. You can then play or encode it. For complete list of available options see
To play a captured stream directly, execute
glc-play [stream file]
ESC stops playback, f toggles fullscreen and Right seeks forward.
In order to use the videos outside of glc-play, you will need to encode it. Here are two scripts that work well for encoding, one for Google's new open source WebM format, and one for the popular H.264 format.
For either script, run with the following context (assuming it's saved as glc-encode.sh):
WebM: This script requires the following packages: vorbis-tools, ffmpeg, and mkvtoolnix
#!/bin/bash glc-play $1 -a 1 -o - | oggenc - -b 128k -o glc.ogg glc-play $1 -o - -y 1 | ffmpeg -i - -vcodec libvpx glc.webm mkvmerge -o output.webm glc.webm glc.ogg rm glc.ogg rm glc.webm
It will output as output.webm
H.264: This script requires the following packages:
#!/bin/bash glc-play $1 -a 1 -o glc.wav glc-play $1 -o - -y 1 | ffmpeg -i - -i glc.wav -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -crf 22 -threads 0 output.mp4 rm glc.wav
It will output as output.mp4
-  - Homepage, and they have a good wiki there as well