[Support] Djoss - HandBrake


Recommended Posts

On 5/13/2019 at 9:47 PM, Djoss said:

For the UI part, your should set the destination file under "/output" in the container.

OK, so I tried deleting the container and all cache data and even the directories themselves. I remade them, starting from scratch and opening up the permissions again to 777. I can now get the GUI version to work when setting the destination output to /output as described above, but the watch folder still does not work. Same error as before. This makes me think that maybe one of my routes is bad for the watch folder, but I can't see it myself. Any help?

Link to comment
15 hours ago, DrAwesome said:

OK, so I tried deleting the container and all cache data and even the directories themselves. I remade them, starting from scratch and opening up the permissions again to 777. I can now get the GUI version to work when setting the destination output to /output as described above, but the watch folder still does not work. Same error as before. This makes me think that maybe one of my routes is bad for the watch folder, but I can't see it myself. Any help?

What is the output of the following command?:

docker exec HandBrake ls -l /

 

Link to comment
On 5/17/2019 at 8:05 AM, DrAwesome said:

 

Screen Shot 2019-05-17 at 8.03.35 AM.png

No sure why you are getting permission errors.  Everything looks good.

Other than changing mappings to /output and /storage, did you made other changes to the template?

As a last resort, your could try to re-create your docker.img to see if it helps.

Link to comment
  • 1 month later...

When you encode a MKV -> MP4, there's a way to keep the forced subtitle ?

 

I don't see the option. I try to set it like a defaut one, but in Plex it won't load.

 

In the same time, why Handbrake don't keep the tracks name. In VLC, I see French Forced and after it's just French.

 

Thank,

Link to comment
On 6/26/2019 at 7:06 AM, Jobine said:

When you encode a MKV -> MP4, there's a way to keep the forced subtitle ?

 

I don't see the option. I try to set it like a defaut one, but in Plex it won't load.

 

In the same time, why Handbrake don't keep the tracks name. In VLC, I see French Forced and after it's just French.

 

Thank,

Note that mp4 container is less feature rich than mkv one...  According to this post, mp4 may not support forced subtitles: https://forums.plex.tv/t/no-forced-subtitles-with-mp4/68375/5

Link to comment

I'm trying to get handbrake to skip any file that has 265 in it's name. I've tried to edit the pre-compile script posted earlier in the thread but i'm a noob so no succes. This is the script i came up with. 
 

#!/bin/sh
#
# This is an example of a pre-conversion hook.  This script is always invoked
# with /bin/sh (shebang ignored).
#
# The first parameter is the full path where the video will be converted.
#
# The second parameter is the full path to the source file.
#
# The third argument is the name of the HandBrake preset that will be used to
# convert the video.
#

CONVERTED_FILE="$1"
SOURCE_FILE="$2"
PRESET="$3"

echo "pre-conversion: Output File = $CONVERTED_FILE"
echo "pre-conversion: Source File = $SOURCE_FILE"
echo "pre-conversion: Preset = $PRESET"

CODEC="265"

if [ ! -z $(grep "$CODEC" "$SOURCE_FILE") ];

then
            echo "pre-conversion: file conversion not required, moving file."
            mkdir -p "$(dirname "$CONVERTED_FILE")"
            mv "$SOURCE_FILE" "$CONVERTED_FILE"
        else
            echo "ERROR: Destination file has unexpected CODEC '$CODEC'."
        fi
        ;;
    *)
        # Remove unknown files.
        echo "pre-conversion: preventing file conversion by removing file."
        rm "$SOURCE_FILE"
esac

I've put it into ShellCheck but like i said, noob. Does anyone have a better way to make handbrake skip 265 (HEVC) files?

Link to comment
20 hours ago, casiooo said:

I'm trying to get handbrake to skip any file that has 265 in it's name. I've tried to edit the pre-compile script posted earlier in the thread but i'm a noob so no succes. This is the script i came up with. 
 


#!/bin/sh
#
# This is an example of a pre-conversion hook.  This script is always invoked
# with /bin/sh (shebang ignored).
#
# The first parameter is the full path where the video will be converted.
#
# The second parameter is the full path to the source file.
#
# The third argument is the name of the HandBrake preset that will be used to
# convert the video.
#

CONVERTED_FILE="$1"
SOURCE_FILE="$2"
PRESET="$3"

echo "pre-conversion: Output File = $CONVERTED_FILE"
echo "pre-conversion: Source File = $SOURCE_FILE"
echo "pre-conversion: Preset = $PRESET"

CODEC="265"

if [ ! -z $(grep "$CODEC" "$SOURCE_FILE") ];

then
            echo "pre-conversion: file conversion not required, moving file."
            mkdir -p "$(dirname "$CONVERTED_FILE")"
            mv "$SOURCE_FILE" "$CONVERTED_FILE"
        else
            echo "ERROR: Destination file has unexpected CODEC '$CODEC'."
        fi
        ;;
    *)
        # Remove unknown files.
        echo "pre-conversion: preventing file conversion by removing file."
        rm "$SOURCE_FILE"
