I’m currently using Handbrake on a windows 11 installation of a desktop computer. I am planning on turning this desktop computer into a NAS and media server to replace my current raspberry pi 4 system. Handbrake works great on this computer, but I was wondering how I could use Handbrake on this system after I convert it into a media server.
Given that I wouldn’t normally have a GUI to work with for Ubuntu Server, would it make more sense to install Handbrake in a ProxMox VE container, or should I use the docker version of Handbrake? Would there be a performance impact if I were to use the docker container?
The docker container has a web UI, while if I were to use ProxMox, I could have a full fledged OS to work with.
You can run tdarr which is automated transcoding.
Perhaps you should consider the command line app ffmepg. You can then write a script that handles transcoding without the need for a GUI.
I wouldn’t wish using ffmeg on my worst enemy. The cli requires a sophisticated understanding of encodings and codecs which makes writing a general “I want to rescale things” script weirdly complicated.
The cli options seem to change as well since I rarely am able to run a ffmpeg line found in the wild with any success. Some systems even ship “avconv” instead which makes this even more exciting.
/rant
I had the pleasure recently to create an ffmpeg command to transcode a video into HEVC 10bit with quicksync.
I had tha previously running completely fine on my Nvidia GPU. You would think that it would just be replacing the parameter which device or hardware acceleration to use.
Yeah, turns out that there are like 4 ways to set the quality value of the transcoded output, CRF didn’t work for some reason with quick sync so you need to use global quality or something. I spend days on this trying to figure this out, DAYS.
It is a very powerful tool but every time I have to use it, it is too complicated and I have to spend hours or days to get it working.
I feel this comment in my bones. I decided a long time ago that if the solution to my problem was “use ffmpeg” then the problem wasn’t worth solving. I just have more that I want to do in life than google the parameters of some ffmpeg plugin and reading wikipedia on the theory of digital video encoding to even know what CRF is, do I want it, and is “9” the value I want for it?
… or handbrake-cli
Seconded
I think you’re probably better off using something that’s build for media servers. One really nice feature is adding more processing nodes to make things go faster, like a gaming PC while not playing anything. I don’t think Handbrake can do that by itself.
I just finished setting up transcoding for my media library, and the options I found were Tdarr, FileFlows and Unmanic. They all use ffmpeg and/or Handbrake under the hood, so it kinda comes down to preference. I went with FileFlows because it seemed the most intuitive to me, and it can also process other media like photos, music, audiobooks and ebooks.
I was going to suggest there should be a way to run handbrake locally while pointing its under-the-hood functions to handbrake-cli (also, yes, there’s handbrake-cli) hosted on your server, but I found this instead:
https://medium.com/@joshuaavalon/encode-video-with-handbrake-on-server-17b6127f6ac7
godsspeed, OPIn case your Lenny client concatenates the dot to the link like mine: https://medium.com/@joshuaavalon/encode-video-with-handbrake-on-server-17b6127f6ac7
ffmpeg
Tdarr is the way to go
Container should have negligible overhead, the main problem you’re going to see is where the in/out files are located and shared. Another plus there for docker, can map that volume to anywhere.
If you need a GUI, then handbrake with a web version sounds great, when I did it years ago they didn’t have it.
Since then, I’ve learned ffmpeg and use that regularly and can schedule jobs well now. Definitely more advanced, but more built for server applications.
Not really any performance impact from using it in docker.
But you could also use ffmpeg as that’s what handbrake uses under the hood IIRC.
What are you using it for