A bash wrapper for ffmpeg that simplifies desktop screen recording with camera overlay and multi-monitor support.
ffscreencast is a bash shell wrapper for ffmpeg that simplifies desktop screen recording from the command line. It auto-detects monitors, cameras, and microphones, allowing users to record their screen with optional camera overlays and audio without needing to remember complex ffmpeg syntax. The tool also functions as an ffmpeg command generator, showing the exact commands it would execute.
Developers, content creators, and technical users who need to record their desktop for tutorials, demos, or bug reporting and prefer a command-line interface over GUI tools.
It reduces the learning curve of ffmpeg for screen recording by providing an intuitive, interactive interface while retaining the power and flexibility of ffmpeg under the hood. The ability to generate ffmpeg commands helps users learn and customize their recordings.
ffscreencast - ffmpeg screencast/desktop-recording with video overlay and multi monitor support
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Auto-detects all available monitors, cameras, and microphones across platforms, as shown in the interactive listing features like --slist and --clist.
Allows users to choose devices interactively or via parameters, eliminating the need to memorize ffmpeg device numbers.
Enables picture-in-picture effects by overlaying camera feed on screen recording, with configurable arguments via --cargs.
Can output the exact ffmpeg command with --dry flag, helping users learn and customize their recordings, as demonstrated in the examples.
Currently only fully supports OSX and Linux, with FreeBSD and Windows listed as 'coming soon' in the README, limiting its usability.
The Todo section admits a bug where sound is behind by one second when using camera overlay, which can affect video quality without a built-in fix.
Requires multiple external tools on Linux like v4l2-ctl, arecord, and xdpyinfo, adding setup complexity compared to standalone tools.