Transcoding: Better to have powerful CPU only or decent CPU with GPU transcoding?

I just want to toss in an opposing viewpoint about Quick Sync: If it’s just one or the other, I’d rather have the strong CPU over the graphics card (though both is the best option of course!). I’ve found it’s both faster and more reliable, by far. I had to disable hardware acceleration after being very excited for its arrival.

  • CPU: Core i3-6100u (Skylake GPU; Intel NUC6i3SYK). 256GB SSD, plus 8GB of memory, which should be fine for my one or two streams max. Data is pulled from a NAS over gigabit.
  • OS is Windows 10.
  • The TV is a 2017 LG with WebOS 3.0 using a wired connection. [Unfortunately, even though the LG can handle both MKV’s and HEVC natively, Plex forces a transcode of all MKV files that are HEVC. This is the cause of multiple posts in Plex’s Smart TV forum, ending with all the users sounding completely defeated. But I digress.]

First, this sometimes gets lost in the equation: If you have any MPEG2 files, such as HD recordings off an antenna, Plex can only decode those in software. Second, if those videos/recordings are 1080i, at last check Plex cannot deinterlace them in hardware (Unless there was an update I missed, I have not checked recent releases). You can’t pick-and-choose what gets hardware acceleration, so HD MPEG2’s are a problem. You can consider Media Optimization instead, though deinterlacing there is still inferior IMO.

Now moving on to AVC and HEVC files. With hardware acceleration enabled, I found the transcode quality to be very reasonable. I’m actually not sure I could have seen the difference in a blind test with a 1080p HEVC MKV. So the quality is solid, big credit to Plex. However, I did run into one showstopper issue. Even though I make sure the Plex server is directly logged in with a monitor connected (a known problem for those of us who use normally RDP), often the HEVC is software-decoded while AVC uses hardware encoding. Walking through the forums gave many recommendations, and none worked.

Whether related or not, I found terrible issues with delays using Quick Sync. Software encoding would take 3-5 seconds max to start playing. Hardware acceleration was regularly 10-15 seconds. The longest was 30 seconds, if you didn’t count the times where it simply sat there forever, and never played and I had to turn off the TV to restart it. The wife acceptance factor dropped like a rock with hardware acceleration enabled.

Worse, if you ever use skip-forward or rewind, you may as well grab a drink.

So in short, I’m in firm agreement with ChuckPA’s recommendation: Get a modern i7, preferably Kaby Lake or Coffee Lake. Skylake is fine too, unless you need 10-bit HEVC decode support in hardware. Those CPU’s also can hardware-encode to HEVC, but Plex does not currently offer that, so it’s irrelevant to your needs. I don’t know if that’s on the roadmap for Plex (it would be a wonderful option for higher video quality while using less data!).

If you buy a modern i7, you can simply try hardware acceleration first via Quick Sync. Does it work flawlessly? Awesome! Does it fail miserably? That’s ok, because you’ll still have a strong CPU. You can disable that functionality, and perhaps revisit it later after future Plex upgrades. Plex is a solid product, but you can run into unexpected issues, and resolving them can be problematic without an official support system.

In my case, that NUC will eventually become a client, and a 6-core Ryzen will take over Plex server duties. Reliability wins.

Nice post @blue-dawgie.

It seems a no brainer to get a new cpu i7 and go on Quick Sync path to see how it works, but like you say on the end of the post moving over to a 6 core (or better) will definitely help the process because cpu power is indeed better than a GPU transcode. But if raw power still beats it will worth to check what older xeon dual cpu machines are still capable of getting since the same path as AMD is applied (no Quick Sync available) so a strong dual xeon maybe can still get the job done and get a nice GPU to help if Plex eventually goes on that path too…

Of course this is just theory but i’ll try to get some tests on this older Mac Pro to see what can be accomplish by raw cpu power despite not having the better cpus on it.

@KarlDag said:
Yes, I had the same experience with my Mac Mini before I sold it. Apparently it’s an OS limitation to only allow 1 stream. That GPU is old though, so it doesn’t support many codecs, that’s probably why a lot of your files don’t benefit.

@KarlDag - Interesting! So if I put Win 10 on the Mac Mini, would I get more than one stream? Or is the iGPU so old that it doesn’t matter anyways.

And also, good point on the iGPU! It shouldn’t matter if you have an i3, i5 or i7, the iGPU is the same regardless, thus the same HW Transcoding ability!

@tchucho said:

Of course this is just theory but i’ll try to get some tests on this older Mac Pro to see what can be accomplish by raw cpu power despite not having the better cpus on it.

Let us know! I was thinking of Dual Xeons originally as well. Would be nice to see what they can actually do.

@“Charlie Mack” said:

@tchucho said:

Of course this is just theory but i’ll try to get some tests on this older Mac Pro to see what can be accomplish by raw cpu power despite not having the better cpus on it.

Let us know! I was thinking of Dual Xeons originally as well. Would be nice to see what they can actually do.

