Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I would like to create a short clip of me playing Minecraft, an OpenGL game. The usual screencast recorders do not properly record OpenGL.

What kind of software is available for this purpose?

My experience with the software in the similar (but no longer duplicate) question:

  1. kazam: very low framerate despite setting to 60 FPS, no sound, unity menubar constantly flashing through the fullscreen window.
  2. RecordMyDesktop: max framerate setting is 50 FPS, but the video becomes extremely fast if not using the default 15 FPS.
  3. xvidcap: not available on 12.04
  4. tibesti: not available on 12.04
  5. wink: does not run
  6. ffmpeg: very low quality video and no sound with the recommended settings, might be tunable though (no gui unfortunately).
  7. kdenlive: uses recordmydesktop, and the recorded clip becomes corrupted
  8. aconv: video sped up, often broken image, no sound
share|improve this question
    
Are you sure that those programs work correctly with an opengl game? Last time I checked they had lots of issues with that. –  Tamás Szelei Sep 1 '12 at 14:07
    
Don't know, that is a good point. You should edit your original to 'How can I record an OpenGL game in Ubuntu' maybe? –  Tom Brossman Sep 1 '12 at 14:09
1  
Done. In the meanwhile I'm checking all those programs in the thread you linked again. So far, no luck. The menu bar is flashing through the fullscreen window and the framerate is very low in the recorded video (despite the settings I use). –  Tamás Szelei Sep 1 '12 at 14:12
4  
The original was a dupe but now this edited question should remain open, especially with all the edits and efforts made to improve it. I see no way to cancel my earlier close vote, so I'll just delete my first comment and upvote. –  Tom Brossman Sep 1 '12 at 15:43
1  
this is a joke right? that question is not a duplicate - those screencast recorder apps are limited to stuff being rendered off the hardware. opengl in gpu rendering requires specialized tools, due to the severe brokenness of the X11 architecture. This question must be reopened –  lurscher Nov 23 '12 at 20:19

3 Answers 3

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:

share|improve this answer

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.

share|improve this answer
1  
there is a follow up for Yukon called glc: github.com/nullkey/glc –  lurscher Nov 23 '12 at 20:29

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.