GLC is well-suited for this purpose. Unfortunately it is not packaged in the archives. However, I have put it (and its dependencies) in a PPA:

ppa:george-edison55/glc Launchpad logo (Click here for instructions on using PPAs.)

You can add the PPA to your system using the following commands:

sudo apt-add-repository ppa:george-edison55/glc
sudo apt-get update

Then you can install GLC with:

sudo apt-get install glc

Once the tool is installed, you can begin recording an application by running:

glc-capture -o /tmp/capture.glc <application>

This will immediately start the application. You can start and stop the recording in-game by pressing the keyboard shortcut Shift + F8.

When you are done, you will end up with a file /tmp/capture.glc that contains the data captured by the tool. You can immediately playback the recording with:

glc-play /tmp/capture.glc

If you wish to convert the recording to a video, you can do so with:

glc-play /tmp/capture.glc -y 1 -o - | mencoder -demuxer y4m - \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3000 -o /tmp/capture.avi

This will create an MP4 file named /tmp/capture.avi with a bitrate of 3,000 Kbps.


Sources:

  • http://www.dedoimedo.com/computers/glc.html
  • https://github.com/nullkey/glc/wiki/Install

I'm using SimpleScreenRecorder to record my Minecraft gameplay. It required a few tweaks to get the sound working but nearly everything you need for recording Minecraft should be in the site (under "Recording game audio"). It has a GUI and, despite the name, has quite a lot of settings that you can tweak to get a video to suit your needs (e.g. quality vs file size). Install instructions are here. For Ubuntu, you'll need to add a ppa repository:

sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
sudo apt-get update
sudo apt-get install simplescreenrecorder
# if you want to record 32-bit OpenGL applications on a 64-bit system:
sudo apt-get install simplescreenrecorder-lib:i386

To record Minecraft with it, make sure video input is set to "Record OpenGL", click OpenGL settings and put the Java command to open your Minecraft launcher in "Command": java -jar /path/to/launcher/Minecraft.jar. Make sure "Start the OpenGL application automatically" is checked.This should make your Minecraft launcher open you when continue to the recording window. Just log in, click play and press Ctrl + R (configurable to use other combinations) to start/stop recording (alternatively, you can use the buttons).

glc is another tool that does the same thing, but I haven't used it yet and don't know what it's like. Feel free to try it though.


There are plenty of programs that screen capture from the X buffer, but that is very processor-intensive and slow. However, I did find one option that actually captures directly from the graphics card: Yukon

Another one is glc. 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 still a relatively new project but already has a long list of features.