[Support] Djoss - HandBrake


Recommended Posts

25 minutes ago, ibasaw said:

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='HandBrake' --net='bridge' -e TZ="America/New_York" -e HOST_OS="unRAID" -e 'AUTOMATED_CONVERSION_PRESET'='Very Fast 1080p30' -e 'AUTOMATED_CONVERSION_FORMAT'='mp4' -e 'AUTOMATED_CONVERSION_KEEP_SOURCE'='1' -e 'AUTOMATED_CONVERSION_OUTPUT_SUBDIR'='' -e 'USER_ID'='99' -e 'GROUP_ID'='100' -e 'UMASK'='000' -e 'APP_NICENESS'='' -e 'DISPLAY_WIDTH'='1280' -e 'DISPLAY_HEIGHT'='768' -e 'SECURE_CONNECTION'='0' -e 'X11VNC_EXTRA_OPTS'='' -e 'AUTOMATED_CONVERSION_SOURCE_STABLE_TIME'='5' -e 'AUTOMATED_CONVERSION_SOURCE_MIN_DURATION'='10' -e 'AUTOMATED_CONVERSION_CHECK_INTERVAL'='5' -p '7803:5800/tcp' -p '7903:5900/tcp' -v '/mnt/user/Handbrake/':'/storage':'ro' -v '':'/watch':'rw' -v '/mnt/user/Handbrake/':'/output':'rw' -v '/mnt/user/appdata/HandBrake':'/config':'rw' 'jlesage/handbrake' 
/usr/bin/docker: Error response from daemon: invalid volume spec ":/watch:rw": invalid volume specification: ':/watch:rw'.
See '/usr/bin/docker run --help'.

The command failed.

 

 found it and resolved...you must specify a WATCH folder or you get this error.

Edited by ibasaw
Link to comment

I'm finding that on the stable version (1.1.0) both in this docker and the windows version that it can't correctly handle DTS HD-MA 7.1 sources.  It always defaults to the DTS 5.1 core with no ability to select the 7.1 track either for pass-through or conversion.  On the nightly builds, at least on windows, this has been resolved.  Is there any chance of getting a docker build with the nightly release?

Link to comment
23 minutes ago, Luc1fer said:

I'm finding that on the stable version (1.1.0) both in this docker and the windows version that it can't correctly handle DTS HD-MA 7.1 sources.  It always defaults to the DTS 5.1 core with no ability to select the 7.1 track either for pass-through or conversion.  On the nightly builds, at least on windows, this has been resolved.  Is there any chance of getting a docker build with the nightly release?

Yes, it's already there: https://github.com/jlesage/docker-handbrake/blob/master/README.md#nightly-builds

Link to comment
20 hours ago, Djoss said:

Thanks for that.  Sorry if this a stupid question but does that mean that to install the nightly version I install a new docker and in the unraid container GUI I change the repository from jlesage/handbrake to jlesage/handbrake:dev-latest ?

Edit: Running on dev-latest at the moment.  It doesn't appear to fix DTS HD-MA.  Dev-latest appears to be a version from 28/5/2018.   I think the change to FFmpeg4.0 on the next nightly might have been what fixed DTS HD-MA (windows version that works for DTS HA-MA is b8c1375-master).

Edited by Luc1fer
Link to comment
On 6/8/2018 at 9:38 PM, Luc1fer said:

Thanks for that.  Sorry if this a stupid question but does that mean that to install the nightly version I install a new docker and in the unraid container GUI I change the repository from jlesage/handbrake to jlesage/handbrake:dev-latest ?

Edit: Running on dev-latest at the moment.  It doesn't appear to fix DTS HD-MA.  Dev-latest appears to be a version from 28/5/2018.   I think the change to FFmpeg4.0 on the next nightly might have been what fixed DTS HD-MA (windows version that works for DTS HA-MA is b8c1375-master).

Yeah I need to fix the latest nightly which is currently broken.

Link to comment
2 minutes ago, Squid said:
18 minutes ago, mbc0 said:
Hi,
 
Is it possible to reduce the amount of cores this docker uses? when encoding X265 on my i7-8700 it maxes out all 12 cores and drags my Win 10 VM (running on NVME) to almost a halt!

There's a section in the docker FAQ on that

 

Ah, I am sorry, I have been all through the documentation on Github and cannot find anything that mentions cores? will carry on looking

Link to comment

Hi,

 

Thanks for that link, I found the same information from a different thread by googling in the end.. 

 

Reducing the cores does help my problem but not cure it so I am wondering if I have something wrong with my setup as I have a fairly beefy machine.

 

