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.jsonper 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.gitInstall apt dependencies (will need to adapt for RHEL/CentOS) -
sudo apt-get install nodejs-legacy npm libudev-devInstall coffeescript interpreter -
sudo npm install -g coffee-scriptInstall dependencies with npm -
npm install ./node-makemkvCopy the example settings file to the correct location -
cp ./node-makemkv/settings.example.json ./node-makemkv/settings.jsonCopy the example profile to the correct location -
cp ./node-makemkv/conversion_profile_example.xml ./node-makemkv/conversion_profile.xmlUpdate the
conversion_profileandoutput_dirpaths insettings.jsonRun the server –
coffee ./node-makemkv/server.coffee– Note: you must run the server as a user that has permissions to read from optical mediaNavigate to
SERVER_HOSTNAME:LISTEN_PORTto view the GUIInsert 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 Tracksbutton to initiate ripping. TheDisc Namefield can be used to define the folder that MakeMKV will rip into for this disc (relative to theOutput Directorydefined earlier)

