[Support] Djoss - HandBrake


1134 posts in this topic Last Reply

Recommended Posts

12 minutes ago, gacpac said:

Even if the files are noticeable smaller as well? I just did the an episode of live action TV show. Using MKV preset 1080p 30fps h265 just that.

original file 2.49gb

QSV 1.14gb

Software 373MB

I’ve not jumped into H.265. I’m still working with H.264. I’ve done a little testing with H.265 but just haven’t seen the need to change.

Link to post
  • Replies 1.1k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Support for HandBrake docker container Application Name: HandBrake Application Site: https://handbrake.fr/ Docker Hub: https://hub.docker.com/r/jlesage/handbrake/ Github: https://github.com/jlesage/d

The automatic video converter and hooks run under a non-privileged user, so killing process id 1 won't work.  However, since exiting HandBrake also terminate the container, this should work: killa

Try the latest version, which have Quick Sync support. See https://github.com/jlesage/docker-handbrake#intel-quick-sync-video for more details on how to use it.

Posted Images

21 minutes ago, Taddeusz said:

I’ve not jumped into H.265. I’m still working with H.264. I’ve done a little testing with H.265 but just haven’t seen the need to change.

I'm using it because most my devices use it anyway. I'm trying to save some space honestly with some specific shows, although I was try to find them already converted it's not always the case. 

Link to post

I just checked the files and see no difference whatsoever. I increased the quality output in the profile. Now I have a question, I noticed how the automatic encoding stripped the subtitles inside the video already. 

 

Any way I can prevent that from happening?

Link to post
50 minutes ago, gacpac said:

I just checked the files and see no difference whatsoever. I increased the quality output in the profile. Now I have a question, I noticed how the automatic encoding stripped the subtitles inside the video already. 

 

Any way I can prevent that from happening?

I'll test I found the video from spaceinvader lol

Link to post
22 minutes ago, Trozmagon said:

Hey Guys, having an issue with no Japanese as an available language in the Audio Track Selection. Anyone have any ideas?

 

screenshot.png.5258b43fb01f4fa5378174a534133799.png

 

I've seen on the github issues for this project that it should be listed in Kanji (日本人) however the docker container doesn't seem to have the character set for many languages. If you see in my screenshot the last in the list is depicted as multiple alphanumeric squares, does anyone know how to fix it?

Link to post
1 hour ago, Trozmagon said:

I've seen on the github issues for this project that it should be listed in Kanji (日本人) however the docker container doesn't seem to have the character set for many languages. If you see in my screenshot the last in the list is depicted as multiple alphanumeric squares, does anyone know how to fix it?

Try to edit the container configuration and add a variable named "ENABLE_CJK_FONT" with a value of "1".

See https://github.com/jlesage/docker-handbrake#environment-variables

Link to post
1 hour ago, Djoss said:

Try to edit the container configuration and add a variable named "ENABLE_CJK_FONT" with a value of "1".

See https://github.com/jlesage/docker-handbrake#environment-variables

Hey Mate, thanks for your help!

 

That has worked perfectly but only for Kanji characters, there are still other character sets missing for other languages, although I don't need them myself it might be useful for people in the future if there's a solution to all?

 

screenshot.png.3eb4376777b5beb8773e08363e43a52d.png

 

Link to post

Hi All,

I love this docker!  The best.  I'm new to docker so if I ask a dump question, forgive me...  My question, I'm learning how to include any subtitles that are in the original source and in doing so, I would like to 're-process' a recording that I copy into the /input folder.  Is there somewhere I can tell this docker to do that?  I've tried deleting all the hidden files in the /output folder but that doesn's seem to do it....

Thanks,

ce

Link to post
12 hours ago, Trozmagon said:

Hey Mate, thanks for your help!

 

That has worked perfectly but only for Kanji characters, there are still other character sets missing for other languages, although I don't need them myself it might be useful for people in the future if there's a solution to all?

 

screenshot.png.3eb4376777b5beb8773e08363e43a52d.png

 

Enabling ENABLE_CJK_FONT installs fonts from the following project: http://wenq.org/wqy2/index.cgi?action=browse&id=Home&lang=en

Not sure what else is missing.

 

Link to post
6 hours ago, cerickso88@gmail.com said:

Hi All,

I love this docker!  The best.  I'm new to docker so if I ask a dump question, forgive me...  My question, I'm learning how to include any subtitles that are in the original source and in doing so, I would like to 're-process' a recording that I copy into the /input folder.  Is there somewhere I can tell this docker to do that?  I've tried deleting all the hidden files in the /output folder but that doesn's seem to do it....

