Will PMS use an Nvidia GPU for HEVC 10bit decoding?
I have installed a GTX 1050ti and enabled hardware decoding expecting PMS to then use the GPU for x265 decoding, but can only see it doing hw encoding to h264 during the transcode process.
The intention was to stop the CPU grinding away at 100% struggling to transcode HEVC 4K -> 1080p - but this hasn’t made any effect and the CPU still sits at 100%.
Last I checked (like a year ago) Plex used its own modified ffmpeg version, which was heavily outdated due to it having changed too much from the original. I’m surprised to read Plex now does HW decoding on x86, but if Plex is still using a custom ffmpeg version, I wouldn’t get my hopes up on them supporting HEVC 10bit anytime soon.
@“MovieFan.Plex” said:
Plex does not utilize the gpu for decoding, only for encoding.
So when playing a 4k hevc 10bit mkv in 20mbps 1080p to force transcoding, it will not use the GPU for hevc even though the GPU supports it? I thought that was one of the major points of the hardware transcoding feature?
Hardware-Accelerated Streaming has a number of advantages:
High-quality videos, especially 4K and HEVC videos, can stream more smoothly.
By offloading CPU-intensive transcoding tasks to dedicated hardware, video streaming has less of a performance impact on your computer.
Hardware-accelerated decoding
Video files with H.264 or HEVC video can take advantage of hardware-accelerated decoding. When hardware-accelerated decoding is not compatible with a video file, Plex Media Server will automatically use normal software decoding.
On Linux, hardware-accelerated decoding is not supported on NVIDIA GPUs. Intel Quick Sync is required for hardware-accelerated decoding.
Hardware-accelerated HEVC 8-bit decoding on Windows and Linux requires a 6th-generation Intel Core (Skylake, 2015) or newer.
Hardware-accelerated HEVC 10-bit decoding on Windows and Linux requires a 7th-generation Intel Core (Kabylake, 2016) or newer.
Hardware-accelerated HEVC decoding is not yet available on macOS.
Some devices have additional limitations on hardware-accelerated video decoding. For example, limiting to a certain resolution (1080p or 4K), limiting frame rate, limiting video profile, or limiting chroma subsampling.
That document doesn’t say that the GPU will be used for decoding. If you look at the chart at the bottom, it does not list GPU under the decoding column.
Edit - To be clear. Hardware accelerated != GPU The GPU is just one method.
The decoding support in the GPU is for decoding video for display to the connected monitor. If you use PMP to playback your HEVC content, then the GPU could be used. This is not the same as decoding the stream then directing it back to the system so it can be used to encoded to another format.
Looks like the only way to get it working on the PMS then is to update the CPU for hardware support - unless you’re aware of any pending updates to PMS to support NVDEC?
@“MovieFan.Plex” said:
That document doesn’t say that the GPU will be used for decoding. If you look at the chart at the bottom, it does not list GPU under the decoding column.
Edit - To be clear. Hardware accelerated != GPU The GPU is just one method.
The decoding support in the GPU is for decoding video for display to the connected monitor. If you use PMP to playback your HEVC content, then the GPU could be used. This is not the same as decoding the stream then directing it back to the system so it can be used to encoded to another format.
@“MovieFan.Plex” said:
That document doesn’t say that the GPU will be used for decoding. If you look at the chart at the bottom, it does not list GPU under the decoding column.
Edit - To be clear. Hardware accelerated != GPU The GPU is just one method.
The decoding support in the GPU is for decoding video for display to the connected monitor. If you use PMP to playback your HEVC content, then the GPU could be used. This is not the same as decoding the stream then directing it back to the system so it can be used to encoded to another format.
It’s the wording that makes this hard to understand for the average person. QuickSync runs on Intel’s GPU.
With Intel, the GPU is built on the core CPU but it’s still a GPU non-the-less.
I think most people would take “(Transcoder) Support for hardware decoding of 10-bit HEVC (#7738)” or things like that to mean all hardware that is currently supported by Plex that does H.264 will now do H.265 assuming the hardware supports it which would include AMD and Nvidia. (It doesn’t say otherwise)
I’ve been testing the HW transcoding on Intel, AMD and Nvidia platforms since it was introduced by both Plex, Emby and Wowza (plus lot of ffmpeg use and scripting) and I find the Plex documentation a bit confusing myself even though I know what it can and can’t do.
It’s hardware based for sure and that’s why this is a bit confusing. The simple solution is just be more clear and say QuickSync only, if that is what is really meant.
Devil is in the details or lack of.
If we could get the documentation a bit clearer that would probably help a lot.
I’m a software developer and not unfamiliar with the IT world of hardware - and the way i read all the seemingly conflicting info is that Plex supported 10bit HEVC hardware decoding since that update, which included GPU (iGPU and separate GFX card), so long as the hardware supported it.
Clearly that’s not the case so some clarification in the documentation between what is and isn’t supported would have been greatly appreciated and saved me buying a 1050Ti i now have no use for!
I’d be much better investing in a Kaby Lake or Coffee Lake CPU given hardware decoding is supported with them, as i see HEVC decoding being by far the biggest potential winner with hardware transcoding.
Phrases such as “Hardware-Accelerated Streaming has a number of advantages: High-quality videos, especially 4K and HEVC videos, can stream more smoothly.By offloading CPU-intensive transcoding tasks to dedicated hardware, video streaming has less of a performance impact on your computer” and “Video files with H.264 or HEVC video can take advantage of hardware-accelerated decoding.” use the over-arching term “hardware decoding” and do not make any effort to clarify the difference between embedded iGPU hardware and separate GPU / GFX decoding - both of which clearly fall under the “hardware decoding” umbrella, and further complicated by the fact both pieces of hardware support HEVC decoding and it’s purely a software (PMS) limitation.
Sorry for the confusion. Yes, quick sync and a few others listed are based on a gpu. I should have been clearer, I was referring to using a discrete gpu (graphics card).