automatic-ripping-machine icon indicating copy to clipboard operation
automatic-ripping-machine copied to clipboard

Automatic Ripping Machine (ARM) Scripts

Automatic Ripping Machine (ARM)

CIGitHub license GitHub forks GitHub stars GitHub issues GitHub pull requests Wiki GitHub contributors GitHub last commit

GitHub release (latest by date) GitHub release Date

Docker

PyPI - Python Version

Overview

Insert an optical disc (Blu-Ray, DVD, CD) and checks to see if it's audio, video (Movie or TV), or data, then rips it.

See: https://b3n.org/automatic-ripping-machine

Features

  • Detects insertion of disc using udev
  • Auto downloads keys_hashed.txt and KEYDB.cfg using robobrowser and tinydownloader
  • Determines disc type...
    • If video (Blu-Ray or DVD)
      • Retrieve title from disc or OMDb API to name the folder "Movie Title (Year)" so that Plex or Emby can pick it up
      • Determine if video is Movie or TV using OMDb API
      • Rip using MakeMKV or HandBrake (can rip all features or main feature)
      • Eject disc and queue up Handbrake transcoding when done
      • Transcoding jobs are asynchronusly batched from ripping
      • Send notifications via IFTTT, Pushbullet, Slack, Discord, and many more!
    • If audio (CD) - rip using abcde (get discdata and album art from musicbrainz)
    • If data (Blu-Ray, DVD, or CD) - make an ISO backup
  • Headless, designed to be run from a server
  • Can rip from multiple-optical drives in parallel
  • Python Flask UI to interact with ripping jobs, view logs, update jobs, etc

Usage

  • Insert disc
  • Wait for disc to eject
  • Repeat

Requirements

  • Ubuntu Server 20.04 (should work with other Linux distros) - Needs Multiverse and Universe repositories
  • One or more optical drives to rip Blu-rays, DVDs, and CDs
  • Lots of drive space (I suggest using a NAS like FreeNAS) to store your movies

Install

For normal install please see the wiki.

For docker install please see here.

Troubleshooting

Please see the wiki.

Contributing

Pull requests are welcome. Please see the Contributing Guide

If you set ARM up in a different environment (harware/OS/virtual/etc), please consider submitting a howto to the wiki.

License

MIT License