Thanks,

ce

Try to delete the following file: /mnt/user/appdata/HandBrake/successful_conversions

Link to post
On 2/11/2021 at 11:11 AM, Trozmagon said:

Hey guys, does anybody know if it's possible to have "Automatic Video Converter: Keep Source Files:" set to 0 but only remove the converted file, not the folder if it's in one?

I guess you could do it by deleting yourself the source file using custom hooks (https://github.com/jlesage/docker-handbrake#hooks).  But ideally you should copy only what you need to convert into the watch folder.

Link to post
16 hours ago, Djoss said:

I guess you could do it by deleting yourself the source file using custom hooks (https://github.com/jlesage/docker-handbrake#hooks).  But ideally you should copy only what you need to convert into the watch folder.

Thanks @Djoss I'll take a look at it. I'm looking at pointing my watch folder to my main video storage folder (I don't care too much if there's an issue and I lose a file here or there).

 

I have the whole process working except for the last step being that it deletes the whole folder including the newly encoded file rather than the old file.

Link to post
On 2/15/2021 at 1:59 PM, Trozmagon said:

Thanks @Djoss I'll take a look at it. I'm looking at pointing my watch folder to my main video storage folder (I don't care too much if there's an issue and I lose a file here or there).

 

I have the whole process working except for the last step being that it deletes the whole folder including the newly encoded file rather than the old file.

If you want to point the watch folder to your main video storage, then make sure that the output folder is different.  Once everything get converted, this output folder will become your main video storage...  Make sure that "Non-Video File Action" is set to "copy".

Link to post
  • 3 weeks later...

Hi Djoss,

I've been running this container for a looooong time without any problems, using the automatic watch folder workflow and a post_watch_folder_processing script to stop the container after processing if the watch folder is empty.

Sometime during the last few months (maybe longer) the script has stopped working as intended, with this in the log:

[autovideoconverter] Conversion ended successfully.
[autovideoconverter] Removed /watch/moviename.mkv'.
[autovideoconverter] Watch folder '/watch' processing terminated.
[autovideoconverter] Executing post watch folder processing hook...
post-watch folder processing: Watch folder = /watch/BDMV
watch folder not empty, won't shut down
[autovideoconverter] Post watch folder processing hook exited with 0
[autovideoconverter] Change detected in watch folder '/watch'.
[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Watch folder '/watch' processing terminated.


Here's the script:

#!/bin/sh
#
# This is an example of a post watch folder processing hook.  This script is
# always invoked with /bin/sh (shebang ignored).
#
# The argument of the script is the path to the watch folder.
#

WATCH_FOLDER=$1

echo "post-watch folder processing: Watch folder = $WATCH_FOLDER"

if [ -d "/$WATCH_FOLDER" ] && [ -z "$(ls -A "$WATCH_FOLDER")" ] 
  then
    echo "watch folder empty, shutting down"
    killall -sigterm ghb
  else
    echo "watch folder not empty, won't shut down"
fi

 

I don't understand where /watch/BDMV  is coming from? Are you able to shed some light on this for me, please?

Has the argument value changed recently? Is Handbrake adding a temporary BDMV folder during processing? Or have I added another watch folder somehow without realising?

In the container settings, the watch folder is set to /mnt/user/Media/Handbrake_hotfolder/watch/ 

 

Thanks in advance

Jorgen

 

Edit: I only have one watch folder defined in the container settings, and no optical drives passed through.

Full run command:

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name='HandBrake' --net='bridge' -e TZ="Australia/Sydney" -e HOST_OS="Unraid" -e 'AUTOMATED_CONVERSION_PRESET'='My Presets/Mathias_MKV_720p30_v2' -e 'AUTOMATED_CONVERSION_FORMAT'='mkv' -e 'AUTOMATED_CONVERSION_KEEP_SOURCE'='0' -e 'AUTOMATED_CONVERSION_OUTPUT_SUBDIR'='' -e 'AUTOMATED_CONVERSION_OUTPUT_DIR'='/output' -e 'AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION'='ignore' -e 'DISPLAY_WIDTH'='1280' -e 'DISPLAY_HEIGHT'='768' -e 'USER_ID'='99' -e 'GROUP_ID'='100' -e 'APP_NICENESS'='15' -e 'UMASK'='000' -e 'X11VNC_EXTRA_OPTS'='' -e 'AUTOMATED_CONVERSION_SOURCE_STABLE_TIME'='5' -e 'AUTOMATED_CONVERSION_SOURCE_MIN_DURATION'='10' -e 'SECURE_CONNECTION'='0' -e 'AUTOMATED_CONVERSION_CHECK_INTERVAL'='5' -e 'AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS'='5' -e 'AUTOMATED_CONVERSION_NO_GUI_PROGRESS'='0' -e 'AUTOMATED_CONVERSION_NON_VIDEO_FILE_EXTENSIONS'='jpg jpeg bmp png gif txt nfo' -e 'AUTOMATED_CONVERSION_HANDBRAKE_CUSTOM_ARGS'='' -e 'AUTOMATED_CONVERSION_INSTALL_PKGS'='' -e 'AUTOMATED_CONVERSION_VIDEO_FILE_EXTENSIONS'='' -e 'AUTOMATED_CONVERSION_OVERWRITE_OUTPUT'='0' -p '7803:5800/tcp' -p '7903:5900/tcp' -v '/mnt/user/Media':'/storage':'ro' -v '/mnt/user0/Media/Handbrake_hotfolder/output/':'/output':'rw' -v '/mnt/user/Media/Handbrake_hotfolder/watch/':'/watch':'rw' -v '/mnt/cache/appdata/HandBrake':'/config':'rw' --device='/dev/dri' --cap-add=SYS_NICE --log-opt max-size=50m --log-opt max-file=1 'jlesage/handbrake'

 

Edited by Jorgen
clarification
Link to post
3 hours ago, Jorgen said:

Hi Djoss,

I've been running this container for a looooong time without any problems, using the automatic watch folder workflow and a post_watch_folder_processing script to stop the container after processing if the watch folder is empty.

Sometime during the last few months (maybe longer) the script has stopped working as intended, with this in the log:


[autovideoconverter] Conversion ended successfully.
[autovideoconverter] Removed /watch/moviename.mkv'.
[autovideoconverter] Watch folder '/watch' processing terminated.
[autovideoconverter] Executing post watch folder processing hook...
post-watch folder processing: Watch folder = /watch/BDMV
watch folder not empty, won't shut down
[autovideoconverter] Post watch folder processing hook exited with 0
[autovideoconverter] Change detected in watch folder '/watch'.
[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Watch folder '/watch' processing terminated.


Here's the script:


#!/bin/sh
#
# This is an example of a post watch folder processing hook.  This script is
# always invoked with /bin/sh (shebang ignored).
#
# The argument of the script is the path to the watch folder.
#

WATCH_FOLDER=$1

echo "post-watch folder processing: Watch folder = $WATCH_FOLDER"

if [ -d "/$WATCH_FOLDER" ] && [ -z "$(ls -A "$WATCH_FOLDER")" ] 
  then
    echo "watch folder empty, shutting down"
    killall -sigterm ghb
  else
    echo "watch folder not empty, won't shut down"
fi

 

I don't understand where /watch/BDMV  is coming from? Are you able to shed some light on this for me, please?

Has the argument value changed recently? Is Handbrake adding a temporary BDMV folder during processing? Or have I added another watch folder somehow without realising?

In the container settings, the watch folder is set to /mnt/user/Media/Handbrake_hotfolder/watch/ 

 

Thanks in advance

Jorgen

 

Edit: I only have one watch folder defined in the container settings, and no optical drives passed through.

Full run command:


root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name='HandBrake' --net='bridge' -e TZ="Australia/Sydney" -e HOST_OS="Unraid" -e 'AUTOMATED_CONVERSION_PRESET'='My Presets/Mathias_MKV_720p30_v2' -e 'AUTOMATED_CONVERSION_FORMAT'='mkv' -e 'AUTOMATED_CONVERSION_KEEP_SOURCE'='0' -e 'AUTOMATED_CONVERSION_OUTPUT_SUBDIR'='' -e 'AUTOMATED_CONVERSION_OUTPUT_DIR'='/output' -e 'AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION'='ignore' -e 'DISPLAY_WIDTH'='1280' -e 'DISPLAY_HEIGHT'='768' -e 'USER_ID'='99' -e 'GROUP_ID'='100' -e 'APP_NICENESS'='15' -e 'UMASK'='000' -e 'X11VNC_EXTRA_OPTS'='' -e 'AUTOMATED_CONVERSION_SOURCE_STABLE_TIME'='5' -e 'AUTOMATED_CONVERSION_SOURCE_MIN_DURATION'='10' -e 'SECURE_CONNECTION'='0' -e 'AUTOMATED_CONVERSION_CHECK_INTERVAL'='5' -e 'AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS'='5' -e 'AUTOMATED_CONVERSION_NO_GUI_PROGRESS'='0' -e 'AUTOMATED_CONVERSION_NON_VIDEO_FILE_EXTENSIONS'='jpg jpeg bmp png gif txt nfo' -e 'AUTOMATED_CONVERSION_HANDBRAKE_CUSTOM_ARGS'='' -e 'AUTOMATED_CONVERSION_INSTALL_PKGS'='' -e 'AUTOMATED_CONVERSION_VIDEO_FILE_EXTENSIONS'='' -e 'AUTOMATED_CONVERSION_OVERWRITE_OUTPUT'='0' -p '7803:5800/tcp' -p '7903:5900/tcp' -v '/mnt/user/Media':'/storage':'ro' -v '/mnt/user0/Media/Handbrake_hotfolder/output/':'/output':'rw' -v '/mnt/user/Media/Handbrake_hotfolder/watch/':'/watch':'rw' -v '/mnt/cache/appdata/HandBrake':'/config':'rw' --device='/dev/dri' --cap-add=SYS_NICE --log-opt max-size=50m --log-opt max-file=1 'jlesage/handbrake'

 

 

Arguments passed to the post processing script have always been the same.  See https://github.com/jlesage/docker-handbrake#hooks

 

So I'm not sur how your script worked, since the watch folder path is never passed to the script... and the first argument should be the conversion state.

 

Since you are using a single watch folder, you can only set the watch folder like this:

 

WATCH_FOLDER=/watch

 

Link to post
7 hours ago, Djoss said:

 

Arguments passed to the post processing script have always been the same.  See https://github.com/jlesage/docker-handbrake#hooks

 

So I'm not sur how your script worked, since the watch folder path is never passed to the script... and the first argument should be the conversion state.

 

Since you are using a single watch folder, you can only set the watch folder like this:

 


WATCH_FOLDER=/watch

 

 

Thanks, hardcoding "/watch" made it work again, of course. :)

 

Just for my understanding though, am I misinterpreting the table on the hooks page? I'm using post_watch_folder_processing.sh

 

1774628672_ScreenShot2021-03-06at9_30_19am.png.fd3ecd8d1124c9d256b0538b7d2ab7f2.png

Link to post
On 3/5/2021 at 5:36 PM, Jorgen said:

 

Thanks, hardcoding "/watch" made it work again, of course. :)

 

Just for my understanding though, am I misinterpreting the table on the hooks page? I'm using post_watch_folder_processing.sh

 

1774628672_ScreenShot2021-03-06at9_30_19am.png.fd3ecd8d1124c9d256b0538b7d2ab7f2.png

Sorry, I though you were talking about the post conversion hook.

 

So I verified the post watch folder hook, and there is definitively an issue with the param passed to the script.  I will fix that.

Link to post
  • 1 month later...

Hello everyone,

I am trying to use my Threadripper 2970wx for transcoding movie files. I am playing with CPU pinning, but i cannot figure out why the container is not taking full advantage of all of the cores. If i don't have any cpu pinning set up, will the container use all available cores? Please tell me that i am missing something simple?

 

Thanks in advance for all of your help.

 

Edit: I forgot to say that i am on Unraid version 6.9.1

Edited by alex165
Adding additional detail
Link to post
On 4/13/2021 at 10:03 PM, alex165 said:

Hello everyone,

I am trying to use my Threadripper 2970wx for transcoding movie files. I am playing with CPU pinning, but i cannot figure out why the container is not taking full advantage of all of the cores. If i don't have any cpu pinning set up, will the container use all available cores? Please tell me that i am missing something simple?

 

Thanks in advance for all of your help.

 

Edit: I forgot to say that i am on Unraid version 6.9.1

 

This is a common behaviour.  You can google for it for more details, but basically Handbrake/encoders are not necessarily good at using all the cores, especially above a certain number.

Link to post

I just installed this and had the 1006 error. It took clearing cache & cookies to get it to go away.

On 1/4/2021 at 9:10 AM, Djoss said:

Clearing the browser's cache usually fixes this kind of issue.

 

Other than that, everything seems to be working just fine. Thanks for putting this together (wish I'd seen it years ago...) :)  About the only time I really need it is to convert files off of my JVC Everio camera - it creates a file with a .MOD extension that VLC will play. I can change the extension to .MOV and VLC will still play it. However, nothing will get Premier Pro to import it short of a full on conversion. Glad this works!

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.