Nvidia Quadro vs GeForce vs AMD for 4K HEVC Hardware Transcoding

Hi All,

Sorry if this has been asked before, but has anyone successfully used an AMD GPU to transcode 4K HEVC yet? I am starting to build a collection of 4K titles and I’ve discovered that if one of my plex users selects a video that happens to be 4K it pushes my system to its limits. I find that it can handle 1- 4K stream and maybe 1-2 1080P simultaneously despite being below the recommended passmark. In my limited testing, playback of 2- 4K files was a no-go, where the playback would alternate between fileA playing and fileB buffering.

I recently moved from a Linux-mint VM install to Windows10 (non-VM) in order to take advantage of the new hardware transcoding in Plex and for 1080P/H264 files I have had some success with a GTX 780 and i7-4790 (non-k) - a few issues with SD playback (documented elsehwere on these forums) but great results for a beta!

I have sold my GTX 780 and am looking to buy a new GPU that can handle 4K HEVC in hardware. I am looking for some suggestions, hopefully someone on the inside reads this and can give some input. So far my choices are:

  1. Nvidia GTX 1060 (limited to 2 streams)
  2. AMD RX 480/580 or 570/470 (anyone know if these work in plex?)
  3. Quadro P2000

If I go the route of GTX 1060 and I hypothetically have 3 streams at once: 2 x 4K and 1 x 1080P, will Plex know to use the 1060 for the 4K streams, or is it first-come-first-served?

Minor edit This PC is used almost exclusively for Plex though I do use it for light gaming. What happens if I am playing a game and someone starts using my plex? I would prefer to avoid the purchase of a Quadro if possible due to cost concerns.

My full specs:

i7-4790(non-k)
32GB DDR3
MSI Z87 Motherboard
Samsung 250GB SSD, Intel 180GB SSD, WD Black 2TB
EVGA SuperNova G2 750-watt PSU

1 Like

Plex only uses Quick Sync video for hardware encoding, which to my knowledge is only capable on **Intel ** CPU/GPU chipsets.
Reference Getting Started:System Requirements - https://support.plex.tv/hc/en-us/articles/115002178853-Using-Hardware-Accelerated-Streaming

Hi JamminR,

I have already read that announcement, but reading it to the end:


If your Windows computer also has a dedicated graphics card, such as an NVIDIA or AMD GPU, some functions of Intel Quick Sync Video may become unavailable when the GPU is in use. If your computer has one of these GPUs, please install the latest NVIDIA drivers for Windows or AMD drivers for Windows to make sure that Plex can use your dedicated graphics card when Intel Quick Sync Video becomes unavailable.

I have seen this in action on a GTX 780 for h264 media. This is part of what makes the shield such an attractive Plex server. It seems that nobody here or on the Reddit Plex community has tested with an AMD GPU.

I was able to find a RX570 for a decent price online and will report back with my findings.

I’ve been doing a lot of experimenting with this recently. As far as I can tell the only difference doing full transcodes performance wise between the quick sync igpu and using nvidia is actually the codecs they support. The P2000 will handle all codecs for you except for VP8, also supports passthrough for a virtual environment setup, and finally unlimited encoding streams is nice. As for the CPU end of things, you’ll want a CPU with a igpu that can handle the h265 decode/encode, as far as I know skylake received full h265 8 bit support and a “hybrid” 10 bit support. Probably need kaby lake cpu for full hw support for 10 bit.

Thing is, even though you spend all that time with a nvidia card setting up drivers to work on a headless system without needing to install a bunch of other xserver crap, figure out how not to break the igpu drivers, etc… the nvidia gpu will only do encoding, you’ll still end up burning cpu for the decoding portion. Only intel gpu quick sync supports full transcoding on plex right now. Not sure why they do that, I can get ffmpeg doing full transcoding while running ffmpeg manually, though I never got around to messing with scaling, so probably something to do with that and the zero-copy error it gives when looking for gpu’s.

There are other annoyances too. If you’re on a vm and don’t want to disable your console window, you end up with /dev/dri/card0 as the vmware svga adapter rather than the igpu, and vainfo (vaapi) doesn’t like that. It wants the intel gpu to be card0. You’d need to grab the latest (not yet packaged in a ppa) version of vaapi that supports the --device flag to target the proper device, and even so, plex doesn’t look for it so will fall back to software rendering since it thinks vaapi is broken.

Sorry, didn’t have any AMD cards to play with and test.

Anyways, I’ve given up on looking to upgrade my content to 4k for now since I’m using an old 4790k cpu, it’s ok for 1080p transcoding.

Hi Kyse,

Thanks for sharing your experiences so far! Previously I was on the same hardware as my OP but running ESXI 6.0 with plex running on a linux-mint VM. My move to a physical Windows install was to avoid some of the passthrough woes that I was having with the igpu. For similar cost to the P2000 I could probably just buy an Intel NUC with a Kabylake i3/i5 and be done with it.

