Node-MakeMKV is the successor to Remote-MakeMKV. The intent of this project is to provide a web front end for MakeMKV to allow for a headless ripping server. This application is written in CoffeeScript and Node.js. The server has been successfully tested on Linux (Ubuntu and CentOS). The client has been successfully tested in all major desktop and mobile browsers.
Installation ∞
Note: This project has been Dockerized, which allows for easier setup. Check out the project on GitHub, or get the container on DockerHub.
- Install Node.js and CoffeeScript
- Install libudev-dev (to monitor disc drives for changes)
- Install NodeMakemkv -
npm install node-makemkv/
- Edit the
[settings]
section ofsettings.json
per the below specifications:
Variable | Description |
---|---|
output_dir |
Root ripping directory. Folders for each rip will be created inside of this directory. |
listen_port |
Port to listen on, defaults to 1337 |
makemkvcon_path |
Full path to makemkvcon binary, most likely won’t need to be changed |
browse_jail |
Root browsing directory.. client hopefully shouldn’t be able to go above this |
outlier_modifier |
For auto track selection, higher is more restrictive (selected if trackSize >= discSizeUpperQuartile*outlier_modifier) |
- Default MakeMKV selection profile as defined in ~/.MakeMKV/settings.conf will be used for track selections. I am currently working on defining these programmatically.
Usage ∞
-
Clone the repo -
git clone https://github.com/lasley/node-makemkv.git
-
Install apt dependencies (will need to adapt for RHEL/CentOS) -
sudo apt-get install nodejs-legacy npm libudev-dev
-
Install coffeescript interpreter -
sudo npm install -g coffee-script
-
Install dependencies with npm -
npm install ./node-makemkv
-
Copy the example settings file to the correct location -
cp ./node-makemkv/settings.example.json ./node-makemkv/settings.json
-
Copy the example profile to the correct location -
cp ./node-makemkv/conversion_profile_example.xml ./node-makemkv/conversion_profile.xml
-
Update the
conversion_profile
andoutput_dir
paths insettings.json
-
Run the server –
coffee ./node-makemkv/server.coffee
– Note: you must run the server as a user that has permissions to read from optical media -
Navigate to
SERVER_HOSTNAME:LISTEN_PORT
to view the GUI -
Insert DVD or BluRay into server
-
Once the disc has been scanned, track information will be displayed in the disc panel. Use the checkboxes in the rip column to select which tracks you would like to rip, and the
Rip Tracks
button to initiate ripping. TheDisc Name
field can be used to define the folder that MakeMKV will rip into for this disc (relative to theOutput Directory
defined earlier)