Will do, but keep in mind that this unit is not on the last socket, it’s 1366 so… some power but “oldie” :slight_smile:

My CPU is AMD, so I think I can’t use hardware transcoding, but…

I wondered if a better GPU would held with other things plex related like encoding a video with handbrake or other software. That takes long than I’d like, about an hour for a blueray disk.

Handbrake currently only has a hardware-encoding option for Quick Sync. They don’t support nvidia or AMD at the moment. However, other encoders handle more GPU’s, such as Staxrip. Their learning curve is arguably slightly higher than Handbrake, though.

Plex unofficially does handle hardware transcoding with non-Intel GPU’s. I had no problem when I tested an nVidia card a while back. I’m guessing your AMD probably doesn’t have a supported integrated graphics card, but you could install an inexpensive nVidia card, and it could handle two hardware-encoded streams in Plex, and it could be used in a program like Staxrip at other times.

The nVidia GT 1030 is meant to be an entry-level model, but it’s possibly perfect for media needs. They’re using their most recent core (VP8 aka Pascal). It has support for most modern video codecs in hardware, both encode and decode (in Windows 10; it’s a mixed bag for Linux). There’s a nice post over at the Kodi forum about how powerful it is. It’s a bit more expensive than true cheap entry level, about 70-75 dollars US.

I noted it above, but I wanted to say it again: nVidia has hardware encoding, but imposes a limit of 2 maximum transcodes at a time. So if you’re using it for plex, it’ll fail over to the CPU on the third encode.

If that works for you, the 1030 GT is at least a consideration.

I run a duo xeon 2660 (16core) and did a 20 stream test and nothing skipped out. I have a 6700k with a 970 GPU and saw limits when hitting around 8 videos at 1080p. Both both run on SSD.

@GForce10 very nice! 2x2660 to Do 20 streams its all that it will be required Ehehe if u throw a 4k with transcode how would it hold up? 6700k is probably the limit like you say… 7/8 9 tops…

Been looking for the price of the best cpus to my Mac Pro 4.1(5.1) but without live tests it’s always a bet

@GForce10 said:
I run a duo xeon 2660 (16core) and did a 20 stream test and nothing skipped out. I have a 6700k with a 970 GPU and saw limits when hitting around 8 videos at 1080p. Both both run on SSD.

Yeah but the 970 is limited to 2 streams. Take it out and in sure you’ll be able to do more.

Also, did you control for codecs and bitrates? Was that all the same file being transcoded or various ones?

I have a chance to get a NUC6I5SYK which has an i5-6260U, Iris Graphics 540, 32GB RAM and 850 EVO - 250GB - M.2 SATA III for $700. Sounds very tempting!

@Achilles - I know you use the Skull Canyon which has the Iris Pro Graphics 580 and have amazing results. How would you think the Iris Graphics 540 would compare?

@“Charlie Mack” said:
I have a chance to get a NUC6I5SYK which has an i5-6260U, Iris Graphics 540, 32GB RAM and 850 EVO - 250GB - M.2 SATA III for $700. Sounds very tempting!

@Achilles - I know you use the Skull Canyon which has the Iris Pro Graphics 580 and have amazing results. How would you think the Iris Graphics 540 would compare?
Doing a little bit of algebra against this table might give you a good indicator:
Intel Graphics Technology - Wikipedia

Some tests to give a perspective. No dedicated GPU on this server. Forced the transcode down to 2Mb. Transcoder quality - Auto and the background transcode is set to Faster.





same file on a mac pro 4.1 with the oldie 2,26 Xeon (2 cpus). Think that this is the max for this 2. Will check to see if price for upgranding to 2x3,33 is a little better now.

Thanks everyone! I ended up getting a good deal on a i7-6700. Will set it up and see how it does!

Will I see a benefit to transcoding if I buy 8GB more RAM for 16GB total? Is it worth going to 32GB? Was thinking since it’s iGPU, it makes use of RAM for video memory, no?

@“Charlie Mack” said:
Will I see a benefit to transcoding if I buy 8GB more RAM for 16GB total? Is it worth going to 32GB? Was thinking since it’s iGPU, it makes use of RAM for video memory, no?
If you plan on using HW transcoding for h264 to h264 streams, this is a zero-copy approach. Every other codec used as a source is using software decode at the moment—so it would use RAM during the transcode.

How is the 6700 holding up?

@tchucho said:
How is the 6700 holding up?

So far so good. I haven’t had a chance to try and hammer the system yet. I was hoping on the weekend to get my friends and family to hit the server all at once and see what happens! :smile: I’ve been going Plex server crazy. I just bought a WD My Passport Wireless Pro 3TB as it runs Plex Server and I can stream it to tablets in the car for the kids on long road trips!

@tchucho

I have the i7-6700 in my QNAP. I played 4K -> 2K, 50+ Mbps -> 20 Mbps, transcodes on everything in the house (6 instances) including tablets & phones and it didn’t flinch. I actually ran out of players to add. Networking, I/O and CPU were not the problem