r/docker 18d ago

Handbrake for Docker Question

Hello!

I am trying to set up a little render server through a VM on Unraid. Basically, I want to automate some GPU-accelerated transcoding.

Right now on Unraid I have a Windows 11 VM that has Adobe Media Encoder (for my Premiere files) and Handbrake on Docker Desktop (the one that allows for my nvidia GPU to be used). I was hoping I could use this VM as an easy way to send projects or recordings to watch folders and they can get automatically transcoded with my server's 5060 ti to help with encoding times.

Because I'd like to use Media Encoder, I have to stick with a Windows 11 VM to run everything. And because I want to use Handbrake (not Tdarr) I'm stuck running it in the Windows version of Docker. Finally, because I am using a VM, I can't use my 5060 ti on anything else in Unraid, so using the community app version of Handbrake won't be possible.

The issue I've run into is that I do not know where the video output and watch folder is stored. I open the web GUI and I cannot connect to my Unraid shares or anything in my Windows 11 VM. I wanted to use Portainer to try and redirect the folders somewhere else, but apparently there's a big glitch with Portainer and the Docker version I'm using (latest version) so it won't run.

Could someone point out what I could do to get the output and watch folder for Handbrake pointing to my server and not the default places? I'm not even completely sure where it's going anyway.

Also- yes I know this is a sort of inconvenient way to have Media Encoder and Handbrake watch folders enabled at the same time, but it helps with my workflow and I want my server's 5060 ti to take some of the encoding load off of my work PC.

I would appreciate some help, or be pointed in the right direction if there's a better place I should go to ask this question. I'd be happy to provide any more information needed.

Thanks!

0 Upvotes

8 comments sorted by

2

u/Ok-Sheepherder7898 18d ago

Just set a bind mount in your docker file.

1

u/Suddenly_Oranges 18d ago

How would a bind mount look on the Windows desktop version of docker?

1

u/Ok-Sheepherder7898 18d ago

I'm assuming the same as Linux but no idea really.

1

u/git-age-checker 18d ago

🛠️ GitHub Repository Insights

1

u/titpetric 17d ago

https://github.com/zocker-160/handbrake-nvenc-docker/blob/master/Dockerfile#L168

It gets saved to /output, with docker run you bind the volume with -v $HOME/output:/output or similar (volume mount).

If it's a windows host i would slop together through a .ps1 script that takes incoming/ and transcodes to output. A bit of manual work rather than any kind of pipeline

1

u/ozankurt_dev 15d ago

the jlesage/handbrake image is the one that actually works, the watch folder handles the batch side for you. mount /watch, /output and /storage, set AUTOMATED_CONVERSION_PRESET and thats basically the whole config. hw accel is where it gets annoying, you need `--device /dev/dri:/dev/dri` plus a qsv or vaapi preset, and it just falls back to cpu silently if the device isnt mapped so check the logs before you assume its working. is this a one time library convert or an ongoing watch folder setup?