When would GPU transcoding be necessary?

I got a i7 4790k CPU… I will fill-up the drives with new 4k content… I been thinking about getting a GTX 1070… But I guess it would be pretty much an overkill even for 40 GB files? Except if many users will stream at the same time? Right? How many users? 2? 10?

And GPU transcoding will sink the image and sound quality while CPU transcoding won’t… Right?

BTW, you know when GPU transcoding will be out of BETA? Soon? Yet?

Maybe I’m way off base on how Plex is implementing hardware transcoding, but GPU video encoding/decoding doesn’t actually use your GPU, it’s using a dedicated IC/silicon that is usually separate from the GPU die. There’s no difference in performance whether you get a 1080Ti or a budget GPU.

Spending a bunch of money on a GPU for inferior quality of hardware acceleration is just silly. Spend the money on a nice multi-core CPU for transcoding. For 4k though your best options is to simply never transcode in the first place.

You really should go read pages from the HW transcoding thread, it has all been discussed over and over and over again.

I disagree with @freeskier93, I think adding a GPU is a much cheaper option than changing your whole cpu/motherboard/ram setup and you’ll see great gains when HW transcoding is introduced… But who knows when that will be.

I sort of agree that a 1070 is overkill, but I believe a lower tier card WILL be somewhat slower because the devs responsible for project have said before that transcoding speed progresses linearly with GPU speed…

That said, I’d definitely go for an AMD card (or a Kaby lake cpu) because Nvidia GPU s are limited to 2 HW transcoding sessions at once, even if there is power to have more going on…

@KarlDag said:
You really should go read pages from the HW transcoding thread, it has all been discussed over and over and over again.

I disagree with @freeskier93, I think adding a GPU is a much cheaper option than changing your whole cpu/motherboard/ram setup and you’ll see great gains when HW transcoding is introduced… But who knows when that will be.

I sort of agree that a 1070 is overkill, but I believe a lower tier card WILL be somewhat slower because the devs responsible for project have said before that transcoding speed progresses linearly with GPU speed…

That said, I’d definitely go for an AMD card (or a Kaby lake cpu) because Nvidia GPU s are limited to 2 HW transcoding sessions at once, even if there is power to have more going on…

My point was more if the OP is willing to spend $400-$500 on a 1070 then for the same money you can get get a 8C/16T Ryzen + motherboard + RAM. IMO this is a better set up. Yeah, if you want a cheap setup to handle transcoding then using hardware decoding is a good way to go, but you are sacrificing video quality to decode/encode in real time. If you have the money to spend I’d rather spend it on a nice machine that can handle the software transcoding.

So it looks like Plex is using actual hardware acceleration, I assumed they were doing offload and using the dedicated encoders/decoders on the GPU. For Windows they are using DXVA which dumps the heavy calculations onto the GPU.

I haven’t fully dug through the whole HW transcoding thread but I’d also guess a 1070 is pretty overkill. There tends to be a lot of diminishing returns with GPU hardware acceleration, so something lower end is going to give you better performance/dollar.

I might have to do some experimenting now with my R9 Fury.

EDIT: Installed a build with hardware transcoding and tested with some higher bitrate HEVC files. With no hardware transcoding CPU would peg out at 100% until it got ahead on the transcode then go between 5% and 80%, this is a Xeon E3-1231v3.

With hardware transcoding enabled I was at no CPU usage and I could see the GPU getting hammered (I’m on the latest Windows 10 Insider build which shows GPU usage in Task Manager). Couldn’t tell a difference in quality, which isn’t surprising since the source is high bitrate.

What it looks like is DXVA is being used to hardware accelerate the decode but encoding is done by the GPU encoding block. Higher performance GPUs will mean better decoding performance but encoding is all going to be the same. To bad the build for hardware transcoding is really far behind. I’ll be sticking with the latest build for now. It would also be really nice if they implemented the ability to hardware decode but software encode, since there is no loss of quality to hardware decode.

@freeskier93 said:
So it looks like Plex is using actual hardware acceleration, I assumed they were doing offload and using the dedicated encoders/decoders on the GPU. For Windows they are using DXVA which dumps the heavy calculations onto the GPU.

I haven’t fully dug through the whole HW transcoding thread but I’d also guess a 1070 is pretty overkill. There tends to be a lot of diminishing returns with GPU hardware acceleration, so something lower end is going to give you better performance/dollar.

I might have to do some experimenting now with my R9 Fury.

EDIT: Installed a build with hardware transcoding and tested with some higher bitrate HEVC files. With no hardware transcoding CPU would peg out at 100% until it got ahead on the transcode then go between 5% and 80%, this is a Xeon E3-1231v3.

