How can I record my screen on Ubuntu?
The app I'm looking for has ideally all of these features:
- Can record in a format that can be played back easily on any platform and/or accepted by YouTube or another popular video site
- Can record just a window (instead of the whole screen), possibly selecting it with a mouse click
- Can start recording after a configurable delay (e.g., I launch the app and have time to do arrangements to my desktop/window before actual recording starts)
gtk-recordmydesktop
As mentioned at 20.04: Can't install gtk-recordmydesktop and on the package search, the package is not available on the main repository anymore, and
sudo apt install gtk-recordmydesktop
fails. I'm not sure why the http://apt.ubuntu.com/p/gtk-recordmydesktop link seems to work, maybe it installs an older version. But this indicates that the software is not being actively supported.recordmydesktop
This is the non-GUI backend of
recordmydesktop
, and it is still available in 20.04:This will record until you stop the program on the terminal e.g. with Ctrl + C.
--on-the-fly-encoding
encodes the output immediately; without it you need to wait for a possibly long time at the end for the encoding to be done. I haven't seen any significant downsides to that option yet, likely it will just take a bit more of CPU resources, but it is generally worth it.It should be able to do everything that gtk-recordmydesktop does, but it is a bit harder to learn as you have to deal with the command lines.
You can set a stop recording shortcut e.g. with:
You can select to record a single window as shown at: How can I get the value of Window ID?
This will allow you to first select the window with a mouse click, and it starts recording after you click.
How to record sound output with it: https://unix.stackexchange.com/questions/3490/how-can-i-record-the-sound-output-with-gtk-recordmydesktop
xvidcap (no longer maintained, package is no longer available)
Kazam
It's a good application for this purpose: Home, install, or simply
sudo apt install kazam
It gives you a delay before recording. Recording is done in HD and the output is in .mkv format which is accepted for YouTube so there is no need to convert and re-render.
There are some useful keyboard shortcuts too:
On Ubuntu 20.04 I met this bug with it where the video is not captured/or is all black: https://github.com/hzbd/kazam/issues/9 even though recordmydesktop video capture worked on the same machine.
I like Byzanz; it records your activity as a GIF file.
It's pretty light and works well, especially for putting a shorter screencast on a webpage or in an email.
You can either get it from the PPA (might have a more up-to-date package but is 'unsupported'):
Or you can get it from the official Ubuntu repositories by clicking the button below:
For further information:
How to create animated GIF images of a screencast?
Simple Screen Recorder
SimpleScreenRecorder is a Linux program that I've created to record programs and games. There are programs that can do this, " but I wasn't 100% happy with any of them, so I created my own "
My original goal was to create a program that was just really simple to use, but as I was writing it I started adding more and more features, and the result is actually a fairly complex program. It's 'simple' in the sense that it's easier to use than ffmpeg/avconv or VLC :).
For Ubuntu versions 12.04 - 16.10 it is not in the standard repositories and can be installed with the following:
For Ubuntu versions 17.04 - onwards it is included in the
universe
repository and can be installed by:Here is a UI preview:
Recently I tried to record a screencast with audio. I tried many of the options listed here and other websites. My goal was not to write a comprehensive summary of all tools available, but to find a single one which works.
In my case (after several hours of struggling) it was VOKOSCREEN which worked, so I did not look further. My system is Linux Mint 15 Olivia, 64-bit, which is based on Ubuntu Raring.
This is my summary/log which I wrote while experimenting. Hope it will save you several hours:
avconv: audio and video get out of sync, audio is lagging behind. Tried all the options I could. This is the command line I used:
Byzanz: creates animated gif (not tried, since I need sound as well and longer screencast)
Eidete: unable to install (with 20 years of Linux experience, didn't try forever though)
gtk-recordmydesktop: creates ogg which is fine, but unable to convert to anything. Best converter was mencoder but is speeds up video (but not audio) so they get out of sync.
istanbul: freezes immediately
Kazam: if record area larger than ~640x480 memory starts leaking, leaving at most a few minutes before system becomes unresponsive. Many have reported similar issue, this is a known bug.
pyvnc2swf: Is a tool to record a VNC session. Not convenient if you want to record your own screen (not tried)
screenkey: advertised as a "screencast tool", but is not about recording your screen
tibesti: seems to be no longer maintained (since 2011), does not even install
vokoscreen: FINALLY!!!!
Quality is good: both audio and video. After recording, I could compress the file to about 1:7 with mencoder without any loss of quality. I discovered that it uses the following command line:
xvidcap: As stated above: "We've removed xvidcap from the repository now because it's no longer maintained." (not tried)
wink: distributed as downloadable executable not as package, (not tried)
This is what I use to make screencasts, the cli command that comes with
recordmydesktop
The delay 10 gives me 10 seconds to "prepare" my desktop before it starts recording. When I'm done I hit ctrl+c, then it starts encoding the file.
I have a dual display, and the width/height argument lets me focus recording on one of my monitors. By adjusting this value I can also record onto my second monitor.
Other pointers:
You can also use ffmpeg to create a screencast. Example:
Notes:
echo $DISPLAY
To get audio:
Vokoscreen
A new screencasting tool for Linux
Installation
Using deb
Using snap
GNOME built-in desktop recorder
Gnome 3 already seems to have a very simple thing to do record Screencasts - you can assign what shortcut it uses in Keyboard settings. It records the entire screen, and records directly into a webm file (a fairly widely used format) into
XDG_VIDEOS_DIR
- by default"$HOME/Videos"
.Source: Screenshots and screencasts on Gnome Help page
The above image should be animated - if you have animations disabled it won't work. Click to view the file
If you want to convert the image to a animation, this answer on Superuser is very helpful - the best method is to basically:
This is how I did the above animation, with the exception that I added
-dither None -colors 80 -fuzz "40%" -layers OptimizeFrame
to the convert command*, and cropped the result in GIMP.*Be careful with these options, some like using ALL of the CPU
Open Broadcaster Software (OBS)
But this works really well. The main reason why I use it is because I can record both my microphone AND monitor output with ease.
Plus you can stream to Twitch if you'd like.
If you don't want to add the PPA you can also download the deb file and installed with
sudo dpkg -i <debfile>
.The benefit of
OBS
is that you can preset many recording options like screen recording and webcam. Whenever you need to start recording just select the preset recording option and start recording. Along with that while screen recording you need not to select windows/ grab screen every time. It have option to select whole screen or just a specific area of page ongoogle-chrome
orFirefox
or libre-doc. In this case it just keep on recording that specific selected area of that application irrespective of what you are viewing on your screen and even if you resrat. You can see real time preview. This saves a lot of time and effort.