esac

I've put it into ShellCheck but like i said, noob. Does anyone have a better way to make handbrake skip 265 (HEVC) files?

 

If you need the script to move the source file, try the following:

#!/bin/sh
#
# This is an example of a pre-conversion hook.  This script is always invoked
# with /bin/sh (shebang ignored).
#
# The first parameter is the full path where the video will be converted.
#
# The second parameter is the full path to the source file.
#
# The third argument is the name of the HandBrake preset that will be used to
# convert the video.
#

CONVERTED_FILE="$1"
SOURCE_FILE="$2"
PRESET="$3"

echo "pre-conversion: Output File = $CONVERTED_FILE"
echo "pre-conversion: Source File = $SOURCE_FILE"
echo "pre-conversion: Preset = $PRESET"

CODEC="265"

if echo "$SOURCE_FILE" | grep -q "$CODEC"
then
    echo "pre-conversion: file conversion not required, moving file."
    mkdir -p "$(dirname "$CONVERTED_FILE")"
    mv "$SOURCE_FILE" "$CONVERTED_FILE"
fi

 

Edited by Djoss
  • Like 2
Link to comment
1 hour ago, Djoss said:

 

If you need the script to move the source file, try the following:


#!/bin/sh
#
# This is an example of a pre-conversion hook.  This script is always invoked
# with /bin/sh (shebang ignored).
#
# The first parameter is the full path where the video will be converted.
#
# The second parameter is the full path to the source file.
#
# The third argument is the name of the HandBrake preset that will be used to
# convert the video.
#

CONVERTED_FILE="$1"
SOURCE_FILE="$2"
PRESET="$3"

echo "pre-conversion: Output File = $CONVERTED_FILE"
echo "pre-conversion: Source File = $SOURCE_FILE"
echo "pre-conversion: Preset = $PRESET"

CODEC="265"

if ! echo "$SOURCE_FILE" | grep -q "$CODEC"
then
    echo "pre-conversion: file conversion not required, moving file."
    mkdir -p "$(dirname "$CONVERTED_FILE")"
    mv "$SOURCE_FILE" "$CONVERTED_FILE"
fi

 

Thanks. It doesn't seem to be working though. The log gives me this:

