Skip to main content

Python wrapper for MakeMKV

Project description

python-makemkv is a simple python wrapper for MakeMKV (written by GuinpinSoft inc.). While it can be imported as a module, it also offers a command-line interface that tries to be more intuitive than makemkvcon.

Requirements

python-makemkv requires Python 3.7 or later.

Additionally, a copy of MakeMKV is required, which can be downloaded from their website. You also need to ensure that makemkvcon can be run from the terminal, e. g. by adding its location to your PATH environment variable.

Installation

python-makemkv can be installed using pip.

pip install makemkv

Usage

See full documentation on Read the Docs.

Python module

To get information about discs, you need to instantiate a makemkv.MakeMKV object which provides its makemkv.MakeMKV.info() method.

from makemkv import MakeMKV

makemkv = MakeMKV('/dev/sr0')
disc_info = makemkv.info()
print(disc_info)

To create a mkv file from the first title of the first disc you can use makemkv.MakeMKV.mkv(). Since this will take some time you can define a function that analyzes the program’s progress or you can use the makemkv.ProgressParser class to show pretty progress bars.

from makemkv import MakeMKV, ProgressParser

with ProgressParser() as progress:
    makemkv = MakeMKV(0)
    makemkv.mkv(0, '~/Videos/Really Cool Movie (2021)',
                progress_cb=progress.parse_progress)

Command-line interface

Usage: pymakemkv [OPTIONS] COMMAND [ARGS]...

Options:
  -n, --disc-nr NR      Specify disc number. Alternatively you can specify an
                        input with -i/--input. Defaults to 0.

  -i, --input PATH      Specify input, can be either a device, a .IFO file or
                        a VIDEO_TS folder.

  -o, --output DIR      Specify output directory for created mkv files.
                        Defaults to current directory.

  -t, --title NR        Select title to be ripped, can be either an integer
                        starting with 0 or the keyword "all". Defaults to 0.

  -d, --decrypt         Decrypt stream files during backup.
  -l, --minlength SECS  Specify minimum title length in seconds.
  -c, --cache MB        Specify size of read cache in megabytes.
  -f, --info-file FILE  Write disc info to file.
  -j, --json            show disc info in JSON format.
  -v, --verbose         Show more detailed logs.
  -q, --quiet           Don't show logs.
  --no-bar              Don't show progress bars.
  --no-info             Dont' show disc info.
  --help                Show this message and exit.

Commands:
  backup  Backup whole disc.
  f       Run universal firmware tool.
  info    Display information about a disc.
  mkv     Copy titles from disc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

makemkv-0.1.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

makemkv-0.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file makemkv-0.1.tar.gz.

File metadata

  • Download URL: makemkv-0.1.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.1

File hashes

Hashes for makemkv-0.1.tar.gz
Algorithm Hash digest
SHA256 6f002f74b2b6b972d991eb208e628920c703c63745ecc64fb98217e478df90cc
MD5 d71aef5b356955b8b4ce45ea7fc5badd
BLAKE2b-256 0eca8b10ef884b1e648f479aef2195c0b7cfd390187fc29a3a0b6d2a6bed340e

See more details on using hashes here.

File details

Details for the file makemkv-0.1-py3-none-any.whl.

File metadata

  • Download URL: makemkv-0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.1

File hashes

Hashes for makemkv-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ff0685171faa85c59ef3ae8c5a3b5116f784ac01a2caa9fb67063c2a2d42271
MD5 8d1dc6c8771e0492c649fa51320f1f82
BLAKE2b-256 051a5c98ea49ce811263bd26f76df9eb6fa8776391eee8414178cfc7d7b9d8e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page