I built a PMS server from spare parts a few months ago and ran it on Ubuntu and eventually switched to Unraid (to force GPU usage for hardware transcoding, easy containers, amongst other features). The server specs:
- Motherboard: Alienware 0PGRP5 (pulled from an old prebuilt Alienware desktop)
- Memory: 16GB DDR3 Memory (unfortunately max supported by motherboard)
- GPU: NVIDIA Quadro T400 (with driver hack)
- CPU: i7-4790 @ 3.6GHz
- Storage: 500GB Samsung SSD
I have all media hosted on an 18TB NAS drive (gigabit ethernet everywhere), using ~7.4TB (if that is relevant). I have my Plex server set to detect intros and generate preview thumbnails for all media.
The media I am hosting consists mainly of MKV files in H.264/5 format, most with dual-audio in several different formats (some being full DolbyAtmos, TrueHD 5.1, regular stereo, and others). I also have media in 4K (that has been pre-transcoded to 1080p for when transcoding is needed). The majority of this media has dialogue subtitles (ASS format) that are constantly being displayed (i.e. subbed anime).
I currently do not have gigabit upload, so transcoding is almost always required for remote users (even if required by just a few Mbps from the original quality). I decided to buy a GPU for hardware transcoding because I noticed here that the iGPU does not do a very good job at hardware transcoding (this was the case in numerous other scenes across other formats and filetypes)—not sure if just because my CPU is old or if the iGPU is not meant for this type of load.
I also noticed that the CPU still peaks significantly when transcoding some media. I am assuming this is to transcode audio (to my knowledge, TrueHD and DolbyAtmos are not the “lightest” tasks to transcode). However, on other media, usage increases by less than 5% (assuming to process the act of streaming media).
I am aware that Direct Play is the best route to go in any circumstance but unfortunately is not always available in my situation.
Extra info that didn’t fit anywhere: I usually have 1-3 transcoded (1080p) streams running regularly. This number would be higher (and would include 4K), but I do not have enough upload bandwidth currently.
That being said, my questions are (ignoring bandwidth limitations):
-
Is this a fairly good server build? It has gotten me by with little to no issues with transcoding and available resources thus far.
-
Is there any way I can improve my audio transcoding (other than buying a new CPU)? I believe that is the source of my CPU usage spikes.
-
What parts should I upgrade (ofc everything—I have plans to rebuild it entirely eventually)? I believe my GPU is suitable for what I am trying to do, but I realize that will need to be upgraded eventually as well.
Thanks for reading all of this and for your feedback in advance.