VideoSnap is an OSX command line tool for recording video and audio from any attached capture device.
You can specify which device to capture from, the duration, encoding and a delay period (before capturing starts). You can also disable audio recording.
By default VideoSnap will capture both video and audio from the default capture device at 30fps, with a Medium quality preset and a short (0.5s) warm-up delay.
If no duration is specified, VideoSnap will record until you cancel with [Ctrl+c]. You can also use VideoSnap to list attached capture devices by name.
- OSX 10.7+ (x86_64)
- A web cam
If you need to capture video on older versions of OSX (or on 32-bit hardware), try wacaw.
Download the latest release and unpack it like so:
tar -zxvf videosnap-[version].tar.gz cp -R videosnap/usr/local/* /usr/local/
This will unzip the archive, and copy the binary and man page to your
The following options are available:
-l List attached capture devices -w Set delay before capturing starts (in seconds, default 0.5s) -t Set duration of video (in seconds) -d Set the capture device by name (use -l to list attached devices) -p Set the encoding preset (use High, Medium (default), Low, 640x480 or 1280x720) -v Turn ON verbose mode (OFF by default) -h Show help --no-audio Don't capture audio (audio IS captured by default)
Capture 10.75 secs of video in 1280x720 720p HD format saving to movie.mov
videosnap -t 10.75 -p '1280x720'
Capture 1 minute of video (Medium preset), but no audio from the "Built-in iSight" device, delaying for 5 secs, saving to my_video.mov
videosnap -t 60 -w 5 -d 'Built-in iSight' --no-audio my_video.mov
List all attached devices by name
Since some camera hardware can take a while to warm up, a default delay of 0.5
seconds is applied. Override this with the
-w argument (0 meaning no delay).
The AVFoundation framework provides the following video encoding presets:
|High||Highest recording quality. This varies per device.|
|Medium||Suitable for Wi-Fi sharing. The actual values may change.|
|Low||Suitable for 3G sharing. The actual values may change.|
-p flag to choose a preset.
Get command help with:
videosnap -h # or via the man page with man videosnap
If you have any problems, please do raise an issue on GitHub. When reporting a bug, remember to mention what platform and hardware you are using and the steps I can take to reproduce the issue.
Work in progress is usually mentioned at the top of the CHANGELOG. If you'd like to get involved in contributing, here are some ideas:
- Allow VideoSnap to pipe captured bytes to the STDOUT stream
- Submit VideoSnap as a package for Homebrew
- Default filename should include a timestamp of when recording began
- Allow more size/quality options for video and/or audio
- Smile detection while capturing video/image, determine a happiness factor/score
- Allow VideoSnap to capture a single frame to an image file (with compression options based on file type like ImageSnap)
- A comprehensive test suite in Xcode
VideoSnap is distributed under the terms of the MIT License.