If I give the docker 6 of my 12 CPU's my VM is practically unusable, with 4 it is annoyingly slow with two it is a niggle (half second delay between mouse clicks)

 

anyone else using this method?

 

My VM is on a PCI-E NVME so cannot get much faster than that, I have 8GB RAM free in unRAID

 

If I run Handbrake on my WIN10 VM using all 12 cores I do not notice any kind of lag/slowdown at all?

 

M/B: ASUSTeK COMPUTER INC. - PRIME Z370-A
CPU: Intel® Core™ i7-8700K CPU @ 3.70GHz
HVM: Enabled
IOMMU: Enabled
Cache: 384 kB, 1536 kB, 12288 kB
Memory: 16 GB (max. installable capacity 32 GB)

 

 

Link to comment
8 hours ago, mbc0 said:

Hi,

 

Thanks for that link, I found the same information from a different thread by googling in the end.. 

 

Reducing the cores does help my problem but not cure it so I am wondering if I have something wrong with my setup as I have a fairly beefy machine.

 

If I give the docker 6 of my 12 CPU's my VM is practically unusable, with 4 it is annoyingly slow with two it is a niggle (half second delay between mouse clicks)

 

anyone else using this method?

 

My VM is on a PCI-E NVME so cannot get much faster than that, I have 8GB RAM free in unRAID

 

If I run Handbrake on my WIN10 VM using all 12 cores I do not notice any kind of lag/slowdown at all?

 

M/B: ASUSTeK COMPUTER INC. - PRIME Z370-A
CPU: Intel® Core™ i7-8700K CPU @ 3.70GHz
HVM: Enabled
IOMMU: Enabled
Cache: 384 kB, 1536 kB, 12288 kB
Memory: 16 GB (max. installable capacity 32 GB)

 

 

I'm wondering if disk I/Os can have any impact.  Where is located the video you are reading from and the video your are writing to?  Did you try to have them on your SSD?

Link to comment

Hi,

 

the video is located on my shares but I have been converting video's that way for years it is only since I have started using unRAID as my daily driver with a VM.  I can convert from the same source to the same source on my VM using Handbrake so don't think that is the issue but I am currently looking at CPU assignment (pinning) as this looks like it may be the issue?

Link to comment

I can see that for automated conversions I can set:


AUTOMATED_CONVERSION_OUTPUT_SUBDIR=SAME_AS_SRC

 

I would also like to have all of my (GUI/manual) conversions to be created in /output/SAME_AS_SOURCE/Source.mkv without having to type he source directory every time.

 

Is there a way to set this?  (in windows you would use {source_folder_name} when you specify the default path).

Edited by Luc1fer
Added windows solution.
Link to comment
On 6/17/2018 at 5:56 AM, Luc1fer said:

I can see that for automated conversions I can set:


AUTOMATED_CONVERSION_OUTPUT_SUBDIR=SAME_AS_SRC

 

 I would also like to have all of my (GUI/manual) conversions to be created in /output/SAME_AS_SOURCE/Source.mkv without having to type he source directory every time.

  

Is there a way to set this?  (in windows you would use {source_folder_name} when you specify the default path).

Can you provide an example of what you would like to achieve?

Link to comment
3 hours ago, Djoss said:

Can you provide an example of what you would like to achieve?

I want to use the GUI.

I want to set an output folder eg:

/handbrake/transcoded/TV/

 

I want to select a video to encode eg:

/downloads/completed/TV/Firefly/firefly s01e01.mkv

 

I would like handbrake to then encode this file into:

/handbrake/transcoded/TV/Firefly/firefly s01e01.mkv

 

At the moment if I use the GUI with the above selection it will encode to:

/handbrake/transcoded/TV/firefly s01e01.mkv

 

So in short I want to be able to use the source folder (or output_subdir as you call it for automated conversions) when I select the path in the GUI.

Link to comment
5 hours ago, Luc1fer said:

I want to use the GUI.

I want to set an output folder eg:

/handbrake/transcoded/TV/

 

I want to select a video to encode eg:

/downloads/completed/TV/Firefly/firefly s01e01.mkv

 

I would like handbrake to then encode this file into:

/handbrake/transcoded/TV/Firefly/firefly s01e01.mkv

 

At the moment if I use the GUI with the above selection it will encode to:

/handbrake/transcoded/TV/firefly s01e01.mkv

 

So in short I want to be able to use the source folder (or output_subdir as you call it for automated conversions) when I select the path in the GUI.

To my knowledge the GUI doesn't offer a such functionality (at least with the Linux version).

Link to comment

is there a way to exclude a folder in the watch folder.

 

