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 make gaming videos and recently installed Ubuntu and I haven't been able to find a good screen recorder for gaming. Are there any recommendations (preferably free ones) that can record in HD, use multiple audio sources (i.e. Headset and computer sound), and is in the Ubuntu Software Center? If it's not in the software center I still might get it, just preferably in the software center. I've already tried Kazam Screencaster and RecordMyDesktop, but they didn't work out for me. Thanks guys!

share|improve this question
    
Can you tell me why RecordMyDesktop was not good enough? As far as I know, it provides all features you have listed. –  Rafał Cieślak Jan 31 '13 at 22:47
    
It doesn't have the option for multiple sound sources. –  Noah Mueller Feb 1 '13 at 14:11
    
It does! When using JACK audio mode, you can select multiple sources by holding Ctrl key. –  Rafał Cieślak Feb 1 '13 at 16:47
    
Doesn't work. dropbox.com/s/pnog9rnulhslwvw/… –  Noah Mueller Feb 1 '13 at 22:35
4  
Well, it says what you are missing - you need to run a JACK audio server to use this feature (and there is absolutelly no other screen recorder that could capture sound without JACK, this is the only technology that allows multiple audio sources to work simultaneously). There is a tool called qjackctl that helps to start JACK in a very simple manner. Then RecordMyDesktop will list all your audio sources, and JACK will route audio from many sources to the recorder. Good luck! –  Rafał Cieślak Feb 1 '13 at 22:49
add comment

4 Answers 4

I can actually vouch for the answer that Grumbel made about recordmydesktop in the terminal. It has been the best one when it comes to resource usage. Also ffmpeg/avconv. But there are a couple of factors you should take into account when recording:

  1. How many RPM does your HDD have (Assuming you don't have an SSD in which case, do not worry about the hard drive). If it has 5400 RPM you have a bigger chance that when recording while playing, the video will not look smooth or the game play will feel slower. If it is 7200 RPM and to top it off, the HDD has a lot of cache (Like 16 MB, 32 MB or 64 MB) then you will have a better experience.

  2. What video card do you have. For example, I had a case where the user had an FX 5200. I mean, an actual Nvidia FX 5200. Really?.. There is no power in the world that will let you record a game while playing on that video card in a smooth and crystal clear way. So the better your video card is, the better the experience will be.

  3. CPU Power. Expecting to create the best and awesome gaming recording but have an Intel Celeron or an AMD Duron.. hell no. That video recording will really REALLY suck. If your CPU is not powerful enough (And side by side with it, your motherboard) then don't make an odd face when you see that recording while playing makes a lot of lag and that will make the video look awful.

From my experience, having a good computer with enough CPU, RAM, VIDEO and the other obvious stuff for it to record (Specially from experience the hard drive Read/Write speed) you can use Kazam for it (Since you are talking about HD). But not the Kazam that comes with the Software Center but the one that comes in the PPA. It has better performance the one that comes in the PPA. At least compared to the one in 12.04 or 12.10. If you want to try it then do the following:

sudo add-apt-repository ppa:kazam-team/unstable-series
sudo apt-get update && sudo apt-get install kazam

But take into consideration that:

  1. When recording, depending on the recording app, the video recorded can be send directly to the HDD/SDD, in which case it will eat some of the speed of the hard drive which will have an impact on how the game will feel. The other case, depending on the available amount of RAM, it will send it to RAM and then start to process it (coding the video on the fly), then writing to the disk in intervals.

  2. In any case, remember that the video will be in most cases being coded while recording the game. This means it will take a chunk of your RAM, CPU and HDD speed. So the more you have of any of this, the less impact you will feel.

  3. If your video card and/or CPU is optimized for specific coding techniques (For example H.264) then that will help a lot.

Notice I don't mention the sound. This is because sound has less of an impact to the performance of the PC than the actual video.

For an example I have here a VIDEO done using Ubuntu 13.04 on an Intel i7 2600 with 16 GB RAM and an Nvidia 560 TI. I have an Intel 120 GB SSD with an Intel DZ68DB motherboard... yeah I know.. all Intel. Anyway, you can see how the video behaves.

For multiple audio sources, Kazam (The one in the PPA) offers:

enter image description here

As you can see you have sound from Speakers and sound from Mic.

share|improve this answer
    
The guy is already doing such video recording, so probably has a decent-spec machine. –  ImaginaryRobots Feb 2 '13 at 18:55
    
@ImaginaryRobots - Am with you on that one buddy, but just in case. I have had (Not implying the OP is one) some users that have thought that recording in Ubuntu without taking the hardware into consideration would not affect their recording performance. No harm in explaining the basics ^^. Am also uploading a video to youtube to show the OP how the performance behaves depending on the hardware (And of course, how many FPS are recorded, recording quality and all that). –  Luis Alvarado Feb 2 '13 at 18:59
add comment

RecordMyDesktop is the easiest solution, you use it like:

recordmydesktop \
    -o "/tmp/recording.ogv" \
    --fps 30 \
    --no-cursor \
    --full-shots \
    --on-the-fly-encoding \
    -x 22 -y 249 --width 320 --height 240

However it is slow and not fast enough for gaming at large resolutions. It also has issue when it comes to very long recordings, which tend to corrupt, so it's a good idea to stop and restart the encoding every 30min or so, to not risk a corrupt stream.

For proper game capture you need GLC, which is specifically written for OpenGL and only works with OpenGL apps. It's not in Ubuntu, but you can download the source and compile it yourself. Once compiled, you need to start your game via glc-capture with a line like:

glc-capture -l /dev/stdout -v 3 -i -j -o /tmp/recording.glc -b back your_game

GLC is fast enough for capturing games at 1280x720 or more depending on your computer.

If you need more flexibility when it comes to capturing multiple audio sources you can use pulseaudio tools. Most important is pavucontrol, it's a mixer app for pulseaudio that lets you decide what gets recorded and even switch recording sources at runtime. To select an recording device go to "Input Devices/All Input Devices" and select one named "Monitor of Build-in Audio Analog Stereo". All the Monitor ones allow you to record audio output. This is something you likely will have to do when using GLC and recordmydesktop, as I think by default they will record the line-in or something like that, not the actual speaker output.

Pulseaudio also comes with numerous modules that allow you to redirect or filter output. For example to create a virtual Soundcard that doesn't output to your speakers, you use:

pactl load-module module-null-sink sink_name=nullsink

Documentation can be a bit lacking, but it should allow you to do most things you might want to do. For just recording game audio and headset output separately, you can setup pavucontrol so that GLC records the game audio and then use a separate parecord to capture your headset.

share|improve this answer
add comment

You might wanna try gamecaster, from Ubuntuvibes.

gamecaster

Gamecaster is a graphical frontend for open source project glc. It can capture real time footage of any Linux game that uses ALSA for sound and OpenGL for drawing.

Gamecaster has following features:

Capture HD video of Linux games that use OpenGL acceleration
Select a game binary or choose one of your installed games to start recording
Playback a .glc file
Encode a captured .glc file into webm video format
Options to change capture hotkey, video bitrate and number of CPU threads
Ubuntu indicator support

I have updated Gamecaster for both Ubuntu 12.04 and 12.10. It includes an important bugfix that will prevent Gamecaster from crashing on launch if you use any other language than English on your desktop.

To see the app in action, watch this YouTube video.

To install Gamecaster in 12.04/12.10, press the keyboard combination: CTRL-ALT-T,
to open op your terminal, and copy/paste the codes below.

WARNING GAMECASTER is still in aplha stage (0.3)

sudo add-apt-repository ppa:niteshgupta16/gamecaster-stable
sudo apt-get update
sudo apt-get install gamecaster

sourcecode tarball are here

share|improve this answer
add comment

Try out glc, it's not in the software center and I don't know if it supports multiple audio sources, but it was the only one which worked fine for me with OpenGL.

share|improve this answer
add comment

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.