I don’t know where you read about the GPU reliability I have an older GTX 980 running in my server and it runs just fine without any issues. 10 series cards support a lot more codecs than the 9 series that may be interpreted as unreliable because they won’t transcode everything when the card itself doesn’t support the codec?
I know this post is old as hell, but whatever I need to ask this. Why are you asking Plex to transcode 4K files, that MORE OFTEN THAN NOT have HDR color information, when Plex cannot do HDR to SDR tone mapping through a transcode? Any 4K files you have with HDR are going to look washed out and weird when transcoded.
You really should be making a separate movie library for 4K movies, and keep 1080 or less copies for regular everyday use, and make your 4K library not visible to anyone but you.
Unless Plex does a server update to their transcoder so it can do HDR to SDR tone mapping, which would rock, I don’t get why anyone would want to do this especially if you’re all about quality.
Also, what is this about needing a patch to do more than 2 GPU transcodes? I had read this before, but once I turned on HW transcoding I noticed my server pushing 3-4 HW transcodes so I figured it was old information, but clearly it is still being discussed here. Is this patch not always required? I have a 660 GTX in my machine. Is Plex and Tautulli lying to me and it’s not actually doing more than two HW transcodes even though it says it is?
Funny that you mention it. HDR to SDR is actually being worked on. See the IOS beta player news.
And no, your GTX nvidia card is not hw-transcoding more than 2 streams (Quadro P2000, or better is unlimited). It is deliberately blocked by nvidia. Tautulli is not lying to you, you are misinterpreting the information.
I’ve heard rumors of it being worked on but nothing more.
So when I see (HW) in the stream window for the transcode on Tautulli what does that mean? I’ve had 3-4 going and they all say (HW) and task manager is showing high GPU usage, and small amount of CPU usage.
When it throttles a transcode does that leave an opening for another one to use GPU until it unthrottles, or what is going on here?
We started with supporting quick sync first. The Ryzen doesn’t use quicksync. We are looking to add support for Ryzen and other architectures in the future.
Ok so I also don’t see much activation of the GPU during transcoding of 4K HEVC videos, either.
I have an Intel NUC with Windows 10 64-bit
CPU: Kaby Lake Intel i7-7567U 3.5 GHz
Integrated GPU: Intel Iris Plus Graphics 650 (https://www.notebookcheck.net/Intel-Iris-Plus-Graphics-650.190370.0.html) which supposedly has the ability to decode/transcode h.265/HEVC
Ram: 32 GB
Not a beast of a system I know, but it should be adequate by spec.
My bandwidth ranges from 500 Mbps to 880 Mbps.
And with Plex hardware acceleration checked off, Transcoder quality to “Make my CPU hurt”, these videos still stutter on both the Chrome web client on my computer (not a 4k display), and the Plex client on my 4K Tivo on a 4K TV. Both in transcoding to lower 1080p or playing original quality.
The CPU is cranking at 100% and the iGPU is only at 3%. Why is Plex not utilizing the GPU?
Why is Plex choking on HEVC playback and transcoding?
By “Plex hardware acceleration checked off” do you mean it’s checked/enabled (i.e. on rather than “off”) or do you really mean it’s unchecked and therefore off/not used?
If the hardware acceleration is not enabled then it won’t use the iGPU. So first, that setting must be enabled to use GPU or iGPU encoding. It doesn’t matter if it’s the i(ntegrated)GPU or a discrete/separate GPU.
If you mean it’s checked/enabled, then it’s the setting of “Make my CPU hurt”. You’re telling Plex to use the highest quality it possibly can, which by default is going to be SW encoding done by CPU.*
Hardware encoding/transcoding (accomplished through iGPU) is NOT using the CPU, even though the iGPU is sort of, loosely, “part” of the CPU. (It’s really not. It just happens to be on the same die so an external GPU isn’t required for video output.)
Set the transcoding to enable hardware acceleration, and change the quality to something lower than “Make my CPU hurt”. I recommend automatic, at least initially, and see if that helps.
*Generally speaking, the Quick Sync capability in the 6xxx series and higher Intel iGPUs do a terrific job of h264 hardware encoding/transcoding in terms of quality and the 7xxx and higher also do a very good job with h265/HEVC (to include HDR/10 bit color, but not through Plex yet - that’s a different discussion.) Earlier Intel chips can also do hardware of h264 video, but the quality is progressively worse the earlier the version. Regardless, all hardware encoding, whether iGPU, nVidia discrete GPU or AMD’s integrated or discrete graphics sacrifice some level of quality for significantly increased speed and reduced CPU utilization. So when you select the highest quality it will give you what you asked for - which means not using the i/GPU to encode.
I updated all drivers on the Intel NUC, none of them graphic drivers though.
Then I updated Plex, I was one version behind. Deleted a File that the thumbnail generator was stuck on for months. And finally rebooted.
And everything started working!?
h265 movies started playing with 14-20% iGPU usage.
But it wasn’t consistent on all files.
I then took @timekills advice and changed the setting to “automatic” and that gave an improvement, where all h265 files have GPU usage. So, thank you for that suggestion.
I was having trouble not only playing h265, but also some h264 (iPhone 1080p movies @L4.1, direct playback).
I changed all my Tivo’s to L4.1 (h264 maximum level - recommended was 4.0) and that fixed the playback on the iPhone movies on every Tivo Plex client in my home.
I am still having some issues with one h265 file, but I think it’s because the overall bit rate is 19. Maybe just need to re-encode. Because even with that file, CPU usage was 70% and iGPU at 20%, so the system had room to spare (barely), but didn’t crank up, even as playback was choppy, so something else is going on.
What I also don’t understand is why all these h265 videos are being transcoded on a 4K Tivo on a 4K TV, instead of being direct played? Might be a limitation of the Tivo Plex client.
When I play the HEVC 4K files the GPU kicks in at around 10%, CPU around 50%, which give smooth playback while transcoding. Plex server is also showing a bandwidth usage around 26 Mbps. And it is transcoding from 4K to 1080p, on my 4K TV.
As soon as you fast forward/rewind/resume movie from a midpoint, the GPU usage drops to 0-1%, CPU cranks to 100% and bandwidth usage halves to 13 Mbps.
If I leave the movie running long enough, the playback remains smooth even with fast forward or rewinding, because I’m assuming the transcoding of the entire film is finished.
I checked my other lower res TV’s (720p) with 1080p capable Tivo mini’s, and when Plex transcodes from 4K to 720p, playback is flawless. I didn’t check GPU and bandwidth usage, on that test. But I would assume GPU usage is higher.
The Web Client is even worse. The GPU never kicks in from the start of the movie.
Plex’s implementation of hardware acceleration is all over the place. Sometimes it uses the GPU and sometimes it doesn’t. Because if it did use it consistently, regardless of the client limitations, the server would transcode fast enough.
And why only 10% usage, why not crank it up to 50% GPU usage? Transcoding would be done so fast and smoothly.
The Tivo’s can support pass-through but only certain codecs. Also depends on the specific model. I believe it’s mostly dolby digital (i.e. ac3).
The Tivo devices can only direct play 4k hevc content. If the audio isn’t supported and needs to be transcoded, that will also force a video transcode.
Thank you @MovieFan.Plex It does support Dolby digital audio. I guess I thought that setting meant it supported/decoded that codec, not just simply passed it through. I always thought pass-through was exactly how it sounded, allowing the audio in whatever codec to pass through the client and on to whatever decoder/receiver was on the other end.
BTW this file has TrueHD 7.1. and AC3
I’m going to test it using the AC3 5.1 audio and see what happens.
@MovieFan.Plex Since you are a team member, can you make any comment about the spotty usage of the GPU for transcoding? Will there be updates to improve this usage?
It depends. My understanding of the settings on the Tivo are “Allow pass through of this, if not decode the audio to this and send that to the receiver”.
Sort of. It does allow audio to continue as-is to the next device, however there are still limitations on what codecs are allowed.
I’m not an expert with the HW acceleration, but AFIAK we don’t control how much GPU % gets used. We just call the appropriate drivers and it’s handles internally. Are you using an NVidia card? They have a limit of 2 transcodes so they might use 50% per stream which allows the 2 streams.
So there’s no way to get Plex to utilize the iGPU hardware driver better? If the hardware driver is called upon, but utilization of the device drops off, then the call structure needs to be better optimized.
I’m not a programmer, but there has to be a way to better optimize usage of device drivers on the software side of things. I mean that’s what PC game updates are for?
@MovieFan.Plex and please don’t take anything I’ve said so far as an attack, because I am so happy to even see a response from a Plex Team Member, so keep up the great work!
But, If you aren’t part of the development team in Plex that handles HW acceleration, can you PLEASE forward these comments (and there are hundreds of similar ones on this forum about this same issue) to the team members that do handle HW acceleration. Because this is a major flaw in a type of software that seems to want platform ubiquity.