I am in the market to build a new home server, it will be on 24/7 and be running Debian 9. Usages are plex, webhosting, storage for family photos etc.
With the plex, we work and travel a lot and I want to be able to have my library accessible for streaming wherever I am on whatever device I am without having to planned it before. Therefore I would like to have enough power to transcode 4k on the fly if so necessary.
I thought I would go with something like a Threadripper 1920X, however, I wanted to check with the community if anyone has experience if this is enough for 4k transcoding of x265? And also, are there any other options for this price class to get something better suited for a server - assuming it can still perform to 4k transcoding?
I would probably look for a GPU that could handle it, not CPU. Especially if you will have other usage for this server. If you put your CPU under full load it will not be able to handle any webhosting for instance. But be wary, transcoding x265 4k is not for the faint of heart and the maturity isn’t quite “there” when it comes to HW transcoding and Plex (10bit isn’t supported, yet, as an example). I think they are waiting to push VAAPI 2.0 to mitigate some of the issues on Linux. Read more here what the current status is and if it might be an alternative for you - https://support.plex.tv/hc/en-us/articles/115002178853-Using-Hardware-Accelerated-Streaming
I had a look at the article and it overall looks good. Not sure if you or anyone else has experience with hardware decoding, but I was wondering:
how bad is the quality degradation vs software encoding?
what GPU would be enough?
For me having a GPU in a server that’s on 24/7 is a bit tough as it adds heat and energy consumption for something I will only do every now and then when on the road. Having it all done by the CPU, seems like a easier solution considering I need one anyway and the power can be used for other things as well while the GPU would only be used for the 4k transcoding. The point about using up 100% of the CPU during transcoding is a good point and not something I had considered…
Please let me know your thoughts here, it would be very helpful. Seems like x265 hevc transcoding is not as easy as I would have hoped!
Right now, the degradation has been reported as huge. Almost at the point of having it running on anything but mobile phone type of screen size is unwatchable. This should be improved with the VAAPI 2.0 if I have understood things correctly (which is “in the works”). The integrated GPU in an Intel CPU should be sufficient, given you chose one of the latest models, but since it is still early days for both HW transcoding (in Plex) and x265 as such - there are, sadly, few guarantees to be held
Ehr, no, no that was not what I was saying. Sorry if I am not making this very clear. Software transcoding (CPU) is painful for even a dual Xeon setup if the resolution is 4K and your bitrate is in the 80+ while trying to transcode it down to, say, 720p 2Mbit on your phone… What I tried implying was that you need to offload it to a iGPU of the latest fashion (with the most support for 10bit etc).
I was just being cautious in this advise so you know the pitfalls and that the whole “4K HEVC with a trillion bitrate” thing is in its infancy. It would be unfair to give advise on a forum like this to you without mentioning that there are currently no guarantees nor perfect solutions for what you are trying to achieve. Sadly, the fact is, that the whole “avoiding the have to plan” and “throw anything at Plex and make it work” is an utopia if you add your variable with “4K HEVC with a trillion bitrate”. Your best option, imho, is to get an Intel CPU of the latest model with the best iGPU you can find and highest benchmark number (within your budget range). Thus you have covered as much ground as you can, and hopefully with time it will work out for you.