I am converting my Plex DVR recordings from TS to MP4 every night by starting the Handbrake Docker at midnight and shutting it down at 5AM.

The issue is all the videos i want to convert are in the folder but so is the plex .grab folder which is where the recordings are as the system runs.

Is there a way to blacklist a folder from the watching.

 

Thanks

Link to comment
On 6/19/2018 at 11:15 PM, Maticks said:

is there a way to exclude a folder in the watch folder.

 

I am converting my Plex DVR recordings from TS to MP4 every night by starting the Handbrake Docker at midnight and shutting it down at 5AM.

The issue is all the videos i want to convert are in the folder but so is the plex .grab folder which is where the recordings are as the system runs.

Is there a way to blacklist a folder from the watching.

 

Thanks

Do you see that files in the ".grab" folder are actually being converted?  I guess that files in .grab are the ones that are currently being written and this is something that should be detected.

 

Link to comment

I'm not sure if this belongs here or somewhere else (SABnzbd or Sonarr).

What I want to achieve is to have all TV downloads converted by handbrake, then organised by Sonarr. So I want my automated workflow to be Sonnar>SABnzbd>Handbrake>Sonarr.

 

At the moment I can get sonarr to send requests to SABnzbd, SABnzbd will download into the watch folder and Handbrake will convert, but I then need Sonarr to pickup the completed files.  At the moment I need to manually copy the completed files to the folder that Sonarr is monitoring for completed files.  I have been reluctant to set Sonarr to monitor the completed handbrake directory as I thought that it would start to process files while they were still being converted.  Is there a way to automatically move files once they have been successfully converted?  Maybe with post-processing scripts? Or is there a better way to achieve what I want?

Link to comment
6 hours ago, Luc1fer said:

I'm not sure if this belongs here or somewhere else (SABnzbd or Sonarr).

What I want to achieve is to have all TV downloads converted by handbrake, then organised by Sonarr. So I want my automated workflow to be Sonnar>SABnzbd>Handbrake>Sonarr.

 

At the moment I can get sonarr to send requests to SABnzbd, SABnzbd will download into the watch folder and Handbrake will convert, but I then need Sonarr to pickup the completed files.  At the moment I need to manually copy the completed files to the folder that Sonarr is monitoring for completed files.  I have been reluctant to set Sonarr to monitor the completed handbrake directory as I thought that it would start to process files while they were still being converted.  Is there a way to automatically move files once they have been successfully converted?  Maybe with post-processing scripts? Or is there a better way to achieve what I want?

You can use the post processing hook to move your file to its final location.  See: https://github.com/jlesage/docker-handbrake#hooks

Link to comment
On 6/22/2018 at 7:21 PM, Djoss said:

You can use the post processing hook to move your file to its final location.  See: https://github.com/jlesage/docker-handbrake#hooks

Thanks for that. Hook worked.

 

For anyone else that wants to do this and also wants to copy the sub-directory of the converted file, this is my solution:

if [ "$CONVERSION_STATUS" -eq 0 ]; then

    DIR=$(dirname "${CONVERTED_FILE}")
    cp -r "$DIR" /[TARGET_DIR]

 

I found the basic script above had issues if there was no subdirectory or if there were multiple files in one subdirectory.  Here is my updated script (there is probably a much better way to achieve this as my bash scripting is very poor!).  Obviously replace path where needed, I should have probably used variables to set path... but I didn't.

 

if [ "$CONVERSION_STATUS" -eq 0 ]; then
    # Successful conversion.

    #source = /watch
    #output = /output
    #sonarr scan dir = /sonarr
    #subdirectory = $DIR

    DIR=$(dirname "${CONVERTED_FILE}")
    echo "converted file directory = "$DIR""
    SUBD=$(basename "${DIR}")
    echo "folder name = "$SUBD""
    if [ "$DIR" = "/output" ]; then
    echo "no subdirectory, moving to base folder";
        mv -fv "${CONVERTED_FILE}" /sonarr;
    else
        echo "moving $SOURCE_FILE to /sonarr/"${SUBD}""
        mkdir /sonarr/"${SUBD}"
        mv -fv "${CONVERTED_FILE}" /sonarr/"${SUBD}"
    fi
    
else
    :
fi

Edited by Luc1fer
changed script
Link to comment
On 4/16/2018 at 9:04 PM, Djoss said:

I think it could be possible.  I will have a look at this...

Hello @Djoss,

 

thank you for the great container.

 

I run my server on ASRock N3150-ITX, which does not have much CPU power for conversion.

But using QuckSync would help a lot here, are there any news on this feature?

 

Very appreciated.

 

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.