Screen Recorder – Comparison of Applications and How to Use Them
Using Gnome’s native screencast tool
Gnome3 has already a screen recording functionality. Pressing Alt+Ctrl+Shift+R recording will start. There should be a red icon on the message tray in the right-bottom corner of your screen. If the message tray is hidden, Super+M will activate it. Pressing the red icon will stop the recording. The video is saved in the Video directory on your home directory on webm format.
Increase the duration of screencast videos
At just 30 seconds long the default length of screencast using this method isn’t ideal, particularly if you plan on making a lengthy video or need to demo a particular workflow or feature. It is possible to increase the duration of screencasts manually, by modifying the following gsettings string using the Terminal application:
gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 60
Replace the ’60’ value with the length you want in seconds, e.g., 300 for 5 minutes, 600 for 10 minutes, and so on. If you set the value to ‘0’ there will be no time limit.
Remember: you can stop recording at any time regardless of the duration you set. Just press the keyboard shortcut you use to start recording to stop recording.
KDE Spectacle
KDE Spectacle supports screen recording for a KDE Plasma Wayland session since the 23.04 release. To launch Spectacle, press PrtSc.
On the middle right side of Spectacle, click the tab 'Recording', select one of three options - Workspace, Selected Screeen and Selected Window.
Press 'Finish recording' to stop the recording. Recorded footage will be saved as WebM file format as a default.
Byzanz
Byzanz is a desktop recorder striving for ease of use. It can record to GIF images, Ogg Theora video - optionally with sound – and other formats. It is available in Fedora. To install execute
% sudo dnf install byzanz
It is similar to former Istanbul, but can also produce:
-
animated GIF files (video only)
-
Ogg Theora files (with or without audio)
-
FLV Flash screen files (lossless, can be postprocessed)
-
Byzanz format for conversion later to multiple formats
Simple Screen Recorder
SimpleScreenRecorder is a Linux program that I’ve created to record programs and games.
Features
-
Graphical user interface (Qt-based).
-
Faster than VLC and ffmpeg/avconv.
-
Records the entire screen or part of it, or records OpenGL applications directly (similar to Fraps on Windows).
-
Synchronizes audio and video properly (a common issue with VLC and ffmpeg/avconv).
-
Reduces the video frame rate if your computer is too slow (rather than using up all your RAM like VLC does).
-
Fully multithreaded: small delays in any of the components will never block the other components, resulting is smoother video and better performance on computers with multiple processors.
-
Pause and resume recording at any time (either by clicking a button or by pressing a hotkey).
-
Shows statistics during recording (file size, bit rate, total recording time, actual frame rate, …).
-
Can show a preview during recording, so you don’t waste time recording something only to figure out afterwards that some setting was wrong.
-
Uses libav/ffmpeg libraries for encoding, so it supports many different codecs and file formats (adding more is trivial).
-
Can also do live streaming (experimental).
-
Sensible default settings: no need to change anything if you don’t want to.
-
Tooltips for almost everything: no need to read the documentation to find out what something does.
SimpleScreenRecorder is available in the RPM Fusion reposity. RPM Fusion can be activated with this command:
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
After that, SimpleScreenRecorder can be installed with this command:
sudo dnf install simplescreenrecorder
OBS Studio
OBS Studio provides feature-rich professional tools for your video recordings and live streaming. You can find the latest version of the upstream documentation at https://obsproject.com/kb/quick-start-guide
Recording Web apps or Web pages
This is a special case, and tools designed for this task can achieve a better result. Chrome has plugins to do the job.
Advanced Topics: Adding Audio
-
You must have audacity (or other audio recorder) installed
-
Record your audio track, taking care to synchronize it with events in your recording (I believe this may be easier to record the audio track first, then go back and play the audio while recording video)
-
Export your audio to a wave or ogg-vorbis file, I use /tmp/stream.wav
-
Grab the script fedora-av-splice.sh. This script uses the gstreamer framework to add the audio and re-encode the theora video file
-
Run fedora-av-splice.sh /tmp/stream.wav /path/to/theora.ogg /path/to/result.ogg
-
Get a cup of coffee while things encode, this will be cpu intensive.
-
You should be able to play the resulting file in mplayer, vlc, totem, or xine
Advanced Topics: Alternative Audio Tracks
Goal: Create alternative audio tracks for pre-existing screencast named desktop-recording.ogg
Additional Software Needed: libannodex in Fedora
-
Create a 10 second timestamp test pattern video with gstreamer
gst-launch-0.8 videotestsrc num-buffers=250 ! video/x-raw-yuv,framerate=25.0 ! timeoverlay ! theoraenc ! oggmux ! filesink location=test.ogg
-
chain the two videos together to produce a video with 10 second lead-in
cat test.ogg desktop-recording.ogg > edit-video.ogg
-
begin playing video with totem edit-video.ogg
-
begin recording new audio track at the end of the 10 second lead in.
-
make small edits as needed at the beginning and end of the audio to have audio file make time length of the original video
-
use shell script fedora-av-splice.sh as above to replace the original audio track
Advanced Topics: Adding a video timestamp
For further editing needs, one can overlay the time over the original video. This may help in the production of additional audio tracks.
Want to help? Learn how to contribute to Fedora Docs ›