With hardware transcoding enabled I was at no CPU usage and I could see the GPU getting hammered (I’m on the latest Windows 10 Insider build which shows GPU usage in Task Manager). Couldn’t tell a difference in quality, which isn’t surprising since the source is high bitrate.

What it looks like is DXVA is being used to hardware accelerate the decode but encoding is done by the GPU encoding block. Higher performance GPUs will mean better decoding performance but encoding is all going to be the same. To bad the build for hardware transcoding is really far behind. I’ll be sticking with the latest build for now. It would also be really nice if they implemented the ability to hardware decode but software encode, since there is no loss of quality to hardware decode.

Hi,

so its needs to be a 10xx gen card to get GPU hw acceleration correct? Nothing from GTX 9XX will help?

Thanks

@tchucho said:

Hi,

so its needs to be a 10xx gen card to get GPU hw acceleration correct? Nothing from GTX 9XX will help?

No. I have h/w acceleration with my GTX 750Ti (Maxwell architecture). However, it is h264 only as my card does not support h265. More recent Maxwell and Pascal cards support h265.

Also, remember that Nvidia limits their consumer cards to two simultaneous encodes and two simultaneous decodes. Once you exceed that number, Plex will transcode via the CPU.

@FordGuy61 said:

@tchucho said:

Hi,

so its needs to be a 10xx gen card to get GPU hw acceleration correct? Nothing from GTX 9XX will help?

No. I have h/w acceleration with my GTX 750Ti (Maxwell architecture). However, it is h264 only as my card does not support h265. More recent Maxwell and Pascal cards support h265.

Also, remember that Nvidia limits their consumer cards to two simultaneous encodes and two simultaneous decodes. Once you exceed that number, Plex will transcode via the CPU.

Better to upgrade the i5-6500 to i7-7700 and try to get any recent RADEON card… seems the safest bet

If all you’re wanting is a PMS server with occasional video transcoding then use the integrated GPU and pick an i5/i7 that handles h265 (not sure if that began with 6xxx/7xxx/8xxx) and you’re done. Might even be able to use a SFF PC such as Gigabyte Brix or Intel NUC.

AFAIK, there are no set limits on number of simultaneous encodes/decodes using the integrated GPU in Intel CPUs. There definitely wasn’t in earlier beta builds. I had six 1080 -> 720 transcodes going at once, all handled by the GPU in my i7-4790K (Windows 10 system). There’s surely a practical limit, but I didn’t reach it.

I rarely have to transcode, so haven’t recently tried to stress test the capabilities of my GPU or iGPU.

Just saying think about requirements before throwing down a ton of money on a high end GPU when you may not need it.

For a dedicated PMS system that’s also used for Handbrake and similar tasks, more/faster CPU cores with an iGPU (Intel) may serve you better than a lesser CPU with a big GPU.

If you’re also going to game on the system then yeah, you’ll want a decent GPU. Given the limits on Nvidia consumer GPUs, AMD may be the better choice.

@FordGuy61 said:
If all you’re wanting is a PMS server with occasional video transcoding then use the integrated GPU and pick an i5/i7 that handles h265 (not sure if that began with 6xxx/7xxx/8xxx) and you’re done. Might even be able to use a SFF PC such as Gigabyte Brix or Intel NUC.

AFAIK, there are no set limits on number of simultaneous encodes/decodes using the integrated GPU in Intel CPUs. There definitely wasn’t in earlier beta builds. I had six 1080 → 720 transcodes going at once, all handled by the GPU in my i7-4790K (Windows 10 system). There’s surely a practical limit, but I didn’t reach it.

I rarely have to transcode, so haven’t recently tried to stress test the capabilities of my GPU or iGPU.

Just saying think about requirements before throwing down a ton of money on a high end GPU when you may not need it.

For a dedicated PMS system that’s also used for Handbrake and similar tasks, more/faster CPU cores with an iGPU (Intel) may serve you better than a lesser CPU with a big GPU.

If you’re also going to game on the system then yeah, you’ll want a decent GPU. Given the limits on Nvidia consumer GPUs, AMD may be the better choice.

@local network i dont transcode, everything is direct play but when family comes into the mix… smartv’s and some iDevices… so they do transcode quite a lot and when they see a shiny 4k movie and want to play it on a older smartv despite saying not to do so… but hey… family is family :slight_smile:

I wonder if this is the issue I’m hitting. Hardware Acceleration is a horrible experience for me. Software encoding seems far superior.

I have an Intel i7-6700, but a pretty low end Nvidea GeForce card. Under normal circumstances, the Nvidia is just barely a step up from the onboard. Would it skip over the internal onboard video in favor of the woefully underpowered GPU which could contain a lesser standard for transcoding?

It’s perplexed me since day one why Hardware Acceleration wouldn’t work favorably for me.