Screen recorder in Python
https://spacecruft.org/deepcrayon/ffrec
- Python 100%
| src/ffrec | ||
| .gitignore | ||
| BUILD.md | ||
| CHANGELOG.txt | ||
| LICENSE-apache.txt | ||
| pyproject.toml | ||
| README.md | ||
| TODO.md | ||
ffrec
ffrec records the screen, using Python.
Installation
Thusly, suit to taste:
python -m venv venv
source venv/bin/activate
pip install -U setuptools pip wheel
pip install ffrec
Help
Command line options:
$ ffrec --help
usage: ffrec [-h] [-a AUDIO_CODEC] [-A AUDIO_INPUT] [-c VIDEO_CODEC] [-D]
[-C AUDIO_CHANNELS] [-d DIR] [-l] [-m] [-o | -O] [-p PREFIX]
[-r FRAMERATE] [-s SIZE] [-t TIME] [-T | -N] [-v] [-V]
Record screen and save to mp4
options:
-h, --help show this help message and exit
-a, --audio-codec AUDIO_CODEC
Audio codec to use (default: aac)
-A, --audio-input AUDIO_INPUT
Audio input source (default: pulse)
-c, --video-codec VIDEO_CODEC
Video codec to use (default: hevc_nvenc)
-D, --debug Debugging
-C, --audio-channels AUDIO_CHANNELS
Number of audio channels (default: 2)
-d, --dir DIR Directory to save the output video file
-l, --loop Loop into new segment files until terminated manually
-m, --mouse Record the mouse cursor (default false)
-o, --overwrite Overwrite existing files (default)
-O, --no-overwrite Do not overwrite existing files
-p, --prefix PREFIX Prefix for the output video file name
-r, --framerate FRAMERATE
Framerate for recording (default: 30)
-s, --size SIZE Video size (default: 1920x1080)
-t, --time TIME Length of recording in HH:MM:SS format (default:
00:01:00)
-T, --timestamp Add timestamp to filename (default)
-N, --no-timestamp Do not add timestamp to filename
-v, --verbose Increase output verbosity (-vv for debug)
-V, --version Show version
License
Apache 2.0.
Unofficial project, not related to upstream projects.
Upstream sources under their respective copyrights.
Copyright © 2025, 2026 Jeff Moe.