HW transcoding not fully utilizing GPU

Server Version#: 1.21.13830
Player Version#: NA

Hi,

To start of, if I need to provide more information please let me know. I’m still kind of new to this stuff.

Now, my issue; Today I decided to buy a plex pass in order to use HW transcoding. I’ve got a lot of series in 4k HEVC 10 bit HDR that I usually watch on a tv that can support it with direct play. I’m running into trouble when wanting to watch this content on anything else, for example my phone. Transcoding to 1080 is an endless struggle of buffering. I thought and still stink my pc should be plenty fast enough to be able to transcode a single stream. It has an i7-4790k and a GTX1080.

When looking at task manager I noticed that my GPU is barely even responding to it’s transcoding request. At most it goes to 10% on video decoding and 2% on video encoding. My CPU is at around 50% in the mean time.

I’ve got the most recent Nvidia drivers installed and am currently lost as for what to do in order to fix this. Is my computer really not capable of transcoding a single 4k stream to 1080p? Am I missing an important option in the settings? Note, I’ve got HDR tone mapping, Use hardware acceleration when available and Use hardware-accelerated video encoding enabled currently.

Thanks in advance!

1 Like

Your CPU on its own is not powerful enough to do a sw-only transcode. The i7-4790K has a passmark score of approx. 11400… in order to transcode a 4K video you’ll need a passmark score between 12000 (SDR) and 17000 (HDR).
As the CPU is pretty old, the integrated GPU does not have capabilities to deal with h265/HEVC content… that being said… given you have a discrete GPU the iGPU should not be needed / have a role in this game :wink:

Two questions coming to mind:

  1. Have you verified you’re running the GPU with the latest Nvidia drivers?
  2. Are you experiencing this behavior when playing videos with subitles? Some players require subtitles to be burned into the video to play with 4K content – the GPU cannot handle that, therefore Plex will fallback to use the CPU for those scenarios.

Edit:
Not to forget the super basics (just to ensure we’re not skipping some important information because they appear too obvious) :wink:
I take it you have hw-accelerated streaming/transcoding enabled in your PMS settings?
This refers to Use hardware acceleration when available and Use hardware-accelerated video encoding under Settings > [Server Name] > Transcoder.

I’ve got the options you mentioned in your edit enabled. It also shows “(hw)” behind the transcoding part that is shown in the activity dashboard.

  1. As far as my GPU driver, I’m on “GEFORCE GAME READY DRIVER - WHQL Driver Version: 460.89” which was released 12/15/2020.

  2. I tested a few files that are the same type of content, 4k HEVC etc, and nothing much seemed to change. The CPU reaches ~50% and the GPU still hovers around ~10%. The videos do still need to buffer for a considerable amount of time every few seconds. EDIT: I tested with and without subtitles to be clear.

Thanks for the quick reply btw!

Can you share what exact details you get to see in the “now playing” tile for that playback on the Plex server dashboard?
Exemplary screenshot from the "now playing" section

Beyond that… if you’re streaming to your mobile: have you checked the network bandwidth and throughput is sufficient? Wireless connections are prone to be easily impacted by outside factors (starting with stuff as simple as walls and furniture).

image

The problems I mentioned earlier also happen on the computer that I use as a server. I think my wireless connection should be fine since I am able to direct play the 4k content to a device that supports it? Not sure how that works to be honest haha…

Check HDR Tonemapping in Settings -> Transcoder (Show Advanced) and disable if enabled.

The feature is still a work in progress. Probably best left disabled until more of the kinks are worked out.

2 Likes

It won’t help with playback on your phone, but for playback on PC/Mac, try Plex for Windows/Mac.

It tonemaps HDR to SDR in the app and also scales 4K to 1080p (if needed), so Plex Media Server still direct plays. It also direct plays many more audio formats than Plex Web.

Web browsers have limited codec support, which limits the capabilities of Plex Web.

Sadly this seems to be the issue. Was really loving the non washed out look without having to download another version haha! After disabling the HDR tone mapping my GPU went up to about ~20% and my CPU dropped to ~30%. The video did take quite a long time to load when starting but it has not yet buffered whilst playing. Skipping into non buffered area does take a long time, just as with starting the playback. It seems that the GPU still doesn’t want to ramp up to a 100% or anything close to it.

My files are now at least watchable so I’m already chuffed with that!

EDIT:

Using the tv like app for windows really improved things! Instant scrubbing without buffering, my GPU ramps up 40% and then drops down to 20%. Very happy with this. Thank you both for your help!

Yes, HDR tonemapping was the issue as well on my server but after some testing I did find a compromise (although you’ll have to deal with the quality loss) I noticed I could transcode 4K HDR high bitrate content with tonemapping enabled if I chose 720p (2 megabit or 4 megabit) from the playback settings.

I’m using a GTX 1060 passed through to a windows 10 VM

Thank you FordGuy61! I just upgraded to a dedicated gpu (1660) and was getting frustrated. With tone mapping enabled all of the hw transcoding was defaulting on the cpu. Disabling it was night and day, now the gpu is taking the brunt of workload and I am able to easily handle 4K Hevc to 1080p transcodes np :slight_smile:

Is the tone mapping issue with 4k to 1080p planned to be resolved in a future update?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.