This script uses MakeMKV to watch for DVDs or BDs that you own, grab the correct title from IMDb and rip it into your chosen movie directory and use HandBrake to compress the video. All automagically.
Important: Updating to v1.3 will result in a loss of queue. Only update once your queue is empty.
Python
- Created using 2.7.3 but should work with similar versions
MakeMKV
IMDbPy
- http://imdbpy.sourceforge.net/
- At the time of writing, IMDbPy does not parse IMDb correctly because IMDb changed their HTML structure
- sudo apt-get install python-imdbpy
tendo
- pip install tendo
Handbrake - For converting and compressing
- http://handbrake.fr/
- sudo add-apt-repository ppa:stebbins/handbrake-releases
- sudo apt-get update && sudo apt-get install handbrake-cli
Prowlpy - For ProwlApp.com Notificaions to your iOS Device
- https://github.com/jacobb/prowlpy
- git clone https://github.com/jacobb/prowlpy.git
- cd prowlpy
- python setup build
- python setup install
-
Install the above prerequisites manually or if you're using Ubuntu (and possibly other Debian based distros) a nice setup script has been included in the setup folder.
- Originally created by mechevar but modified by me for easy install of all the required components.
-
Clone this repo into a directory of your chosing
git clone https://github.com/JasonMillward/makeMKV-Autoripper.git
-
Check out a tagged stable release
- To find available tags:
git tag -l
- eg:
git checkout v1.3
- To find available tags:
-
Copy settings.blank.cfg to settings.cfg
-
Edit settings.cfg
- You should only need to edit save_path unless you really want to play with the settings
- Add a ProwlApp.com API key if desired.
-
Insert a DVD
-
Test script
python ~/makeMKV-Autoripper/src/rip.py
python ~/makeMKV-Autoripper/src/compress.py
-
Upon successful testing, set up a crontab and insert a new DVD
*/5 * * * * python ~/makeMKV-Autoripper/src/rip.py
0 * * * * python ~/makeMKV-Autoripper/src/compress.py
-
Procceed with whatever else you wanted to do today while casually changing discs
NB: If you have any issues with the script, head over to the issues page, create a new issue with some information and hopefully a copy/paste of the error received.