All Projects → matthutchinson → Videosnap

matthutchinson / Videosnap

Licence: mit
Simple command line app to record video and audio from a QuickTime capture device

Projects that are alternatives of or similar to Videosnap

Cli.fan
Blog about notable commandline tools
Stars: ✭ 106 (-10.92%)
Mutual labels:  command-line-tool
Git Chglog
CHANGELOG generator implemented in Go (Golang).
Stars: ✭ 1,895 (+1492.44%)
Mutual labels:  command-line-tool
Elixir cli spinners
Spinnig Animations for Command Line Applications
Stars: ✭ 117 (-1.68%)
Mutual labels:  command-line-tool
N26
API and CLI to get information of your N26 account
Stars: ✭ 107 (-10.08%)
Mutual labels:  command-line-tool
Jardiff
A tool for comparing JAR files, including Scala pickled signatures and method code
Stars: ✭ 112 (-5.88%)
Mutual labels:  command-line-tool
Droid
A command-line tool for checking Android OS version history written by Rust.
Stars: ✭ 115 (-3.36%)
Mutual labels:  command-line-tool
Inferno
🔥 Modern command line tool for malware creation on Windows
Stars: ✭ 105 (-11.76%)
Mutual labels:  command-line-tool
Leaf
General purpose reloader for all projects.
Stars: ✭ 118 (-0.84%)
Mutual labels:  command-line-tool
Endlines
Easy conversion between new-line conventions
Stars: ✭ 112 (-5.88%)
Mutual labels:  command-line-tool
Arplayer
Playback videos using ARKit and AVFoundation.
Stars: ✭ 117 (-1.68%)
Mutual labels:  avfoundation
Splash
A fast, lightweight and flexible Swift syntax highlighter for blogs, tools and fun!
Stars: ✭ 1,529 (+1184.87%)
Mutual labels:  command-line-tool
Hmap
hmap is a command line tool written in Swift to work with Clang header maps produced by Xcode.
Stars: ✭ 110 (-7.56%)
Mutual labels:  command-line-tool
Mesabox
A collection of core system utilities written in Rust for Unix-like systems (and now Windows)
Stars: ✭ 116 (-2.52%)
Mutual labels:  command-line-tool
Giraffez
User-friendly Teradata client for Python
Stars: ✭ 106 (-10.92%)
Mutual labels:  command-line-tool
Borg
Search and save shell snippets without leaving your terminal
Stars: ✭ 1,528 (+1184.03%)
Mutual labels:  command-line-tool
Iredis
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
Stars: ✭ 1,661 (+1295.8%)
Mutual labels:  command-line-tool
Camera
📸 Custom Camera for iDevices in swift
Stars: ✭ 114 (-4.2%)
Mutual labels:  avfoundation
Kube Prompt
An interactive kubernetes client featuring auto-complete.
Stars: ✭ 1,614 (+1256.3%)
Mutual labels:  command-line-tool
Freenom Dns Updater
A tool to update freenom's dns records
Stars: ✭ 117 (-1.68%)
Mutual labels:  command-line-tool
Python N26
💵 Unofficial Python client for n26 (Number 26) - https://n26.com/
Stars: ✭ 116 (-2.52%)
Mutual labels:  command-line-tool

VideoSnap

VideoSnap is an OSX command line tool for recording video and audio from any attached capture device (including any attached iOS 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.

Requirements

  • 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.

Installation

Download the latest release and run the installer.

This will copy the binary and man page to your /usr/local directory.

Usage

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)

Examples

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

videosnap -l

Warming Up

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).

Encoding Presets

The AVFoundation framework provides the following video encoding presets:

Resolution Comments
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.
640x480 VGA.
1280x720 720p HD.

Use the -p flag to choose a preset.

Help

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.

Contributing

Bug reports and pull requests are welcome on GitHub. Before submitting pull requests, please read the contributing guidelines for more details.

This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct. See here for more details.

Development

VideoSnap is coded with Objective-C and uses the AVFoundation framework. You can build the project with Xcode (using the Xcode project workspace in the repository, or with the xcodebuild command).

Future Work

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

License

VideoSnap is distributed under the terms of the MIT License.

Who's Who?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].