/rakemkv

Object oriented disc backup utility

Primary LanguageRubyMIT LicenseMIT

Build Status

Rakemkv

A fully object oriented wrapper around MakeMKV to help facilitate more programmable backups.

Requirements

  • MakeMKV

Installation

Add this line to your application's Gemfile:

gem 'rakemkv'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rakemkv

Usage

Most straight forward usage to transcode a single disc. This will find the longest title, transcode it, and place that file in the working directory.

disc = RakeMKV::Disc.new(location: "path/to/disc")
disc.transcode!

transcode! by default will transcode the longest title, but it takes title_id as an argument if you determine a different title. Passing all will include every title above the minimum length specified.

To transcode the fifth title you would do:

disc = RakeMKV::Disc.new(location: "path/to/disc")
disc.transcode!(title_id: 5)

Disc takes destination and minlength as arguments as well. This lets you determine where you want the files to end up and what the minimum length of the titles transcoded must be.

For example, if you wanted to transcode titles over the 20 minutes long into the tmp directory you can do the following:

disc = RakeMKV::Disc.new(
  destination: "/tmp",
  location: "path/to/disc",
  minlength: 1200, # time in seconds
)
disc.transcode!(title_id: "all")

Configuration

You can configure RakeMKV by doing the following:

RakeMKV.configure do |config|
  config.binary = "new_makemkv_binary'
end

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request