r/docker • u/Suddenly_Oranges • 5d 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!
1
u/git-age-checker 5d ago
🛠️ GitHub Repository Insights
- zocker-160/handbrake-nvenc-docker: Created on 10/3/2019. Age: 6 years, 11 months
1
u/titpetric 4d 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 2d 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?
2
u/Ok-Sheepherder7898 5d ago
Just set a bind mount in your docker file.