Skip to content

All-in-one simple screen recording tool for wlroots-based Wayland compositors like LabWC, Wayfire, and Sway.

Notifications You must be signed in to change notification settings

Botspot/botspot-screen-recorder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 

Repository files navigation

Botspot's Screen Recorder (BSR)

badge
All-in-one simple screen recording tool for wlroots-based Wayland compositors like LabWC, Wayfire, and Sway.

  • Record audio
  • Record the screen
  • Record your webcam
  • Record the sound going to the speakers
  • Or all of the above, all at once! 😀

BSR is:

  • Super lightweight
  • Just one shell script
  • Aligned with KISS principles
  • Ready to do its best on hardware that lacks hardware-accelerated video encoding (such as Raspberry Pi)

BSR has flexible operation modes.

Screen + Webcam Screen only Webcam only None
System Audio Supported Supported Supported Supported
Microphone Supported Supported Supported Supported
Both Supported Supported Supported Supported
None Supported Supported Supported
  • Video processing options:
    • Record a fixed rectanglular section of the screen. (crop feature)
    • Mirror the webcam feed.
    • Custom screen recording frame rate.
    • Custom video quality (high/medium/low)
    • Downscale the output video by a factor of 2. For example, a 1920x1080 screen or webcam can be encoded as 960x540 video file to reduce filesize and CPU usage.
    • Reduce video file size by 60% without quality reduction, by re-encoding the video file with libx264's slower compression preset.

Screenshots:

20250214_07h20m18s_grim
20250214_21h52m07s_grim

Supported systems:

  • Any distro using a Wayland wlroots-based compositor.
  • For audio capture, your system needs to be running PipeWire on top of Pulseaudio. If your system only uses Pulseaudio, contact me and I can try to see how possible it is to add support for your setup. It should be easy.

Download and run:

git clone https://github.com/Botspot/botspot-screen-recorder
./botspot-screen-recorder/screen-recorder.sh

On first run, BSR adds a convenient launcher to the start menu. To remove it from the start menu, run rm ~/.local/share/applications/bsr.desktop

Debian packages to install:

None. The script installs them for you. For the sake of completeness, here they are: (most of these are just used to compile wf-recorder)

slurp ffmpeg ninja-build git meson mpv yad g++ wlr-randr v4l-utils wayland-protocols libavutil-dev libavfilter-dev libavdevice-dev libavcodec-dev libavformat-dev libswscale-dev libpulse-dev libgbm-dev libpipewire-0.3-dev libdrm-dev

Arch support:

This user says this command works on Arch:
If BSR detects all necessary packages are installed, it should not try to use apt to install anything. Let me know otherwise.

sudo pacman -S --needed ffmpeg gcc git meson mpv ninja slurp v4l-utils wf-recorder wlr-randr yad

Usage

  1. Run the script.
  2. Choose your options and click Start recording.
  3. Stop the recording when done.
  4. Profit.
  5. Your chosen presets are saved to ~/.config/botspot-screen-recorder.conf for next time.

Tips for using the on-screen webcam feed

  • It can be paused using the pause button in the middle of the window.
  • It can be resized and moved in real time. Click and drag anywhere on the window to move it.
  • Double-click the webcam feed to toggle fullscreen. Press Escape to exit fullscreen.
  • To keep the webcam feed visible above other windows, use your Wayland compositor to do it.
    • If you are using the LabWC compositor, press Alt+Space, then click Always on Top.
    • If you are using Wayfire, I am not aware of an easy way to do this. :(

Update to latest version

Simply run BSR. It auto-updates using git pull.

Command-line flags

There are no command line flags. Go directly use wf-recorder for that. If you think I should add a new option, let me know.

Keyboard shortcuts

This is an open discussion. Would you find it useful to launch/start/stop BSR using keyboard shortcuts? Let me know.

Feedback requested!!

This is meant to become the SimpleScreenRecorder for wlroots. Contact me if you want to see a feature or option added, or if anything is not working as expected.

Notable open source projects used in BSR:

  • MPV for the on-screen webcam feed
  • wf-recorder for recording the screen
  • ffmpeg used in the background for conversion and encoding

How long did it take to write BSR?

Just one night of coding nonstop instead of sleeping. From start to finish it was roughly 9 hours to write these 300 lines of shell script.

About

All-in-one simple screen recording tool for wlroots-based Wayland compositors like LabWC, Wayfire, and Sway.

Topics

Resources

Stars

Watchers

Forks

Contributors