jlesage / docker-makemkv Goto Github PK
View Code? Open in Web Editor NEWDocker container for MakeMKV
Docker container for MakeMKV
Hello, I noticed the DockerHub image didn't work for me when I ran it as advised in the README.. after fiddling around I see you need to add the --privileged
flag to get this to work. My final command looked like this:
docker run -d \
--name=makemkv \
-p 5800:5800 \
-v /etc/makemkv/config:/config:rw \
-v /opt/makemkv/storage:/storage:ro \
-v /opt/makemkv/output:/output:rw \
--device /dev/sr0 \
--device /dev/sg2 \
--restart=always \
--privileged \
jlesage/makemkv
Great DockerHub image btw.
every time i reboot the server the drive letter for sgX changes, so no drives found, so i need to manually look at the log everytime and edit the container to change the drive assignment
is it possible to have the container automaticly probe for the correct drive assignments and pass them to the container on startup?
as reported in the forums, users are having issues with the latest version of MakeMKV including hash errors. confirmed by the developer
rolling back to 1.12.2 has resolved the issues
can you whip up the 1.12.2 release with the newest alpine base?
Is their an API exposed that would provide the current status of MakeMKV? I'd like to receive a notification when the rip has completed.
I needed a solution to let me know if a disk rip terminated successfully or with an error, other than going in and looking at the destination folder or the docker container logs. I implemented LogSpout with PaperTrail in Ubuntu 18.04. This service is free (at the free tier level).
How to setup:
Create PaperTrail account: https://www.papertrail.com/
Once your account is created, you will get a destination address for your logs, which looks like this:
syslog+tls://YOURSUBDOMAIN.papertrailapp.com:YOURPORT
[sudo] docker pull gliderlabs/logspout:latest
[sudo] docker run -d --name="logspout"
-e 'BACKLOG=false'
--restart unless-stopped
--volume=/var/run/docker.sock:/var/run/docker.sock
gliderlabs/logspout
syslog+tls://YOURSUBDOMAIN.papertrailapp.com:YOURPORT
"Disc rip terminated successfully"
"Disc rip terminated with failure"
When a disc rip terminates, within 1 minute I get an email from papertrail with one of the log entries above. For successful rips, I move on. For failures, I set those aside and log into the logs to see the verbose log problem later (or just look at the logs in papertrail, of course).
Enjoy!
A fully automated mode is also available: insert a DVD or Blu-ray disc into an optical drive and let MakeMKV rips it without any user interaction.
Could this point be clarified in the README? I didn't see any information on automating MakeMKV with Bluray HD or UHD discs.
Thanks!
Hi, I have a synology ds1815+ and I’m trying to figure out to change the parameters. I’m able to see MAKEMKV GUI on the webpage but need help getting it to find my optical disc drive.
Hi,
I'm trying to rip some DVDs onto our NAS, running on Ubuntu 18.04.4, docker community edition 19.03.8.
The optical disc is on /dev/sr0 and /dev/sg0 as confirmed by running the container without passing any devices with the --device flag. I've since passed both in:
docker run -d \
--name=makemkv \
-p 5801:5800 \
-v /docker/appdata/makemkv:/config:rw \
-v $HOME:/storage:ro \
-v $HOME/MakeMKV/output:/output:rw \
--device /dev/sr0 \
--device /dev/sg0 \
jlesage/makemkv
On a whim, I tried all the other sgX values, none worked. The only srX is sr0. Privileged mode doesn't help either.
After around 20 seconds after booting, the pane at the bottom states:
The program can't find any usable optical drives.
The container can extract MKVs from an ISO from the hard drive. By using your handbrake container, I can rip the DVD from /dev/sr0 but once I move onto the blurays I've got to do, handbrake won't work. I've tried v1.13.1 and latest of your makemkv container.
The logs are:
[cont-init.d] 90-makemkv.sh: exited 0.
[cont-init.d] 95-check-optical-drive.sh: executing...
[cont-init.d] 95-check-optical-drive.sh: looking for usable optical drives...
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr0, /dev/sg0], group 24.
[cont-init.d] 95-check-optical-drive.sh: exited 0.
[cont-init.d] 96-install-autodiscripper-srv.sh: executing...
[cont-init.d] 96-install-autodiscripper-srv.sh: automatic disc ripper disabled.
[cont-init.d] 96-install-autodiscripper-srv.sh: exited 0.
[cont-init.d] done.
Permissions for the device seem fine:
$ ls -la /dev/sg*
crw-rw-rw-+ 1 root cdrom 21, 0 Apr 12 19:27 /dev/sg0
crw-rw---- 1 root disk 21, 1 Apr 12 19:27 /dev/sg1
crw-rw---- 1 root disk 21, 2 Apr 12 19:27 /dev/sg2
crw-rw---- 1 root disk 21, 3 Apr 12 19:27 /dev/sg3
crw-rw---- 1 root disk 21, 4 Apr 12 19:27 /dev/sg4
$ ls -la /dev/sr*
brw-rw-rw-+ 1 root cdrom 11, 0 Apr 13 00:53 /dev/sr0
Have you got any advice I could try?
Many thanks,
James
Hello,
It doesn't appear that the LibreDrive (for UHD disks) binaries are being auto downloaded by the container. According to the makemkv support forums, if using a LibreDrive capable drive, the additional support files should be downloaded. I have tried removing the container completely (deleted the top image and supporting images) and haven't had any luck getting it to otherwise start up. Do you have any suggestions/updates that can help fix this?
Potentially helpful post:
https://www.makemkv.com/forum/viewtopic.php?t=18965
Thanks,
Jakkumn
Hi,
looks like the beta is expired and setting the environment variable with "-e MAKEMKV_KEY=BETA" doesn't make the trick anymore...
here is the log:
docker run \ > -e MAKEMKV_KEY=BETA \ > -p 5800:5800 \ > -v /docker/appdata/makemkv:/config:rw \ > -v /home/ericc:/storage:ro \ > -v /capitole/Public/DVD:/DVD:rw \ > --device /dev/sr0 \ > --device /dev/sg0 \ > --device /dev/sg1 \ > jlesage/makemkv [s6-init] making user provided files available at /var/run/s6/etc...exited 0. [s6-init] ensuring user provided files have correct perms...exited 0. [fix-attrs.d] applying ownership & permissions fixes... [fix-attrs.d] done. [cont-init.d] executing container initialization scripts... [cont-init.d] 00-app-niceness.sh: executing... [cont-init.d] 00-app-niceness.sh: exited 0. [cont-init.d] 00-app-script.sh: executing... [cont-init.d] 00-app-script.sh: exited 0. [cont-init.d] 00-app-user-map.sh: executing... [cont-init.d] 00-app-user-map.sh: exited 0. [cont-init.d] 00-clean-logmonitor-states.sh: executing... [cont-init.d] 00-clean-logmonitor-states.sh: exited 0. [cont-init.d] 00-clean-tmp-dir.sh: executing... [cont-init.d] 00-clean-tmp-dir.sh: exited 0. [cont-init.d] 00-set-app-deps.sh: executing... [cont-init.d] 00-set-app-deps.sh: exited 0. [cont-init.d] 00-set-home.sh: executing... [cont-init.d] 00-set-home.sh: exited 0. [cont-init.d] 00-take-config-ownership.sh: executing... [cont-init.d] 00-take-config-ownership.sh: exited 0. [cont-init.d] 00-xdg-runtime-dir.sh: executing... [cont-init.d] 00-xdg-runtime-dir.sh: exited 0. [cont-init.d] 10-certs.sh: executing... [cont-init.d] 10-certs.sh: exited 0. [cont-init.d] 10-cjk-font.sh: executing... [cont-init.d] 10-cjk-font.sh: exited 0. [cont-init.d] 10-nginx.sh: executing... [cont-init.d] 10-nginx.sh: exited 0. [cont-init.d] 10-vnc-password.sh: executing... [cont-init.d] 10-vnc-password.sh: exited 0. [cont-init.d] 10-web-index.sh: executing... [cont-init.d] 10-web-index.sh: exited 0. [cont-init.d] 90-makemkv.sh: executing... [cont-init.d] 90-makemkv.sh: generating machine-id... app_ccextractor = "/usr/bin/ccextractor" Checking for new beta key... Updating registration key... [cont-init.d] 90-makemkv.sh: exited 0. [cont-init.d] 95-check-optical-drive.sh: executing... [cont-init.d] 95-check-optical-drive.sh: looking for usable optical drives... [cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr0, /dev/sg1], group 20. [cont-init.d] 95-check-optical-drive.sh: exited 0. [cont-init.d] 96-install-autodiscripper-srv.sh: executing... [cont-init.d] 96-install-autodiscripper-srv.sh: automatic disc ripper disabled. [cont-init.d] 96-install-autodiscripper-srv.sh: exited 0. [cont-init.d] done. [services.d] starting services [services.d] starting s6-fdholderd... [services.d] starting certsmonitor... [services.d] starting nginx... [services.d] starting xvfb... [certsmonitor] disabling service: secure connection not enabled. [nginx] starting... [xvfb] starting... [services.d] starting logmonitor... [services.d] starting statusmonitor... [logmonitor] no file to monitor: disabling service... [services.d] starting x11vnc... [statusmonitor] no file to monitor: disabling service... [x11vnc] starting... [services.d] starting openbox... 30/11/2019 15:23:30 passing arg to libvncserver: -rfbport 30/11/2019 15:23:30 passing arg to libvncserver: 5900 30/11/2019 15:23:30 passing arg to libvncserver: -rfbportv6 30/11/2019 15:23:30 passing arg to libvncserver: -1 30/11/2019 15:23:30 passing arg to libvncserver: -httpportv6 30/11/2019 15:23:30 passing arg to libvncserver: -1 30/11/2019 15:23:30 passing arg to libvncserver: -desktop 30/11/2019 15:23:30 passing arg to libvncserver: MakeMKV 30/11/2019 15:23:30 x11vnc version: 0.9.14 lastmod: 2015-11-14 pid: 880 [openbox] starting... 30/11/2019 15:23:30 Using X display :0 30/11/2019 15:23:30 rootwin: 0x43 reswin: 0x200001 dpy: 0x9b9249e0 30/11/2019 15:23:30 30/11/2019 15:23:30 ------------------ USEFUL INFORMATION ------------------ 30/11/2019 15:23:30 X DAMAGE available on display, using it for polling hints. 30/11/2019 15:23:30 To disable this behavior use: '-noxdamage' 30/11/2019 15:23:30 30/11/2019 15:23:30 Most compositing window managers like 'compiz' or 'beryl' 30/11/2019 15:23:30 cause X DAMAGE to fail, and so you may not see any screen 30/11/2019 15:23:30 updates via VNC. Either disable 'compiz' (recommended) or 30/11/2019 15:23:30 supply the x11vnc '-noxdamage' command line option. 30/11/2019 15:23:30 X COMPOSITE available on display, using it for window polling. 30/11/2019 15:23:30 To disable this behavior use: '-noxcomposite' 30/11/2019 15:23:30 30/11/2019 15:23:30 Wireframing: -wireframe mode is in effect for window moves. 30/11/2019 15:23:30 If this yields undesired behavior (poor response, painting 30/11/2019 15:23:30 errors, etc) it may be disabled: 30/11/2019 15:23:30 - use '-nowf' to disable wireframing completely. 30/11/2019 15:23:30 - use '-nowcr' to disable the Copy Rectangle after the 30/11/2019 15:23:30 moved window is released in the new position. 30/11/2019 15:23:30 Also see the -help entry for tuning parameters. 30/11/2019 15:23:30 You can press 3 Alt_L's (Left "Alt" key) in a row to 30/11/2019 15:23:30 repaint the screen, also see the -fixscreen option for 30/11/2019 15:23:30 periodic repaints. 30/11/2019 15:23:30 GrabServer control via XTEST. 30/11/2019 15:23:30 30/11/2019 15:23:30 Scroll Detection: -scrollcopyrect mode is in effect to 30/11/2019 15:23:30 use RECORD extension to try to detect scrolling windows 30/11/2019 15:23:30 (induced by either user keystroke or mouse input). 30/11/2019 15:23:30 If this yields undesired behavior (poor response, painting 30/11/2019 15:23:30 errors, etc) it may be disabled via: '-noscr' 30/11/2019 15:23:30 Also see the -help entry for tuning parameters. 30/11/2019 15:23:30 You can press 3 Alt_L's (Left "Alt" key) in a row to 30/11/2019 15:23:30 repaint the screen, also see the -fixscreen option for 30/11/2019 15:23:30 periodic repaints. 30/11/2019 15:23:30 30/11/2019 15:23:30 XKEYBOARD: number of keysyms per keycode 7 is greater 30/11/2019 15:23:30 than 4 and 51 keysyms are mapped above 4. 30/11/2019 15:23:30 Automatically switching to -xkb mode. 30/11/2019 15:23:30 If this makes the key mapping worse you can 30/11/2019 15:23:30 disable it with the "-noxkb" option. 30/11/2019 15:23:30 Also, remember "-remap DEAD" for accenting characters. 30/11/2019 15:23:30 30/11/2019 15:23:30 X FBPM extension not supported. Xlib: extension "DPMS" missing on display ":0". 30/11/2019 15:23:30 X display is not capable of DPMS. 30/11/2019 15:23:30 -------------------------------------------------------- 30/11/2019 15:23:30 30/11/2019 15:23:30 Default visual ID: 0x21 30/11/2019 15:23:30 Read initial data from X display into framebuffer. 30/11/2019 15:23:30 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/5120 30/11/2019 15:23:30 30/11/2019 15:23:30 X display :0 is 32bpp depth=24 true color 30/11/2019 15:23:30 30/11/2019 15:23:30 Listening for VNC connections on TCP port 5900 30/11/2019 15:23:30 30/11/2019 15:23:30 Xinerama is present and active (e.g. multi-head). 30/11/2019 15:23:30 Xinerama: number of sub-screens: 1 30/11/2019 15:23:30 Xinerama: no blackouts needed (only one sub-screen) 30/11/2019 15:23:30 30/11/2019 15:23:30 fb read rate: 1762 MB/sec 30/11/2019 15:23:30 fast read: reset -wait ms to: 10 30/11/2019 15:23:30 fast read: reset -defer ms to: 10 30/11/2019 15:23:30 The X server says there are 10 mouse buttons. 30/11/2019 15:23:30 screen setup finished. 30/11/2019 15:23:30 The VNC desktop is: daf2257a5e37:0 PORT=5900 ****************************************************************************** Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet? The scheme stores pixel data offscreen on the VNC viewer side for faster retrieval. It should work with any VNC viewer. Try it by running: x11vnc -ncache 10 ... One can also add -ncache_cr for smooth 'copyrect' window motion. More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching [services.d] starting app... [app] starting MakeMKV... [services.d] done.
I would like to remove the computer I use in the process of transcoding my Blu-ray discs. So, with this software, I can install the Docker application on my Synology, install the docker-makemkv container, connect my Blu-ray optical drive to my Synology via USB, setup the container parameters and, without the use of a computer, rip the movie I purchased directly to my NAS. Is that correct?
I tried to use docker-makemkv, but I want to use this for making MKV from ISO image file.
After read your dockerhub page, I run docker with these option. Already mounted /mnt/isoimg.
$ sudo docker run -d
--name=makemkv
-p 5800:5800
-v ${HOME}/dockerappdatamakemkv:/config:rw
-v $HOME:/storage:ro
-v $HOME/MakeMKV/output:/output:rw
--device /mnt/isoimg
jlesage/makemkv
got below.
docker: Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/mnt/isoimg": not a device node.
So, how to change commands? I know this is not caused by you, Docker specification. Any advice?
Thank you.
Thank you for making these scripts. Updating broke for me a while back when a gist using lynx stopped working. I've simplified the update script to just one script now thanks to this person's https://github.com/AyrA/MakeMKV site https://cable.ayra.ch/makemkv/. It's very basic right now but could potentially be better.
This is what I use currently
#!/bin/sh
usage() {
echo "usage: $(basename $0) KEY CONFIG_FILE
This script updates the MakeMKV configuration with the provided key.
"
}
KEY=$(wget -qO- https://cable.ayra.ch/makemkv/api.php?raw)
CONFIG_FILE=/path/to/.MakeMKV/settings.conf
# Get the current key.
CUR_KEY="$(sed -n 's|^[ \t]*app_Key[ \t]*=[ \t]*"\(.*\)"[ \t]*$|\1|gp' "$CONFIG_FILE")"
# If not the same, update it.
if [ "$CUR_KEY" != "$KEY" ]; then
echo "Updating registration key..."
if grep -q '^app_Key ' "$CONFIG_FILE"; then
sed -i "/^[ \t]*app_Key[ \t]*=/c\app_Key = \"$KEY\"" "$CONFIG_FILE"
else
echo "app_Key = \"$KEY\"" >> "$CONFIG_FILE"
fi
else
echo "Registration key already up-to-date."
fi
# vim: set ft=sh :
It could work better as a cronjob if it used api.php?json instead and saved a local file with the keydate
and just checked to see if the two match, then it would know that the key is the same and doesn't need to be updated. And when they don't match then it could update.
makemkv reports no usable optical drives, although the container starts sucsessfully, if i unplug the drive the container will not start
Hi,
a docker-compose.yml file would be an improvement.
Is it a problem to add one?
Greetings Jan
I feel like I've tried everything.. but of course not the one thing that'll fix my issue.
I keep getting 403 access forbidden when accessing webgui.
2019/03/09 09:10:30 [error] 820#820: *3 open() "/opt/novnc/index.html" failed (13: Permission denied), client: 192.168.1.249, server: , request: "GET / HTTP/1.1", host: "192.168.1.123:9003" 2019/03/09 09:34:09 [error] 820#820: *1 open() "/opt/novnc/index.html" failed (13: Permission denied), client: 192.168.1.249, server: , request: "GET / HTTP/1.1", host: "192.168.1.123:8999" 2019/03/09 09:34:09 [error] 820#820: *1 open() "/opt/novnc/images/icons/favicon.ico" failed (13: Permission denied), client: 192.168.1.249, server: , request: "GET /favicon.ico HTTP/1.1", host: "192.168.1.123:8999", referrer: "http://192.168.1.123:8999/"
no matter which user_ID or group_id I set it's the same.
inspecting the container and looking at permissions gives me:
drwxrwx--x 1 1001 users 4096 Mar 9 10:02 . drwxrwx--x 1 1001 users 4096 Dec 3 14:08 .. drwxrwx--x 3 1001 users 4096 Sep 18 13:44 app drwxrwx--x 1 1001 users 4096 Sep 18 13:44 css drwxrwx--x 2 1001 users 4096 Sep 18 13:52 fonts drwxrwx--x 1 1001 users 4096 Dec 3 14:46 images drwxrwx--x 2 1001 users 4096 Sep 18 13:52 include -rwxrwx--x 1 root root 9960 Mar 9 10:02 index.html -rwxrwx--x 1 1001 users 9963 Dec 3 14:46 index.vnc drwxrwx--x 1 1001 users 4096 Sep 18 13:52 js
Can someone give me a hint. I am not sure it has anything to do with the container but it is the only container I have this issue with.
Sorry but a linux noob - I am running this in DockSTARter and not clear how to have MakeMKV see the optical disk. Do I add devices: to docker-compose.yml?
I've got issues setting up the makemkv docker container without using putty.
Where do I set the directories for read in the iso files and to set the output?
Thank you in advance
Hi
when i start my container the ui doesn't load and there is a red dot with a cross in next to the logo in the top and when i hover the mouse over it a text appears that states: "Server disconnected (code: 1006)"
when i check the logs i get this:
4/11/2019 17:12:21 deleted 40 tile_row polling images.
[services.d] stopping openbox...
[services.d] stopping statusmonitor...
[services.d] stopping logmonitor...
[services.d] stopping xvfb...
[services.d] stopping nginx...
[services.d] stopping certsmonitor...
[services.d] stopping s6-fdholderd...
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-app-niceness.sh: executing...
[cont-init.d] 00-app-niceness.sh: exited 0.
[cont-init.d] 00-app-script.sh: executing...
[cont-init.d] 00-app-script.sh: exited 0.
[cont-init.d] 00-app-user-map.sh: executing...
[cont-init.d] 00-app-user-map.sh: exited 0.
[cont-init.d] 00-clean-logmonitor-states.sh: executing...
[cont-init.d] 00-clean-logmonitor-states.sh: exited 0.
[cont-init.d] 00-clean-tmp-dir.sh: executing...
[cont-init.d] 00-clean-tmp-dir.sh: exited 0.
[cont-init.d] 00-set-app-deps.sh: executing...
[cont-init.d] 00-set-app-deps.sh: exited 0.
[cont-init.d] 00-set-home.sh: executing...
[cont-init.d] 00-set-home.sh: exited 0.
[cont-init.d] 00-take-config-ownership.sh: executing...
[cont-init.d] 00-take-config-ownership.sh: exited 0.
[cont-init.d] 00-xdg-runtime-dir.sh: executing...
[cont-init.d] 00-xdg-runtime-dir.sh: exited 0.
[cont-init.d] 10-certs.sh: executing...
[cont-init.d] 10-certs.sh: exited 0.
[cont-init.d] 10-cjk-font.sh: executing...
[cont-init.d] 10-cjk-font.sh: exited 0.
[cont-init.d] 10-nginx.sh: executing...
[cont-init.d] 10-nginx.sh: exited 0.
[cont-init.d] 10-vnc-password.sh: executing...
[cont-init.d] 10-vnc-password.sh: exited 0.
[cont-init.d] 10-web-index.sh: executing...
[cont-init.d] 10-web-index.sh: exited 0.
[cont-init.d] 90-makemkv.sh: executing...
app_ccextractor = "/usr/bin/ccextractor"
Checking for new beta key...
Registration key already up-to-date.
[cont-init.d] 90-makemkv.sh: exited 0.
[cont-init.d] 95-check-optical-drive.sh: executing...
[cont-init.d] 95-check-optical-drive.sh: looking for usable optical drives...
[cont-init.d] 95-check-optical-drive.sh: found optical drive [/dev/sr0, /dev/sg8], group 11.
[cont-init.d] 95-check-optical-drive.sh: exited 0.
[cont-init.d] 96-install-autodiscripper-srv.sh: executing...
[cont-init.d] 96-install-autodiscripper-srv.sh: automatic disc ripper disabled.
[cont-init.d] 96-install-autodiscripper-srv.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] starting s6-fdholderd...
[services.d] starting nginx...
[services.d] starting certsmonitor...
[nginx] starting...
[services.d] starting xvfb...
[certsmonitor] disabling service: secure connection not enabled.
[xvfb] starting...
[services.d] starting logmonitor...
[services.d] starting statusmonitor...
[logmonitor] no file to monitor: disabling service...
[services.d] starting x11vnc...
[statusmonitor] no file to monitor: disabling service...
[services.d] starting openbox...
[x11vnc] starting...
[openbox] starting...
24/11/2019 17:12:52 passing arg to libvncserver: -rfbport
24/11/2019 17:12:52 passing arg to libvncserver: 5900
24/11/2019 17:12:52 passing arg to libvncserver: -rfbportv6
24/11/2019 17:12:52 passing arg to libvncserver: -1
24/11/2019 17:12:52 passing arg to libvncserver: -httpportv6
24/11/2019 17:12:52 passing arg to libvncserver: -1
24/11/2019 17:12:52 passing arg to libvncserver: -desktop
24/11/2019 17:12:52 passing arg to libvncserver: MakeMKV
24/11/2019 17:12:52 x11vnc version: 0.9.14 lastmod: 2015-11-14 pid: 882
24/11/2019 17:12:52 Using X display :0
24/11/2019 17:12:52 rootwin: 0x43 reswin: 0x200001 dpy: 0xc172f9e0
24/11/2019 17:12:52
24/11/2019 17:12:52 ------------------ USEFUL INFORMATION ------------------
24/11/2019 17:12:52 X DAMAGE available on display, using it for polling hints.
24/11/2019 17:12:52 To disable this behavior use: '-noxdamage'
24/11/2019 17:12:52
24/11/2019 17:12:52 Most compositing window managers like 'compiz' or 'beryl'
24/11/2019 17:12:52 cause X DAMAGE to fail, and so you may not see any screen
24/11/2019 17:12:52 updates via VNC. Either disable 'compiz' (recommended) or
24/11/2019 17:12:52 supply the x11vnc '-noxdamage' command line option.
24/11/2019 17:12:52 X COMPOSITE available on display, using it for window polling.
24/11/2019 17:12:52 To disable this behavior use: '-noxcomposite'
24/11/2019 17:12:52
24/11/2019 17:12:52 Wireframing: -wireframe mode is in effect for window moves.
24/11/2019 17:12:52 If this yields undesired behavior (poor response, painting
24/11/2019 17:12:52 errors, etc) it may be disabled:
24/11/2019 17:12:52 - use '-nowf' to disable wireframing completely.
24/11/2019 17:12:52 - use '-nowcr' to disable the Copy Rectangle after the
24/11/2019 17:12:52 moved window is released in the new position.
24/11/2019 17:12:52 Also see the -help entry for tuning parameters.
24/11/2019 17:12:52 You can press 3 Alt_L's (Left "Alt" key) in a row to
24/11/2019 17:12:52 repaint the screen, also see the -fixscreen option for
24/11/2019 17:12:52 periodic repaints.
24/11/2019 17:12:52 GrabServer control via XTEST.
24/11/2019 17:12:52
24/11/2019 17:12:52 Scroll Detection: -scrollcopyrect mode is in effect to
24/11/2019 17:12:52 use RECORD extension to try to detect scrolling windows
24/11/2019 17:12:52 (induced by either user keystroke or mouse input).
24/11/2019 17:12:52 If this yields undesired behavior (poor response, painting
24/11/2019 17:12:52 errors, etc) it may be disabled via: '-noscr'
24/11/2019 17:12:52 Also see the -help entry for tuning parameters.
24/11/2019 17:12:52 You can press 3 Alt_L's (Left "Alt" key) in a row to
24/11/2019 17:12:52 repaint the screen, also see the -fixscreen option for
24/11/2019 17:12:52 periodic repaints.
24/11/2019 17:12:52
24/11/2019 17:12:52 XKEYBOARD: number of keysyms per keycode 7 is greater
24/11/2019 17:12:52 than 4 and 51 keysyms are mapped above 4.
24/11/2019 17:12:52 Automatically switching to -xkb mode.
24/11/2019 17:12:52 If this makes the key mapping worse you can
24/11/2019 17:12:52 disable it with the "-noxkb" option.
24/11/2019 17:12:52 Also, remember "-remap DEAD" for accenting characters.
24/11/2019 17:12:52
24/11/2019 17:12:52 X FBPM extension not supported.
Xlib: extension "DPMS" missing on display ":0".
24/11/2019 17:12:52 X display is not capable of DPMS.
24/11/2019 17:12:52 --------------------------------------------------------
24/11/2019 17:12:52
24/11/2019 17:12:52 Default visual ID: 0x21
24/11/2019 17:12:52 Read initial data from X display into framebuffer.
24/11/2019 17:12:52 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/5120
24/11/2019 17:12:52
24/11/2019 17:12:52 X display :0 is 32bpp depth=24 true color
24/11/2019 17:12:52
24/11/2019 17:12:52 Listening for VNC connections on TCP port 5900
24/11/2019 17:12:52
24/11/2019 17:12:52 Xinerama is present and active (e.g. multi-head).
24/11/2019 17:12:52 Xinerama: number of sub-screens: 1
24/11/2019 17:12:52 Xinerama: no blackouts needed (only one sub-screen)
24/11/2019 17:12:52
24/11/2019 17:12:52 fb read rate: 1885 MB/sec
24/11/2019 17:12:52 fast read: reset -wait ms to: 10
24/11/2019 17:12:52 fast read: reset -defer ms to: 10
24/11/2019 17:12:52 The X server says there are 10 mouse buttons.
24/11/2019 17:12:52 screen setup finished.
24/11/2019 17:12:52
The VNC desktop is: 471c9c2a9167:0
PORT=5900
******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?
The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval. It should work with any VNC viewer. Try it by running:
x11vnc -ncache 10 ...
One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching
[services.d] starting app...
[app] starting MakeMKV...
[services.d] done.
info string reallocated, size=741
24/11/2019 17:14:07 Got connection from client 127.0.0.1
24/11/2019 17:14:07 other clients:
24/11/2019 17:14:07 Got 'ws' WebSockets handshake
24/11/2019 17:14:07 Got protocol: binary
24/11/2019 17:14:07 - webSocketsHandshake: using binary/raw encoding
24/11/2019 17:14:07 - WebSockets client version hybi-13
24/11/2019 17:14:07 Disabled X server key autorepeat.
24/11/2019 17:14:07 to force back on run: 'xset r on' (3 times)
24/11/2019 17:14:07 incr accepted_client=1 for 127.0.0.1:52986 sock=10
24/11/2019 17:14:07 webSocketsDecodeHybi: got frame without mask
24/11/2019 17:14:07 rfbProcessClientProtocolVersion: read: I/O error
24/11/2019 17:14:07 client_count: 0
24/11/2019 17:14:07 Restored X server key autorepeat to: 1
24/11/2019 17:14:07 Client 127.0.0.1 gone
24/11/2019 17:14:07 Statistics events Transmit/ RawEquiv ( saved)
24/11/2019 17:14:07 TOTALS : 0 | 0/ 0 ( 0.0%)
24/11/2019 17:14:07 Statistics events Received/ RawEquiv ( saved)
24/11/2019 17:14:07 TOTALS : 0 | 0/ 0 ( 0.0%)
24/11/2019 17:14:49 Got connection from client 127.0.0.1
24/11/2019 17:14:49 other clients:
24/11/2019 17:14:49 Got 'ws' WebSockets handshake
24/11/2019 17:14:49 Got protocol: binary
24/11/2019 17:14:49 - webSocketsHandshake: using binary/raw encoding
24/11/2019 17:14:49 - WebSockets client version hybi-13
24/11/2019 17:14:49 Disabled X server key autorepeat.
24/11/2019 17:14:49 to force back on run: 'xset r on' (3 times)
24/11/2019 17:14:49 incr accepted_client=2 for 127.0.0.1:53006 sock=10
24/11/2019 17:14:49 webSocketsDecodeHybi: got frame without mask
24/11/2019 17:14:49 rfbProcessClientProtocolVersion: read: I/O error
24/11/2019 17:14:49 client_count: 0
24/11/2019 17:14:49 Restored X server key autorepeat to: 1
24/11/2019 17:14:49 Client 127.0.0.1 gone
24/11/2019 17:14:49 Statistics events Transmit/ RawEquiv ( saved)
24/11/2019 17:14:49 TOTALS : 0 | 0/ 0 ( 0.0%)
24/11/2019 17:14:49 Statistics events Received/ RawEquiv ( saved)
24/11/2019 17:14:49 TOTALS : 0 | 0/ 0 ( 0.0%)
24/11/2019 17:14:58 Got connection from client 127.0.0.1
24/11/2019 17:14:58 other clients:
24/11/2019 17:14:58 Got 'ws' WebSockets handshake
24/11/2019 17:14:58 Got protocol: binary
24/11/2019 17:14:58 - webSocketsHandshake: using binary/raw encoding
24/11/2019 17:14:58 - WebSockets client version hybi-13
24/11/2019 17:14:58 Disabled X server key autorepeat.
24/11/2019 17:14:58 to force back on run: 'xset r on' (3 times)
24/11/2019 17:14:58 incr accepted_client=3 for 127.0.0.1:53024 sock=10
24/11/2019 17:14:58 webSocketsDecodeHybi: got frame without mask
24/11/2019 17:14:58 rfbProcessClientProtocolVersion: read: I/O error
24/11/2019 17:14:58 client_count: 0
24/11/2019 17:14:58 Restored X server key autorepeat to: 1
24/11/2019 17:14:58 Client 127.0.0.1 gone
24/11/2019 17:14:58 Statistics events Transmit/ RawEquiv ( saved)
24/11/2019 17:14:58 TOTALS : 0 | 0/ 0 ( 0.0%)
24/11/2019 17:14:58 Statistics events Received/ RawEquiv ( saved)
24/11/2019 17:14:58 TOTALS : 0 | 0/ 0 ( 0.0%)
i have tried deleting the contents of my config folder, i have tried pulling older versions of the image but it keeps doing the same.
I have popups saying:
Your temporary key has expired and was removed. Please restart the application.
This application version is too old. Please download the latest version at http://www.makemkv.com/ or enter a registration key to continue using the current version.
I tried restarting / recreating the container like advised in your readme.
Is it because there is a new beta version? How can I update MakeMKV?
Thank you for a very good package! Almost everything is working flawlessly. However, I have a significant issue running in automated mode which I cannot manage to solve. This is evident when you try to rip a multi-disk TV series. The first disk works well. Then when I insert the second disk, this has the same name. (This is sometimes the case for a TV series, not always). The workflow initially reacts correctly towards this and adds a random suffix to an empty folder. However, then makeMKV still tries to put the individual .mkv files in the first folder, i.e., not the one with the suffix. It then finds the title00.mkv title01.mkv et.c. already there and stops. A solution to this would be highly appreciated!
Could I also have a request? Once the above issue is solved, could you add one flag for the container to always add a random suffix for the folder name, regardless if there already is a folder with that name there or not? The reason is that I run into problems downstream when using your handbrake container. Again for the first disk in a series I manage to have a perfect automated process where the mkv files are found in the make mkv output folder and it can output the files in a folder with the same name as the DVD. The issue is again the second DVD. If i let the first disc complete through handbrake and the original mkv files are deleted and then insert the second disc, then makeMKV works (as it creates a folder without suffix) but handbrake fails. The reason is that the folder and mp4 files are already available in the handbrake output folder.
If a random suffix is always added to the dvd name, then it will all work perfectly. I hope that this is possible. Thanks'
I bought a QNAP because it was supposed to be easier to get 3rd party apps running, but it seems like Synology won here. Still, I believe it should be possible to get this working, but I'm having a lot of issues trying to figure it out.
Can someone here explain how to get this working on a QNAP with "Docker Station"? I have a USB Blu-Ray drive, which I can see from FileStation.
Thanks in advance
Just upgraded to v1.12.1 (currently latest) tag and I'm getting this error message:
`
[services.d] starting app...
[app] starting MakeMKV...
[services.d] done.
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[services.d] stopping services
[services.d] stopping app...
[services.d] stopping openbox...
[services.d] stopping x11vnc...
caught signal: 15
21/09/2019 12:31:45 deleted 40 tile_row polling images.
[services.d] stopping logmonitor...
[services.d] stopping statusmonitor...
[services.d] stopping autodiscripper-1...
[services.d] stopping xvfb...
[services.d] stopping autodiscripper-0...
[services.d] stopping nginx...
[services.d] stopping certsmonitor...
[services.d] stopping autodiscripper-2...
[services.d] stopping s6-fdholderd...
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
`
I've confirmed that rolling back to v1.12.0 does not have this issue and loads normally.
Hi all,
Using the autodiscripper option on a Synology DS1819+ with a USB drive. Inserted the disc, it ripped successfully, but then failed to eject the drive when it completed. Ejecting via the button on the drive works fine as you'd imagine, but the eject error seems to kill the autodiscripper process, meaning it doesn't detect (and rip) when I put a new disk in.
Looking at the logs:
[autodiscripper] Disc rip terminated successfully.
[autodiscripper] Ejecting disc from drive 0 (/dev/sg7)...
[autodiscripper] ERROR: Failed to eject drive 0 (/dev/sg7).
I ran the container with:
sudo docker run -d --name=makemkv -p 5800:5800 -e USER_ID=1026 -e GROUP_ID=100 -e AUTO_DISC_RIPPER=1 -e AUTO_DISC_RIPPER_EJECT=1 -v /vol1/docker/makemkv/config:/config:rw -v /vol1/docker/makemkv/storage:/storage:ro -v /volume1/movies:/output:rw --device /dev/sg7 jlesage/makemkv
I'm experiencing dns flooding from the makemkv container requesting www.makemkv.com. Every 10 seconds four requests are sent, two of type A and two of type AAAA. I blacklisted the domain within my dns server, which caused the webgui to fail to connect; connection was instantly restored upon whitelisting www.makemkv.com.
Why is the container constantly requesting access to www.makemkv.com? And why does the local webgui fail upon blacklisting?
Is this expected behaviour?
First, thank you for your time and efforts on this project, I make use of it a lot.
I have purchased a license key that I've added to settings.conf, set the ENV var MAKEMKV_KEY to but it doesnt seemed to be getting picked up. I've also tried setting MAKEMKV_KEY to UNSET. I continue to get the following off the docker log when ripping a disc:
[makemkvcon] Evaluation period has expired
[makemkvcon] Evaluation period has expired. Please purchase an activation key if you've found this application useful. You may still use all free functionality without any restrictions.
I can see that the eval key expired at the end of July, but it shouldnt be checking this if I have a permanent key I would think. Any idea where makemkv is checking for a purchased key?
I'm using the auto disc ripper feature however noticed this disabled the GUI from showing me the status. The only other method I know of is to manually refresh the log in my OMV GUI or wait for the disc to magically eject.
Is there another way to view the status?
when trying to convert TrueHD tracks to DD 5.1 i get a fatal error. nothing in the logs.
this did not happen on the past builds
maybe we should revert to the 2.8 branch
Great docker image by the way, but I've just started getting this issue I think from your latest version which introduced MakeMKV v1.14.5
I'm using a Synology DS918+ NAS with two optical drives:
BD-RE HL-DT-ST BD-RE BU40N 1.00
and
BD-RE ASUS BW-16D1HT 3.01
same DVD, either drive, AUTO_DISC_RIPPER set to 0: - everything works fine, and the above message is followed by other messages and the rip completes successfully
same DVD, both drives, AUTO_DISC_RIPPER set to 1: - the above message is followed by one simply saying "Killed" and then "[autodiscripper] Disc rip terminated with failure." and then "[autodiscripper] Ejecting disc from drive 0 (/dev/sg3)..." or "[autodiscripper] Ejecting disc from drive 1 (/dev/sg4)..."
Log extracts attached. Thanks in advance.
So I'm running unraid 6.7.2 and I have makemkv almost set up, I can use optical drive no problem and I was able to set the output folder to the specific folder that I want it to use on one of my user shares, I just can't figure out how to get it to write to that folder. I've never used Linux before so everything has been a learning process and I know there has to be a way to fix the permissions I just have no idea how to do it. Like I said I'm able to set the output to the folder I want, but when I actually start the process I get "posix error - read-only file system" and I'm just not sure how to give it write access to that folder.
I have three drives and have AUTO_DISC_RIPPER=1 and AUTO_DISC_RIPPER_PARALLEL_RIP=1. The automatic functionality will only be setup if there is a disc in the drive when the container is ran. I believe that the system should setup automatic functionality for all available drives instead?
I'm using image v1.13.1 containing MakeMKV v1.14.1.
On some input files (probably containing subtitles, just a guess) conversion fails:
...
Operation successfully completed
Saving 8 titles into directory /video/out
Unable to execute external program 'ccextractor' as its path is not set in preferences
Failed to execute external program 'ccextractor' from location '/opt/makemkv/bin/mmccextr'
LIBMKV_TRACE: Exception: Error while reading input
Failed to save title 0 to file /video/out/title_t00.mkv
...
I found a thread in the MakeMKV forum titled MakeMKV v1.14.1 - Fixing ccextractor issues that describes the problem.
This workaround solves the problem:
ln -s /usr/bin/ccextractor /opt/makemkv/bin/mmccextr
My suggestion is to apply this workaround in the image.
I use an external USB BD drive, and there is a switch to power off.
If you generate the Container with optical drive (--device /dev...) all things work fine. You also can switch off the drive. Other conversions with files (iso, mkv) work well.
BUT if you switch off the optical drive and restart this container you'll get an error:
Start of container failed
500 server error: Internal server error ("linux runtime spec devices error gathering device information...
while adding /dev/sr0
So I have to install 2 Containers - one with and one without optical drive DEV - to work with ISO, mkv files when the external drive is powered down or not installed.
Please insert a solution to disable the ext. drive when not installed and to complete the container start.
Greetings from Germany
Frank
Hello! This is a great Container and love the work put into it! Can someone point me in the right direction on how other Synology users got a dvd drive to work?
The logs show the container can see the drive. How do I expose the dvd?
2019-01-24 02:48:19 | stdout | [cont-init.d] 95-check-optical-drive.sh: WARNING: for best performance, the host device - needs to be exposed to the container. |
---|---|---|
2019-01-24 02:48:19 | stdout | [cont-init.d] 95-check-optical-drive.sh: found optical drive [-, /dev/sg5], group 0. |
Originally posted by @agster27 in #40 (comment)
@jlesage I have been working on a fork of another 'ripper' and came across yours when I started having eject issues.
I started to audit what you have and wow! Good job.. Exactly what i needed.
When digging through the code I know you referenced the storage and watch volumes but I can see no point to them... is there a future plan?
Thanks!
I tried multiple times, autoripper is reading bluray, creates folder and then it ejects the disc, but no ripping progress.. manually it is working. Tell me what information you need.
Docker call:
docker run -d --rm --name=makemkv -p 5800:5800 -p 5900:5900 -v /docker/appdata/makemkv:/config:rw -e AUTO_DISC_RIPPER=1 -e AUTO_DISC_RIPPER_EJECT=1 -e AUTO_DISC_RIPPER_MIN_TITLE_LENGTH=120 -e KEEP_APP_RUNNING=1 -v $HOME:/storage:ro -v $HOME/MakeMKV/output:/output:rw --device /dev/sr0 jlesage/makemkv
Could a max_title_length be implemented to avoid this?
Heya, I'm having an odd issue that I have to insert the disc before starting the container, otherwise it'll just show up as Type: Data.
Hi,
I can see that the build is failing because of broken link OPENJDK_URL .
Thanks.
Hey, I'm curious if it is possible to disable vnc to lower resource usage?
I can't find any information within README section regarding this.
Cheers
java is not detected or used anymore.
There are some instances where a disc may use playlist obfuscation. If the disc has this "feature" there is more work that has to go into picking the right playlist based on the video segments being in the right order. More info at: https://www.makemkv.com/forum/viewtopic.php?t=14388
Would it be possible to add some code like what I have below to reduce the likelihood of filling up a drive? What I have below is just a small check to see if there are titles longer than an hour. If there are more than 5 titles that are over an hour, then the ripper kicks an exit command and requires manual intervention and does not eject the disc.
# Minimum title length in seconds
TITLE_LENGTH="3600"
# Maximum titles allowed by if statement below
TOTAL_ALLOWED_TITLES="5"
# Checking to see how many titles there are on the disk
echo "Reading the new disk. This might take a few minutes."
MATCHED_TITLES=$(makemkvcon --minlength="$TITLE_LENGTH" -r --decrypt --directio=true info disc:0 | grep TCOUNT | cut -d ":" -f2)
echo "Found $MATCHED_TITLES titles that are more than $TITLE_LENGTH seconds long."
# If statement saying that if there are more than x titles to throw an error
if [[ $MATCHED_TITLES -le $TOTAL_ALLOWED_TITLES ]]; then
# Regular ripping mechanic
else
# Error messaging if there were more titles than allowed
echo "ERROR! Config allows $TOTAL_ALLOWED_TITLES titles max but found $MATCHED_TITLES. Leave disk in tray until the movie can be manually ripped."
exit 1
fi
the new builds for MakeMKV and MKVToolnix did not push to dockerhub
I have automated the process of taking DVD's and converting them to ISOs. Is there a way to incorperate what you have done with your Handbrake container to this so that the same functionality could be here only going from ISO to MKV?
Running under Ubuntu 19.04 and the latest makemkv Docker image. Created the container with arguments:
docker run -d --name=makemkv -p 5800:5800 -v $HOME/docker/appdata/makemkv:/config:rw -v $HOME:/storage:ro -v "$HOME/Videos/DVD backup/Work/backup":/output:rw --device /dev/sr0 --device /dev/sr1 jlesage/makemkv
I am able to access the GUI via http://localhost:5800/, but in the output pane, I see a message stating the program can't find any usable optical drives. I changed permissions on /dev/sr0 and /dev/sr1 to 0666, but it made no difference.
Running a HP Z820 workstation with unraid and an LG sata blu-ray drive.
MakeMKV is running in a docker. Identified and set the 2 devices for the optical drive.
I am able to rip both DVDs and Blu-rays with no obvious issues but they take absurdly long to copy to a file. A DVD at around 6gb takes 2hours, and only shows a read rate of around 600kb/s.
A blu-ray of roughly 35gb take 12+hours at around the same speed. The log shows a series of errors on startup all containing references to "fontconfig" and the last line:
Fontconfig error: Cannot load default config file
I'm a bit new to unraid and dockers so i'm hoping im missing something obvious. Any help is appreciated.
Hello
Last update 1.10.1 you changed Java to
OPENJDK_VERSION=12-ea+18
and the image size growes up 55% to 370MB.
Did you forget the instruction to delete unneeded stuff?
rm -r /usr/lib/jvm/jdk-*/lib/modules
I recompiled with this line and the size goes down to 238MB. And MakeMKV worked.
Are these java modules really necessary?
I'm using a QNAP NAS TS-451+
I do not know if this is a real problem because I am a beginner under linux, but I share what happened to me
df -h
/dev/sdi1 458G **67G** 392G 15% /srv/dev-disk-by-label-DOCKER
ncdu 1.12 ~ Use the arrow keys to navigate, press ? for help
--- /srv/dev-disk-by-label-DOCKER -----------------------------------------------------------------------------
6,1 GiB 84 730 [##########] /Appdata
e 16,0 KiB [ ] /lost+found
Total disk usage: **6,1 GiB** Apparent size: 5,9 GiB Items: 84732
67G vs 6.1G is the problem
I try lsof | grep '(deleted)'
I found an interesting line :
/storage/[redacted]/[redacted].iso (deleted)
/storage is a mount in my docker makemkv.
The original iso file was deleted in the past but makemkv still looks for this file.
I restart my makemkv docker and :
/dev/sdi1 ext4 458G **6,1G** 452G 2% /srv/dev-disk-by-label-DOCKER
i have a external blu-ray connected to my unraid server, if the drive is not powered up the container fails to start, with the following error:
MakeMKV start failed: no such container
As I understand it, while it's possible to use MakeMKV to rip a DVD into a .mkv file there isn't a way to create a .iso copy of a DVD for backup purposes. This is useful for real backups which will maintain all features. It would make sense to include the vobcopy utility into this image as there can be only one running container which has access to a system's optical drive. I'm not suggesting to include a way to access this from the GUI, but at least I could use Unraid's "console" feature to jump into the container to run vobcopy -m
myself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.