20

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
7
  • Are you sure that those programs work correctly with an opengl game? Last time I checked they had lots of issues with that. Sep 1, 2012 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? Sep 1, 2012 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). Sep 1, 2012 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. Sep 1, 2012 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, 2012 at 20:19

3 Answers 3

9

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:

1
  • sound doesn't seem to be recorded by this. Also, output to avi only possible with the whole glc. thus, for split videos, you'd have to restart the whole game. Other than that, flawless.
    – phil294
    Jul 14, 2016 at 22:00
7

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.

3

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.

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .