71

Is there a way to record my screen, as well as the internal audio? Like, if I were recording a game, it would record the screen, and the sounds from the game.

1
  • For games specifically, you could try glc: see my answer for this question.
    – user76204
    Jan 6, 2013 at 19:52

5 Answers 5

58

SimpleScreenRecorder (source code) did the trick for me when recording online playing videos. It has an (experimental) OpenGL feature. On Ubuntu:

sudo apt update
sudo apt install simplescreenrecorder

With the OpenGL feature you can select to record a specific application window. So you can even keep working while recording in the background. Don't play any music though, because the audios will mix together (unless, of course, you are a DJ ;) )

11
  • 1
    Works exceptionally well! Nice internal audio recording, awesome that encoding speed can be changed to get fluent higher framerate!
    – Rasmus
    May 31, 2017 at 20:37
  • I can not recommend this enough. It works and it is intuitive – give it a shot!
    – peterhil
    Sep 2, 2017 at 1:13
  • As of 17.04 it is in the official repositories and you don't need to add the PPA.
    – Scimonster
    Dec 26, 2017 at 12:18
  • 2
    does it record the voice/audio you speak into the microphone?
    – MycrofD
    Jan 10, 2018 at 10:45
  • 1
    simplescreenrecorder worked for me too. Under Audio set Backend to PulseAudio, and set Source to whatever device your sound comes out of. You can control whether or not it also records external audio (from the computer's microphone): while simplescreenrecorder is recording, open pavucontrol (the GUI for PulseAudio volume control). In the Recording tab, to get internal audio only, select 'Monitor of Built-in Analog Stereo'. Or if you want both internal and external audio select 'Built-in Analog Stereo'. I'd ignore OpenGL unless you know you need it, it seems to be a more advanced option. Mar 4, 2021 at 7:50
20

Maybe RecordMyDesktop could work for you? It has the ability to record your screen and audio, but I'm not sure if it supports games.

You can install it with

sudo apt-get install recordmydesktop

If you want a GUI, you need to also install one of the packages gtk-recordmydesktop (GTK) or recorditnow (Qt)

It is discontinued but it does work as expected.

5
  • It's quite hard to use it with Games unfortunately, I found the OpenGL recorder quite bad last time I tried it
    – MrVaykadji
    Mar 17, 2014 at 16:41
  • This worked otherwise, but I did not get internal audio straight or not with Jack. The UI is quite unintuitive also – the first time I had five recordings going on before I realised the big squares on the panel are meant to represent stop symbols! And I am a graphic designer in addition to being a programmer...
    – peterhil
    Sep 2, 2017 at 1:03
  • It's using microphone, not the internal audio.
    – Hi-Angel
    Jan 5, 2019 at 0:34
  • Does the recordmydesktop process store data into a disk while recording, or holds everything in RAM and flashes the data only when you signal to terminate the process? Aug 22, 2020 at 20:32
  • @mercury0114: It records to disk. Once you terminate the process, it appears to do some conversion to a more appropriate compressed format.
    – Nav
    Dec 26, 2021 at 12:41
4

vokoscreen-ng works for me and it meets your requirements:

  • record my screen
  • record internal audio As well as:
  • record you from web-camera
  • record your mic

It works for Windows and Linux systems as well.

For Ubuntu you may install it with Ubuntu Software or with command:

sudo apt install vokoscreen-ng
1
  • This says "audio recording not implemente" when you try to record from mic
    – Kenn
    Jan 5 at 5:09
4

1. Install OBS as in: https://github.com/jp9000/obs-studio/wiki/Install-Instructions#linux

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-get update && sudo apt-get install obs-studio

2. Open OBS; in the Mixer panel, click the "gear" of "Desktop Audio", then "Properties" and Select "Built-In Audio Analog Stereo"

3. Again in the Mixer panel, silence the microphone/Aux clicking on its volume icon

4a. Video_Source_Method_1. In the "Sources" panel, click the + and Select Screen Capture XSHM. Saves mouse pointer if box checked.

4b. Video_Source_Method_2. Install VLC: (doesn't save mouse)

  • sudo snap install vlc source
  • Install plugin: sudo apt install vlc-plugin-access-extra source
  • In VLC: "Capture Device": "Desktop", configure "MRL" screen://. You should see your screen inside VLC
  • In OBS, in "Sources" panel, add + VLC video source, configure ⚙; in "playlist"; +; add path screen://

5. If Studio Mode active, click Transition in the center of the screen, you have to see your screen in the right window now.

6. if desired change the output folder: At the "Controls" panel (right-side), click "Settings", then click "Output" in the left menu.

7. Finally, click Start Recording in "Controls" panel.

1
  • With Debian derivative OBS didn't need any PPA but it was part of the distribution packages. And it recorded both my mic and the desktop/computer at the same time by default, just as I needed
    – Csaba Toth
    Feb 4, 2021 at 12:57
2

I am using recordscreen.py Python script. It launches ffmpeg or avconv behind the scenes, so make sure you have them installed.

Record entire desktop to output.mkv at 15 FPS:

recordscreen.py output.mkv

Record at 30 FPS with different audio and video codec:

recordscreen.py -r 30 --vcodec=vp8 --acodec=pcm output.mkv

Or record into .webm:

recordscreen.py output.webm

I haven't tried recording games with it, so I will be interested to hear how it goes.

And just for historical perspective here's one of the earliest blog posts about it.

3
  • There are gazillions of screen recorders out there. The gotcha in the question is the recording of the internal audio. How can I record the internal audio, a.k.a. for example if I play a video on a website, the audio stream of that
    – Csaba Toth
    Jan 31, 2021 at 17:15
  • @CsabaToth some freshman is needed to research that use case. ffpmeg docs are referencing to ALSA for that. trac.ffmpeg.org/wiki/Capture/… but in recordscreen.py DEFAULT_CAPTURE_AUDIO_DEVICE = "pulse". Feb 4, 2021 at 11:17
  • Im getting Unknown encoder libvo_aacenc error trying this approach Jul 5, 2022 at 7:40

You must log in to answer this question.

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