FFcast has almost nothing to do with FFmpeg or screencast ;)
Shell M4 Makefile



Since FFcast 2.2.0, xrectsel has become a separate project. Packagers should from now on package xrectsel separately, and make FFcast depend on it.
Users of FFcast 1.0 will have to update their command lines. See issue #8.

FFcast helps the user interactively select a screen region and hands over the geometry to an external command, such as FFmpeg, to record a screencast, or take a screenshot, among other things.

FFcast is a historical name. To say "FFcast wraps around FFmpeg" is as good as saying "XBMC runs on Xbox". Sure, FFmpeg is a fine thing to wrap around, but FFcast can wrap around a lot of things.

FFcast really is a "handy" or "human friendly" interface for anything involving selecting a box on the screen. In the same spirit, it tries to provide handy terse commands for common tasks, and allows users to define their own commands, in a straight-forward manner, to tailor to their own needs.


  • Bash 4.3+

  • FFmpeg - for some sub-commands (png, rec)

  • xdpyinfo - for the -x option

  • xprop - for the -f option

  • xrectsel - for the -s option

  • xwininfo - for the -w option

Get the Source

The source code is hosted at GitHub: either git clone or get releases.


To build and install from source,

./bootstrap  # required if ./configure is not present
./configure --prefix /usr --libexecdir /usr/lib --sysconfdir /etc
make DESTDIR="$dir" install  # $dir must be an absolute path

Note if you build from Git source, you can pull in xrectsel as a submodule,

git clone --recursive https://github.com/lolilolicon/FFcast.git
cd FFcast && ./bootstrap && ./configure --enable-xrectsel ... && make ...

This will allow you to build and install xrectsel along with FFcast.

Arch Linux users can simply install AUR/ffcast.


See ffcast(1).