jlesage / docker-makemkv

Docker container for MakeMKV
MIT License
423 stars 48 forks source link

Failed to execute external program 'ccextractor' #64

Closed git-developer closed 4 years ago

git-developer commented 4 years ago

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.

git-developer commented 4 years ago

Additional references:

jlesage commented 4 years ago

Looks like the path to ccextractor is wrong. Can you check in your settings.conf file that you have the following:

app_ccextractor = "/usr/bin/ccextractor"
git-developer commented 4 years ago

Content of /defaults/settings.conf:

#
# MakeMKV settings file, written by MakeMKV linux(x64-release)
#

app_DataDir = "/config/data"
app_DestinationDir = "/output"
app_DestinationType = "2"
app_Java = ""
app_dtshddec = ""
app_ccextractor = "/usr/bin/ccextractor"
app_Key = <key>
git-developer commented 4 years ago

The image is fine, I've made a mistake on configuration. I didnt't mount the configuration directory correctly, thus my configuration was not found at all. The default configuration shown above seems not to be used.

After correctly mounting the config directory, the problem does not occur.

Thanks for pointing me into the right direction.