[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Waiting 5 seconds before processing '/watch/series/show s01e01 265.mkv'...
[autovideoconverter] Starting conversion of '/watch/series/show s01e01 265.mkv' using preset 'hevc'...
[autovideoconverter] 1 title(s) to process.
[autovideoconverter] Executing pre-conversion hook...
pre-conversion: Output File = /output/series/show s01e01 265.mkv
pre-conversion: Source File = /watch/series/show s01e01 265.mkv
pre-conversion: Preset = hevc
[autovideoconverter] Pre-conversion hook exited with 0
[autovideoconverter] Starting conversion of '/watch/series/show s01e01 265.mkv' using preset 'hevc'...
[autovideoconverter] 1 title(s) to process.
[autovideoconverter] Executing pre-conversion hook...
pre-conversion: Output File = /output/series/show s01e01 265.mkv
pre-conversion: Source File = /watch/series/show s01e01 265.mkv
pre-conversion: Preset = hevc
[autovideoconverter] Pre-conversion hook exited with 0

After that it waits a while and continues to transcode anyway.

Encoding /watch/series/show s01e01 265.mkv: 0.57 %
Encoding /watch/series/show s01e01 265.mkv: 1.18 % (179.45 fps, avg 176.87 fps, ETA 00h06m30s)
Encoding /watch/series/show s01e01 265.mkv: 1.78 % (185.19 fps, avg 179.23 fps, ETA 00h06m23s)
Encoding /watch/series/show s01e01 265.mkv: 2.31 % (155.28 fps, avg 171.28 fps, ETA 00h06m38s)
Encoding /watch/series/show s01e01 265.mkv: 2.82 % (147.48 fps, avg 166.73 fps, ETA 00h06m47s)

 

Link to comment
  • 2 weeks later...

I'm having issues getting the H.264 (Intel QSV) option to show up in Handbrake. I think I've done everything correctly, but I've obviously missed something, as it's not working.

 

My processor supports it: https://ark.intel.com/content/www/us/en/ark/products/126688/intel-core-i3-8100-processor-6m-cache-3-60-ghz.html

 

I've enabled the iGPU in my system bios. The driver seems to be loading properly - this is the readout from the terminal:

root@tower:/dev/dri# ls -l 

total 0 drwxrwxrwx 2 root root 80 Jul 13 16:58 by-path/ 

crw-rw---- 1 root video 226, 0 Jul 13 16:58 card0 

crwxrwxrwx 1 root video 226, 128 Jul 13 16:58 renderD128

I added the required lines (I think) to my /boot/config/go file

# Load the i915 driver. 
modprobe i915 
chmod -R 777 /dev/dri

I've entered

--device=/dev/dri:/dev/dri

under Extra Parameters in the container page.  I've tried both the regular and dev branches. I don't see anything in the logs indicating any errors... I'm not sure what I've missed. Help?

Link to comment
10 hours ago, that guy said:

I'm having issues getting the H.264 (Intel QSV) option to show up in Handbrake. I think I've done everything correctly, but I've obviously missed something, as it's not working.

 

My processor supports it: https://ark.intel.com/content/www/us/en/ark/products/126688/intel-core-i3-8100-processor-6m-cache-3-60-ghz.html

 

I've enabled the iGPU in my system bios. The driver seems to be loading properly - this is the readout from the terminal:


root@tower:/dev/dri# ls -l 

total 0 drwxrwxrwx 2 root root 80 Jul 13 16:58 by-path/ 

crw-rw---- 1 root video 226, 0 Jul 13 16:58 card0 

crwxrwxrwx 1 root video 226, 128 Jul 13 16:58 renderD128

I added the required lines (I think) to my /boot/config/go file


# Load the i915 driver. 
modprobe i915 
chmod -R 777 /dev/dri

I've entered


--device=/dev/dri:/dev/dri

under Extra Parameters in the container page.  I've tried both the regular and dev branches. I don't see anything in the logs indicating any errors... I'm not sure what I've missed. Help?

You can look at the container's log.  It should explain why Intel QSV is not working and what need to be done.

Link to comment
21 minutes ago, Djoss said:

You can look at the container's log.  It should explain why Intel QSV is not working and what need to be done.

This is all I see in the logs, simply stating it's not supported.  Intel says it is though... Is there something else I should be looking for?

 

Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
[17:31:32] hb_init: starting libhb thread
[17:31:32] thread 15392a12fb10 started ("libhb")
HandBrake 1.2.2 (2019050500) - Linux x86_64 - https://handbrake.fr
4 CPUs detected
Opening /watch/Die Hard.mkv...
[17:31:32] CPU: Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz
[17:31:32]  - Intel microarchitecture Kaby Lake
[17:31:32]  - logical processor count: 4
[17:31:32] Intel Quick Sync Video support: no

 

Link to comment
56 minutes ago, that guy said:

This is all I see in the logs, simply stating it's not supported.  Intel says it is though... Is there something else I should be looking for?

 


Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
[17:31:32] hb_init: starting libhb thread
[17:31:32] thread 15392a12fb10 started ("libhb")
HandBrake 1.2.2 (2019050500) - Linux x86_64 - https://handbrake.fr
4 CPUs detected
Opening /watch/Die Hard.mkv...
[17:31:32] CPU: Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz
[17:31:32]  - Intel microarchitecture Kaby Lake
[17:31:32]  - logical processor count: 4
[17:31:32] Intel Quick Sync Video support: no

 

 

It's earlier in the log, with messages starting with "[cont-init.d] 95-check-qsv.sh".  You can provide the whole log if you want.

Link to comment
13 hours ago, Djoss said:

 

It's earlier in the log, with messages starting with "[cont-init.d] 95-check-qsv.sh".  You can provide the whole log if you want.

I don't have any lines like that in my log...  appdata\HandBrake\log\hb\conversion.log, right?

It's attached, if that helps at all...  Thanks for the help so far, by the way!

 

Edited by that guy
Link to comment
5 hours ago, dirknina said:

not sure if this can be done. but is their a way to monitor automatic video converter progess with heimdall docker?

No, this is currently not supported.

5 hours ago, dirknina said:

second  how many cores would be best to run with out maxing cpu out i currently dont have a nvidia card on hand.

Using cpu shares could be easier.  See :

 

 

Link to comment
4 hours ago, Djoss said:

By "container log" I meant the log that is accessible via the Docker page in unRAID.  Click on the little icon at the most right column.

Sorry, still new to this unraid stuff!

 

I guess this is what I'm looking for:

[cont-init.d] 95-check-qsv.sh: executing...
[cont-init.d] 95-check-qsv.sh: Processor: Intel® Core(TM) i3-8100 CPU @ 3.60GHz
[cont-init.d] 95-check-qsv.sh: Intel Quick Sync Video not supported: device directory /dev/dri not exposed to the container.
[cont-init.d] 95-check-qsv.sh: exited 0.

So it's not seeing the device, right?  Did I make a typo somewhere in my Extra Parameters or something?

Link to comment
56 minutes ago, that guy said:

Sorry, still new to this unraid stuff!

 

I guess this is what I'm looking for:


[cont-init.d] 95-check-qsv.sh: executing...
[cont-init.d] 95-check-qsv.sh: Processor: Intel® Core(TM) i3-8100 CPU @ 3.60GHz
[cont-init.d] 95-check-qsv.sh: Intel Quick Sync Video not supported: device directory /dev/dri not exposed to the container.
[cont-init.d] 95-check-qsv.sh: exited 0.

So it's not seeing the device, right?  Did I make a typo somewhere in my Extra Parameters or something?

 

Instead of using Extra Parameters, your can add a "Device" and set its value to "/dev/dri/".

Link to comment

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.