Download the PHP package cytopia/ffscreencast without Composer
On this page you can find all versions of the php package cytopia/ffscreencast. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cytopia/ffscreencast
More information about cytopia/ffscreencast
Files in cytopia/ffscreencast
Package ffscreencast
Short Description ffmpeg screencast with video overlay and multi monitor support.
License MIT
Homepage https://github.com/cytopia/ffscreencast
Informations about the package ffscreencast
ffscreencast
Features | Installation | Usage | Screenshots | FAQ | Todo | Contribution | License | Version | Awesome
About
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. Non-ffmpeg commands, such as how the camera resolution is pulled and others can also be shown instead of being executed.
Supported platforms
OSX | Linux | FreeBSD | Windows |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
via AVFoundation | via x11grab | coming soon | coming soon |
Requirements
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 |
1. Features
- Config file for default configuration
- Screen recording
- Camera overlay
- Audio support
- Allows to manually (parameter) or interactively choose monitor
- Allows to manually (parameter) or interactively choose camera
- Allows to manually (parameter) or interactively choose sound device
- ffmpeg command generation
2. Installation
2.1 OSX
2.2 Linux/BSD
3. Usage
3.1 Overview
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.
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.
3.2 Examples
Do a screencast on the default screen (without explicitly choosing the monitor)
List monitors and record on monitor 2 (Capture screen 0
)
List cameras
Start a screencast with camera overlay (only one camera present)
or select the camera device
Show the ffmpeg command for camera recording
4. Screenshots
Showing screen recording with and without camera overlay.
5. FAQ
This section will be updated whenever questions arise that are worth mentioning here
5.1 How to convert to other formats?
There is currently no built-in gif support, mainly because it will not produce such a good quality. It is recommended to first create your screencast with the best possible quality and least possible resources (you are obviously going to do something and will not want to consume all your cpu for the encoding) and afterwards convert it to a high quality gif or other formats.
See contrib for converters and feel free to add more.
5.2 How to enable cursor capturing on OSX?
By default ffmpeg
on OSX (using AVFoundation
) does not capture the mouse (on Linux it does). You can however pass this as a custom option to ffscreencast
In order to capture the mouse pointer itself add the following --sargs
:
If you also want to see when you actually click the mouse, do it like this:
5.3 How to hide the cursor on Linux/BSD?
By default ffmpeg
on Linux/BSD (using x11grab
) does show the mouse pointer by default (OSX does not). You can however pass this as a custom option to ffscreencast
in order to hide the mouse pointer:
5.4 How to alter the default options (config file)?
When you run ffscreencast
for the first time, it will create a configuration file in ~/.config/ffscreencast/ffscreencastrc
. Everything specified in this file will be applied when you run ffscreencast
without any arguments. So if you have your own nice defaults you always need to enter, you can simply add them to the config file.
6. Todo
6.1 Bugs
- [ ] General: Sound is still behind one second when using camera overlay
- [X] OSX:
USB Monitors (see #1)
6.2 Enhancements
- [ ] BSD: Support for [Free]BSD (needs testing)
- [ ] Windows: Support for Windows (via cygwin and dshow)
- [ ] Linux: set sound options via cmd (alsa vs pulse)
- [ ] Linux: Get default resolution/framerate for camera
- [X] OSX: Get default resolution/framerate for camera
- [X] General:
Set camera resolution via cmduse--cargs
- [ ] General: Set camera position via cmd
- [ ] General: Be able to record one or multiple screens (monitors)
7. Contribution
Contributors are welcome.
8. License
9. Version
For a complete list of verion see CHANGELOG