My RX 570 is being shipped but is still a week away, I will post an update in two weeks or so with my testing. Since my CPU is same-gen as yours it will be interesting to see if I can manage more than 1 x 4K transcode.

I was actually thinking about grabbing a P2000 or P4000 recently. That’s a good thought on the kaby lake nuc though. Only thing I’ve wondered against is if there are any performance issues with having to access my media drive through a samba share. I’ve also considered setting up a second plex instance on a different cpu just to handle 4k stuff. But that seems like overkill.

The way that article is written seems to indicate to me that Intel’s QSV is required, even if a non intel dedicated gpu is installed.
I guess I too am now curious to know whether or not HW streaming is possible using other hardware.

@JamminR said:
The way that article is written seems to indicate to me that Intel’s QSV is required, even if a non intel dedicated gpu is installed.
I guess I too am now curious to know whether or not HW streaming is possible using other hardware.

People were using AMD cards and Nvidia cards during the preview releases, but they’re officially unsupported for now and only work under Windows. And only for encoding I believe. No need for quicksync for that.

@kyse said:
I was actually thinking about grabbing a P2000 or P4000 recently. That’s a good thought on the kaby lake nuc though. Only thing I’ve wondered against is if there are any performance issues with having to access my media drive through a samba share. I’ve also considered setting up a second plex instance on a different cpu just to handle 4k stuff. But that seems like overkill.

I have not had any issues whatsoever with having my media on a network drive, as long as you are on a wired gigabit network I would imagine the system would have other bottlenecks long before you saturated gigabit. Wifi might be a different story as actual throughput is much less than the connection speed the device reports (144mbs Wireless N for example)

My understanding with plex is that there isn’t tonnes of IO across the network during a transcode… It looks like you have quite a bit of storage, is it all local? Seeing as you are already setup with vms it wouldn’t be a huge stretch to setup a vm to act as a NAS/SAN. Maybe even a VMware appliance to give dedupe a try.

Just a quick update:

My rx570 arrived today, I installed the card and the 17.11.1 catalyst driver - I also saw an update for plex server with 10-bit support in the release notes so I installed that as well. I was able to playback 2 x 10bit 4K files simultaneously using android phones as the clients. My CPU usage stayed low, about 40-50% so this seems to indicate that things are working as they should.

I updated to Catalyst 17.11.2 and CPU usage lowered further to ~35%

Under 17.11.1 driver plex was showing “Transcoding HEVC (HW) to H264 (HW)” - but now under 17.11.2 the first HW is missing. Seems to be working anyway, as my driver and plex version are both beta I am not too concerned. I have not tried seeing how many simultaneous 4K or non-4K streams this can manage but things are definitely improved! I will try to attach some screens.

Additional screenshots:

@tjs4ever said:
Just a quick update:

My rx570 arrived today, I installed the card and the 17.11.1 catalyst driver - I also saw an update for plex server with 10-bit support in the release notes so I installed that as well. I was able to playback 2 x 10bit 4K files simultaneously using android phones as the clients. My CPU usage stayed low, about 40-50% so this seems to indicate that things are working as they should.

I updated to Catalyst 17.11.2 and CPU usage lowered further to ~35%

Under 17.11.1 driver plex was showing “Transcoding HEVC (HW) to H264 (HW)” - but now under 17.11.2 the first HW is missing. Seems to be working anyway, as my driver and plex version are both beta I am not too concerned. I have not tried seeing how many simultaneous 4K or non-4K streams this can manage but things are definitely improved! I will try to attach some screens.

The first HW is decode, the second is encode. Meaning on your second transcode the file was decoded by your CPU and the re-encode was done in HW on your GPU. Would have to see the logs to figure out why that happened. Was it the same file or a different one? Some codecs (VC1 for example) might not be supported in HW on that GPU.

I’m testing with the same three files each time: all three are 4K and 10-bit HEVC.

Today plex reports HW for both decode and encode and CPU usage is roughly the same. I suspect that more a bug in what plex is reporting. My next steps when I get some time will be to try and max it out. It looks like plex isn’t falling back on the CPU once the GPU is maxed.

I’m surprised to see Plex using the dgpu for hw decoding. Thought only quicksync worked for the decoding side.

Hey, im am working on a new Server Setup and there are no new E3 v7 with integrated graphics right now so i am heading to a Epyc or a Xeon Silver. Probably i will add an additional GPU.
What GPU would you recommend? How many streams Can AMD GPUs trancode? Geforce are only capable of 2 so if i want to use an nvidia GPU i will buy an Quadro P2000.
Any update on the compatibiliy for Hrdware Transcode? I will use Sever 2016 Essentials.
Thanks for the Help!

@tjs4ever said:
I’m testing with the same three files each time: all three are 4K and 10-bit HEVC.

Today plex reports HW for both decode and encode and CPU usage is roughly the same. I suspect that more a bug in what plex is reporting. My next steps when I get some time will be to try and max it out. It looks like plex isn’t falling back on the CPU once the GPU is maxed.

Hi,

did u managed to max out the streams?

Thanks