Forensicsscreen-recordingdesktop-captureaudio-videoogg-theoravorbis

recordMyDesktop

recordMyDesktop captures audio-video data of a Linux desktop session, producing an ogg-encapsulated Theora-Vorbis file. It processes only regions of the screen that have changed to be as unobtrusive as possible.

Description

recordMyDesktop is a command-line tool designed to record Linux desktop sessions into Ogg Theora video files with Vorbis audio. It is particularly useful for capturing screen activity for documentation, training, debugging, or forensic analysis of user interactions on a system.

The tool minimizes system impact by adaptively recording only screen regions that change, making it suitable for extended recording sessions without excessive resource consumption. It supports various customization options for window selection, sound settings, and encoding parameters.

Common use cases include creating tutorials, recording desktop sessions for incident response, or preserving evidence of system behavior during security assessments.

How It Works

recordMyDesktop captures desktop sessions by monitoring X11 display changes and only processing modified screen regions for efficiency. It records both video in Theora format and audio in Vorbis, encapsulating them in an Ogg container. Sound is handled via ALSA, JACK, or OSS with configurable buffer sizes, and encoding can occur on-the-fly or post-recording. Window manager detection is attempted by default to optimize settings, unless disabled.

Installation

bash
sudo apt install recordmydesktop

Flags

-h, --helpPrint this help and exit.
--versionPrint program version and exit.
--print-configPrint info about options selected during compilation and exit.
--windowid=id_of_windowid of window to be recorded.
--display=DISPLAYDisplay to connect to.
-x, --x=N>=0Offset in x direction.
-y, --y=N>=0Offset in y direction.
--width=N>0Width of recorded window.
--height=N>0Height of recorded window.
--dummy-cursor=colorColor of the dummy cursor [black|white]
--channels=NA positive number denoting desired sound channels in recording.
--freq=NA positive number denoting desired sound frequency.
--buffer-size=NA positive number denoting the desired sound buffer size (in frames,when using ALSA or OSS)
--ring-buffer-size=NA float number denoting the desired ring buffer size.
--on-the-fly-encodingEncode the audio-video data, while recording.
--v_quality=nA number from 0 to 63 for desired encoded video quality(default 63).
--v_bitrate=nA number from 0 to 200000000 for desired encoded video bitrate(default 0).
--s_quality=nDesired audio quality(-1 to 10).
--rescue=path_to_dataEncode data from a previous, crashed, session.
--no-wm-checkDo not try to detect the window manager(and set options according to it)
--no-frameDon not show the frame that visualizes the recorded area.
--pause-shortcut=MOD+KEYShortcut that will be used for pausing/resuming recording.

Examples

Display the help message and usage information for the tool.
recordmydesktop -h
Record the full desktop session to output.ogg using default settings.
recordmydesktop output.ogg
Record a specific window (ID 12345) to output.ogg.
recordmydesktop --windowid=12345 output.ogg
Record a 800x600 region starting at offset (100,100) to output.ogg.
recordmydesktop -x 100 -y 100 --width 800 --height 600 output.ogg
Record with on-the-fly encoding and video quality set to 10.
recordmydesktop --on-the-fly-encoding --v_quality 10 output.ogg
Record stereo audio at 44.1kHz without showing the recorded area frame.
recordmydesktop --channels 2 --freq 44100 --no-frame output.ogg
Resume and encode from a previous crashed recording session.
recordmydesktop --rescue /path/to/crashed/data output.ogg
Updated 2026-04-16kali.org ↗