How can I record an OpenGL game in Ubuntu?
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 (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.