Simple Recorder
Fit an app window to a video shape and record it, ready to upload. No cropping, no black bars, no editing afterwards.
Free and MIT licensed. One bash script on top of ffmpeg and KWin. Pick a window, pick YouTube, Shorts or square, and press q when you are done.
npm install -g simple-recorder
srec chrome # record Chrome at 16:9
srec -p shorts discord # 9:16 for Shorts and Reels
# press q to stopWhat you get
The window takes the video shape
srec resizes the window to 16:9, 9:16, 1:1 or 4:3, as large as your screen allows. The video needs no crop and has no black bars.
Presets for where it goes
YouTube at 1080p, 720p or 4K, Shorts and Reels at 1080x1920, square for Instagram and X, and 4:3 for slides. Add your own under
## Your presets.Nothing covers the recording
The title bar goes away and the window stays on top, so a window you click cannot cover it. Both come back when you stop.
Microphone and system sound
Record the mic, the sound your computer plays, both or none with
-a mic|sys|both|none. Optional separate.m4afiles for editing.Uses the GPU when it can
With
encoder = auto, srec picks the NVIDIAh264_nvencencoder when it works, so the CPU stays free for the app you record.Tells you what is wrong
A live status line shows dropped frames and speed in yellow when they slip. A missing tool or a typo in the config gives a clear message, never a failed recording.
One plain config file
The first start runs srec setup, which asks for the main choices and writes ~/.config/simple-recorder/config. It uses the key = value format that mpv, git and systemd use.
Every setting is in the file with its default, grouped as Basic and Advanced. A bad value gives a warning with the line number, and srec uses the default for that value.
srec config opens the file. srec config reset writes a fresh one and keeps the old one as .bak.
## Basic
default_preset = youtube # preset used when you press Enter
fps = 60 # frames per second
mic = yes # record the microphone
system_audio = no # record the sound your computer plays
out_dir = ~/Videos/simple-recorder # where videos are saved
## Your presets
[preset.mine] # listed first when you pick
window = 21:9
video = 2560x1080Recording in a minute
- Install the tools. On Fedora:
sudo dnf install ffmpeg xprop qt6-qttools fzf pulseaudio-utils(ffmpeg from RPM Fusion). On Debian or Ubuntu:sudo apt install ffmpeg x11-utils qdbus-qt6 fzf pulseaudio-utils. If one is missing, srec names it with the install command. - Install srec. Run
npm install -g simple-recorder, or download the singlesrecscript from the latest GitHub release into~/.local/bin. - Record. Run
srecand pick a window and a preset from the lists, or name them:srec -p youtube firefox. Press Enter for the default preset. - Stop and upload. Press
q. The file is in~/Videos/simple-recorder, already the right size for the preset.
Good to know
- It works on KDE Plasma 6 on X11 only. Wayland and other desktops are not supported yet. On the login screen, pick "Plasma (X11)".
- Fedora ships
ffmpeg-free, which has no libx264. Swap it forffmpegfrom RPM Fusion. - A ratio preset scales the window to the video size. For sharp, unscaled video, use
exact-1080pand set your panels to auto-hide. - It is version 0.1.0. Check that nothing private is visible before you record.
Questions
What is Simple Recorder?
Is Simple Recorder free?
Does it work on Wayland or GNOME?
How is it different from OBS Studio?
Can I move the window while recording?
Which file formats does it save?
Record your next video with it
Issues and stars on GitHub help other people find it.
