Skip to content

Provides commands for rotating and stabilizing a video

License

Notifications You must be signed in to change notification settings

mslinn/video_operations

Repository files navigation

Video_operations Gem Version

Video_operations provides the stabilize command, which uses FFmpeg to improve shakey videos, and the rotate command, which uses FFmpeg to rotate a video. Provided as a Ruby Gem, video_operations exposes APIs that can be invoked from other programs.

Installation

To use the rotate and stabilize commands from a console, type:

$ gem install video_operations

For a Ruby Program

If you would like to use the APIs from your Ruby program, add the following line to your application’s Gemfile:

gem 'video_operations'

And then execute:

$ bundle

For a Ruby Gem

If you would like to use the APIs from your Ruby gem, add the following to your gem’s .gemspec:

spec.add_dependency 'video_operations'

And then execute:

$ bundle

Usage

This are the help messages:

$ rotate -h
rotate: Rotates a video using FFmpeg.

Syntax: rotate PATH_TO_VIDEO DEGREES

Options:
  -f Overwrite output file if present
  -h Show this help message
  -v Verbosity; one of: trace, debug, verbose, info, warning, error, fatal, panic, quiet
$ stabilize -h
stabilize: Stabilizes a video using FFmpeg's vidstabdetect and vidstabtransform filters.

Syntax: stabilize [Options] PATH_TO_VIDEO

Options:
  -f Overwrite output file if present
  -h Show this help_stabilize message
  -s Shakiness compensation 1..10 (default 5)
  -v Verbosity; one of: trace, debug, verbose, info, warning, error, fatal, panic, quiet
  -z Zoom percentage (computed if not specified)

See:
  https://www.ffmpeg.org/ffmpeg-filters.html#vidstabdetect-1
  https://www.ffmpeg.org/ffmpeg-filters.html#toc-vidstabtransform-1

Development

After checking out this git repository, install dependencies by typing:

$ bin/setup

You should do the above before running Visual Studio Code.

Run the Tests

$ bundle exec rake test

Interactive Session

The following will allow you to experiment:

$ bin/console

Local Installation

To install this gem onto your local machine, type:

$ bundle exec rake install

To Release A New Version

To create a git tag for the new version, push git commits and tags, and push the new version of the gem to https://rubygems.org, type:

$ bundle exec rake release

Contributing

Bug reports and pull requests are welcome at https://github.com/mslinn/stabilize_video.

License

The gem is available as open source under the terms of the MIT License.

About

Provides commands for rotating and stabilizing a video

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published