[Guide] Hardware Transcoding: The JDM way! QuickSync and NVENC

This is a very nice write-up, and I can see this being super useful for anyone building a small/medium sized Plex server. But for anyone who needs a larger core count (You need the Xeon E series to even get 8cores/16 threads and they aren’t cheap), NVDEC is really the only option one has. AIO home servers are becoming more and more popular as they are so much more manageable than having multiple hosts. I myself used to run a 4-node vSAN cluster at home, now just a single AIO server gets the job done while freeing up my time (what little of it I have with a 1 year old running around). But I need a high core count for VMs.

But I digress. The point is NVDEC on a cheap consumer card is very effective for anyone building a larger core count all-in-server. I use a GTX 1660 for the Turing encoder. And it only uses roughly 20-30w when under heavy trancoding load.

2 Likes

You can get coffee lake i9 cpu’s that have 8c/16t and are lower cost than their Xeon counterparts. Coffee lake i7 are 8c/8t and are even lower cost. I have a large UNRAID 16c/32t 256GB RAM box and currently running plex in a container. Currently building a HP 290 ($120) [Official] HP 290-p0043w Owner's Thread that comes with a coffee lake dual core 3.2ghz celeron that can encode/decode 21 1080p streams at a very low power draw. I am going to move my plex server to this box and connect via 10G to my UNRAID box for media access. This will allow me to move this currently inefficient CPU bound process off of my unraid box and potentially either move to a more efficient unraid box or use those cores for other tasks.

The i9’s are not really any cheaper than than the Xeon E-2x00 series chips. Also, you’re stuck with dual channel memory and only 16 PCIe lanes. Sure this is all fine if all you need is a simple Plex/storage server and nothing else. But for those of us running VMs (especially with passed through GPUs) and/or want lots of fast storage (NVMe’s), then a desktop series CPU is just not going to cut it. As I said, that works fine for a lot of people who either need just a basic storage server or want to run their services across multiple pieces of hardware. For those who want one high performance all-in-one storage/VM/Media server, a more server level CPU with more cores, memory channels, and PCIe lanes are necessary.

@KC8FLB I also currently run my server on Unraid. I’m running an EPYC 7302p CPU and use a GTX 1660 to do all my transcoding. It can handle 20 1080p transcodes with the latest Turing encoder and rarly uses more than 20-40w even under heavy load.

1 Like

So I have the following hardware that I will inevitably replace in due time:

  1. A desktop with an i7-4790k + GTX 1080 + 16GB ram,
  2. A minimum specs Dell XPS 13 7590: i5-6200u with a weak iGPU.

Currently I have Plex in a Docker on my Unraid box that is on a E3-1230v2 and a very convenient motherboard for unraid.

Would it be worth at all to transition either the desktop/laptop to offload Plex in the future when I do upgrade them, or just sell them off and get a P2000 or its future equivalent?

Have you considered the HP 290 instead? It’s much cheaper than a P2000.

I think this has 6th gen quicksync, but you could probably sell it for more than an HP290 (with 8th gen quicksync) and use that as JDM suggested.

1 Like

Hmm is there a rack mountable alternative? Or I guess it’s small enough to just get a rack shelf for…

Would you say the HP290 is better than just taking the GTX 1080 and putting it in a current Unraid setup for HW transcoding?

Absolutely.

Thanks for the guide! I’ve been using it to much success, but I wanted to convert (optimize) my 4K files for those folks who don’t have the ability to direct stream it. I was going to use the Plex optimize function, but it says “Converted files cannot be written to the server’s disk”.

I’m mounting the directory using the following command:
192.168.1.15:/mnt/user/plex_version /mnt/plex_version nfs defaults,noatime 0 0

Do I need to use a special tag to make it read/write in fstab?

Thanks!

Regardless of your current inability to write to the share, transcoding 4K will strip HDR and cause it to tone map incorrectly. It looks quite awful. It’s better to obtain 1080p content and not share 4K.

Your network share permissions issue is likely unraid based.

1 Like

