ffscreencast - ffmpeg screencast/desktop-recording with video overlay and multi monitor support
|
9 лет назад | |
---|---|---|
img | 9 лет назад | |
.gitignore | 9 лет назад | |
.travis.yml | 9 лет назад | |
CHANGELOG.md | 9 лет назад | |
LICENSE | 9 лет назад | |
README.md | 9 лет назад | |
composer.json | 9 лет назад | |
ffscreencast | 9 лет назад |
Features | Usage | Screenshots | Todo | Contribution | License | Version
ffscreencast
is a shell wrapper for ffmpeg
that allows fool-proof screen recording via the command line. It will auto-detect all available monitors, cameras and microphones and is able to interactively or manually choose the desired recording device(s). Additionally ffscreencast
will let you overlay the camera stream on top of the desktop session.
Besides that ffscreencast
can act as an ffmpeg command generator. Every available option can also just show the corresponding ffmpeg command instead of executing it.
OSX | Debian | CentOS |
---|---|---|
![]() |
![]() |
![]() |
via AVFoundation | via x11grab | via x11grab |
Program | Required | Description |
---|---|---|
bash | yes | The whole script is written in bash and might not be 100% Posix compliant |
ffmpeg | yes | The ffmpeg binary must be present |
v4l2-ctl | Linux | Required for linux to list camera devices |
arecord | Linux | Required for linux to list sound devices |
xdpyinfo | Linux | Required for linux to list screends |
To simply start desktop recording your screen call the program without any arguments ffscreencast
and it will use the default screen without camera overlay and without sound.
$ ffscreencast
Usage: ffscreencast [-s[num]] [-a[num]] [-c[num]] [--dry]
ffscreencast --slist [--dry]
ffscreencast --alist [--dry]
ffscreencast --clist [--dry]
When invoked without any arguments, it will start screen recording
on the default screen without sound and without camera overlay.
Recording options (can be combined):
-s[num] (Default) Enable screen capturing [with device number X]
-a[num] Enable audio capturing [with device number X]
-c[num] Add camera overlay [with device number X]
Behavior options (combine with recording- or list options):
--dry Show the command (without executing)
List options:
--slist List screen capturing devices (monitors)
--alist List audio capturing devices (microphones)
--clist List camera capturing devices (cams)
System information:
--help Show this help screen
--version Show version information
--test Test requirements
The num
(device numbers) can be omitted. If there is only one device of its type available, ffscreencast
will automatically default to this device, otherwise it will ask interactively which device to use for recording.
Do a screencast on the default screen (without explicitly choosing the monitor)
$ ffscreencast
List monitors and record on monitor 2
$ ffscreencast --slist
Available screen recording devices:
[1] Capture screen 0
[2] Capture screen 1
$ ffscreencast -s2
List cameras
$ ffscreencast --clist
Available camera recording devices:
[0] FaceTime HD Camera
Start a screencast with camera overlay (only one camera present)
$ ffscreencast -c
or select the camera device
$ ffscreencast -c0
Show the ffmpeg command for camera recording
$ ffscreencast -c --dry
ffmpeg -hide_banner -loglevel info -f avfoundation -framerate 30 -i "1" -f avfoundation -framerate 30 -video_size 1280x720 -i "0" -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" "/Users/cytopia/Desktop/Screencast 2015-10-03 at 12.48.00.mkv"
Showing screen recording with and without camera overlay.
Contributors are welcome.
For a complete list of verion see CHANGELOG