Hardware transcoding in Plex with the P2000 and a 2U supermicro dual X5670 server.

Purchase a P2000:
$790 P4000 https://amzn.to/2CW9ucd
$400 P2000 https://amzn.to/2xb0Hgn
$140 P400 https://amzn.to/2xi2Bw0

Video of this article: https://www.youtube.com/watch?v=FmlrfQZ2ExA

 

  • Can a video card transcode better than current generation CPU’s and provide the same or a better experience for your plex viewers?
  • Is this card any better than some of the more powerful gaming graphics cards that others are currently using in their plex servers? What limitations or gotchas might you run into?
  • Is it worth to spend 300-400 dollars on a video card to do transcoding in plex?

With the fairly recent addition of hardware transcoding in plex using your CPU’s to do transcoding in software has become obsolete and with H265 becoming more and more common you will find yourself at a crossroads, benefit from h265’s compression algorithms and save space and money on additional #TB hard drives? Or continue using h264 because your server can’t handle software transcoding with CPU’s? I am going to explain how you don’t have to make that choice keep your h264 content or convert it and embrace h.265 moving forward. I’ll show you how you can leverage a $400 GPU to out-perform most modern CPU’s all while saving you hundreds of dollars per year in electricity.

 

The Test Systems are a 2U Supermicro server with dual x5670 Xeon Cpu’s with 24 cores running at 3.33ghz, it has 72GB of DDR3 memory and a 256GB Samsung SSD for the OS and some of the media. The other System mentioned briefly below is a 1U Intel S2600 with dual E5-2680v2 XEON Cpu’s with 40 cores running at 3.6ghz, it has 200GB of DDR3 memory and a 256GB Samsung SSD for the OS and media.

 

Enter the NVIDIA Quadro P2000 Graphics card. While it’s not the biggest baddest kid on the block it is the first card in the Quadro line from NVIDIA with H265 support that allows for an ‘unlimited’ number of simultaneous streams/transcodes, and it only consumes a maximum of 75 watts TDP. This is probably the most appealing factor for me personally, but more on that later:

What this means is you won’t be limited to 1 or 2 simultaneous transcodes like the entire GeForce line of Nvidia cards. As I’ll show you next, this is critical to the performance of the P2000 and its usefulness in a plex server. Below you will find the first test i ran which was H.265 1080p transcoded down to H264 1080p. Playback quality was set to maximum. I compared the results of the dual X5670 server with HW transcoding turned off, The 6700k (quicksync enabled cpu) with a 980ti, and the X5670 server with HW transcoding ON with the P2000 installed.

 

Here you can see the P2000 absolutely crushed the competition. Even though the 980ti is a much faster GPU than the p2000 and uses a LOT more power it didn’t stand a chance as the 980ti could only give the 6700k CPU¬†an extra 2 transcodes. This is due to the limitation mentioned earlier from NVIDIA on all consumer grade gaming GPUs. The server running dual E5-2680v2 CPUs came in second place, but for the cost of those processors you could purchase a P2000 and save a LOT in electricity. Here is a picture of the average power consumption I see with these CPUs and how much it costs me monthly to run them:

 

I will be covering power in my next video/blog post, but for the sake of this article keep in mind that whatever gains you think you will see from bigger, stronger, faster CPUs; they will be offset by the cost of power at least when comparing them to the P2000 @ 75 Watts TDP. These E5-2680v2’s can be had for a bargain on ebay, but they still cost ~$400-450 for the pair. That is equivalent to what you could spend on a single P2000 and a cheap computer which would net you better performance and less power consumption overall.

Next, you can see a test transcoding 4k H264 to h264 1080p. I achieved only 3 transcodes with the X5670’s and HW transcoding turned off while I achieved 13 transcodes with HW transcoding turned on, I could have likely gotten more out of this setup, but Iran out of clients to test with. the GPU was only at 50% utilization and the CPU was only at ~20%.

Next I tested 4K H265 to 264 1080p. I only got a single transcode with HW transcoding off, and with HW transcoding on I saw at least 13 transcodes, but i think there was more room to go here as well as I again ran out of clients to test with.

Next I transcoded H264 1080p to H264 720p @ 4mbps. With HW transcoding off i was only able to get 10 streams loaded before there was buffering. With HW transcoding ON I saw 20 transcodes before i gave up, I’m sorry but the CPU was somewhere ~70% utilized and the GPU was only up to 38% at this point. It would have definitely required 30-40 streams or more before i pushed this thing to its limits and I simply did not have enough clients to do that.

What about Load times? Well I wanted to see if there was a penalty for running HW transcoding, Do things load slower? What about the loading speed when you click through a file? Below you can see the results from such a test:

As you can see the only real percievable slowness is when you transcode to lowe resolutions, and even then its only REALLY noticable when you’re transcoding 4k down to 720p or something equivalent. This shouldnt be a big deal as you should never be transcoding 4k down to 720p, its really a waste of resources and i think its mostly done by people who dont understand why this is a bad idea.

So what about Quality? Are all the horror stories you read about online telling you the video will end up looking like an early 90’s video game if you use hardware to do transcoding valid? Well below are quality comparisons, I did not notice a difference. You can judge for yourself.

HW transcoding OFF 4k 264 to 1080p 10mbps
HW transcoding ON 4k 264 to 1080p 264 @ 10mbps
H265 1080p to h264 1080p 2.2mbps HW OFF
H265 1080p to h264 1080p 2.2mbps HW ON
H265 1080p to 264 1080p 3.8mbps HW OFF
h265 1080p to h264 1080p hw ON

 

Conclusion

As you’ve seen here the performance with the P2000 is far greater than that of doing the same thing in software with most affordable CPU’s, you save a great deal in electricity/operating costs, and you don’t lose any quality. So why wouldn’t you go out and get a P2000 and start hardware transcoding on that old ENIAC you have in your closet? Well here i will go over some of the gotcha’s that you might run in to:

  1. The P2000 doesn’t come in a half height configuration, it is only a full height card. so if you don’t have space due to a 1u or 2u server this might not work for you.
  2. Hardware transcoding seems to limit the ability to do 4k x265 to lower resolutions with AC3 audio in most browsers. This does not affect other transcoding and probably shouldn’t matter since most people shouldn’t be transcoding 4k for 720p displays.
  3. Other reasons? Please leave them in the comments below!

Leave a Reply