ADSR - Advanced Desktop Screen Recorder
An advanced, multi-workspace, widget-based screen recorder written in Qt6 - Compose a canvas out of sources, mix in audio, and record to a file or stream to RTMP/SRT.
Features
- Multiple available Widgets
- XDG Capture
- Wayland capture (screen-copy)
- V4L2 Video
- Game Capture (
eglcapture) - Media (Image / Video)
- Web Page (Qt6-WebEngine)
- Command Output (Output of a shell command)
- Grid-based configurable layout
- Multiple independent workspaces
- Per-workspace audio
- IPC Invocation (See Below)
- Full configurable resolution, codec, size and bitrate
Dependencies
Mandatory
Optional
Qt6-WebEngine(build-time)- GStreamer runtime plugins:
gst-plugins-base(appsrc/appsink, videoconvert, audioconvert, audioresample, audiomixer, volume)gst-plugins-good(pulsesrc, matroska/mp4/flv muxers, etc.)gst-plugins-ugly(x264enc) and/orgst-libav(avenc_aac, other codecs)gst-plugins-bad(srtsink,rtmpsink,mpegtsmux,voaacenc), as needed for streaminggst-plugin-pipewire(XDG Portal capture)- At least one AAC encoder:
avenc_aac,voaacenc,fdkaacencorfaac
- PulseAudio or PipeWire with
pipewire-pulsefor audio capture eglcapture(Game Capture)grim(wlroots screen detection)
Build
git clone https://codeberg.org/itszariep/adsr-recorder
cd adsr-recorder
cmake -B build
cmake --build build