I agree with JDM, you would be better off obtaining proper 1080p copies of your media versus “optimizing” the 4K files. But to answer your permissions question, if you followed JDM’s guide above to the letter, the NFS exports from unraid are exported in read only mode.

It is possible to update the unraid export settings to give your Plex server read/write access on a share by share basis. When you set the NFS security to Private, a new setting, Rules showed up. If you enter the IP address of the Plex server, followed by (rw), the server will be able to write to the share, example 192.168.1.10(rw). You can add additional IPs separated by spaces, example 192.168.1.10(rw) 192.168.1.20(rw). One last note, when you specify IPs in this way, they are the only IPs that can access that NFS export. If you want other systems to be able to access the NFS exports, you will need to add *(ro) after the last IP.

Thanks for the comments and recommendations. I’ll seek out 1080p content. I suppose the best bet is to create a new 4K only share that doesn’t get shared to outside folks.

2 Likes

Snagged a HP Pavilion 590-p0033w with the i3-8100. I’m not planning on using this for anything else besides Plex Media Server. Do I need to install unraid or can I just install Ubuntu?

1 Like

Follow the software setup guide for Ubuntu above.

Before looking at this guide I added an open box Nvidia Geforce 1660 6 GB to my Windows box with a 4th gen I5 and 32 GB of ram that doubles as a Hyper-V box with a few light Windows and Linux VMs. This either works and has 100% HW transcoding, or it has tons of issues, way to finicky for the amount of us on my Plex server.

I don’t currently want to swap that box to a different hypervisor/core OS so I plan on transferring my Plex server data and running to Microcenter, returning the 1660 and picking up an I3-9100 and an open box Gigabyte Z390I ITX motherboard and using some extra 16 GB sticks of DDR4 and an SSD I have laying around to setup Ubuntu with IQS according to your post.

Is there anything I need to be wary of with a 9th gen I3 4 core? I saw that you mentioned that the IGU in say a 9th gen I3 vs the top end 9th gen I7 is either none or minimal and it only changes the CPU power that comes into play. I’d imagine 4 cores at 4.2 Ghz should be plenty on a dedicated Ubuntu Plex box.

Thanks for this awesome guide! I’ve been running a Plex server for 6+ years and every iteration has worked but compared to how well it could be running based off your guide, they’ve been running very poorly, excited to have a snappy Plex server!

Thanks,

Nick

I know is a late post, but it is possible. Check spaceinvaders in youtube

After getting my media library permissions resetup for NFS/Linux from Windows/NTFS/SMB I’ve got things running great, but I’m not sure if I’m actually using Intel Quick Sync or not. despite all videos showing (HW) next to both Encode and Decode. As a note I am running Ubuntu 19.04 SERVER version, rather than Desktop with the GUI.

Below is a screenshot of some random 4k > 1080P transcodes and a single 1080 > 480 on my cell phone WAN. It looks like my CPU is getting pretty higher there and I notice that in the Process Command that it shows -hwaccel: 0, does this look like it’s working correctly? Again the performance is amazing, 0 sutters/buffering pauses, buffers super quickly and video looks very good.

Please let me know if this looks out of order at all.

Thanks,

Nick

So I have a huge 4k library, no possible to get 1080p replacement. What would b my best build for a plex server? Currently im running docker in unraid with 1050ti passthrough for he recode. I use emby more than plex btw.

Your’re transcoding multiple 4K streams, which strips HDR in Plex and does not tone map correctly.
Transcoding 4K not only looks awful, but it is a huge resource hog.

Stop sharing out your 4K content, only share out 1080p.

Got Ubuntu installed on the HP 590 (i3 8100, 500GB NVME). Getting plex functioning properly on Ubuntu wasn’t that hard but I still have a lot to learn about this. I’m having so many issues with my Win10 PC and sharing the drvies with my media across the network. I followed multiple guides and can’t get access on other PC’s. Probably just going to do a NAS Killer build and hopefully I’ll have more luck with FreeNAS/ZFS.

I could get 14 1080p ~10MB/s hardware transcodes to my gaming PC before maxing out on gigabit ethernet. The i3-8100 was sitting at around 40% usage. I used a sample x264 1080p 10-bit 55MB/s video as my test.