4K HDR Transcoding on 1080 TV

Server Version: 1.29.0.6219 on Ubuntu 22.04 LTS
Client Version: 9.8.2.35221 on Chromecast with Google TV

I have some Movies and TV shows that I only have in 4K HDR. Neither of My TV’s support 4K (yet). Shouldn’t be a problem Plex will, assuming I have the hardware for it, transcode the 4K HDR to 1080 SDR for me and I can enjoy my ice cream.

Well I was trying to watch one of those shows last night, And it blipped before it actually started, but it started. A few minutes in and I thing damn I can’t hear their words, well knowing my wife will throw things at my head for turning it up too loud. So I turn on the SRT subtitles in the file, and it begins buffering…plays a minute…buffering, etc. you get the picture. Well now I need to look at what’s going on.

SO using Tautulli I see this with subtitles enabled.
Screenshot 2022-09-21 213736

I also checked the plex dashboard and see high CPU usage, which top confirmed as the transcoder.

Turning off subtitles I see the following
Screenshot 2022-09-21 213957

And if I change my local quality down to 1080 20Mbps I get below
Screenshot 2022-09-21 214503

Which is more or less what I would expect to happen normally. Except I don’t know why it would transcode the audio and Subtitle. Other than to keep them in sync with the Video.

So my Questions are:

  • Is this normal for the Android TV app to play 4K in 4k despite the TV not supporting it?
  • Why is Plex deciding to Burn the subs when transcoding 4k HDR10 to 4k SDR? and why does that require so much CPU instead of GPU?
  • What’d I do wrong? I’ve been a Windows Administrator for the better part of 30 years, Linux is not my forte. But I’m learning.

In case you are wondering I have a Quadro P4000 for hardware transcoding.

I did also check the logs on the client, it does detect the TV as only being 1920 x 1080. and the blip I see when starting the video starting in direct play, exoplayer failing and failing back to transcode. My guess is because my TV doesn’t support HDR and the CCwGTV knows it.

My current work around is to set my local stream quality to 1080 20Mbps.

And the codec info for the file I’m working with

Codec HEVC
Bitrate 17759 kbps
Language English
Language Tag en
Bit Depth 10
Chroma Location left
Chroma Subsampling 4:2:0
Coded Height 2160
Coded Width 3840
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.0
Profile main 10
Ref Frames 1
Width 3840
Display Title 4K HDR10 (HEVC Main 10)
Extended Display Title 4K HDR10 (HEVC Main 10)

Codec EAC3
Channels 6
Bitrate 768 kbps
Language English
Language Tag en
Audio Channel Layout 5.1(side)
Sampling Rate 48000 Hz
Display Title English (EAC3 5.1)
Extended Display Title English (EAC3 5.1)

Codec SRT
Language English
Language Tag en
Display Title English (SRT)
Extended Display Title English (SRT)

Screenshot (577)

Once transcoding kicks in I’m not sure I can trust what it’s telling me

That is why I look at tautulli

You should not be Transcoding 4K especially 4K HDR. It takes a lot of resources to do this. It would be best to create an optimized 1080p version of the 4K video file so it can direct stream. I do this with my 4K videos. This will especially help if you ever plan to view your movies from remote locations. It is much easier to transcode a 1080p file down for remote use then a 4K file.

On a windows based server I would agree, It cannot transcode the HDR part on gpu. However I am running on ubuntu and the video card I have can handle multiple 4k HDR transcode at once. When it is transcoding 4k hdr to 1080 sdr the cpu is practically at 0% and the video card is under slight usage.

But the question is not really if I should or not, it’s why is it doing what it should not with on the Android TV client. Using a roku it goes straight to Transcoding to 1080, I tested before posting to see if it was a general issue with the clients.

As far as I understand it, if the Android TV device supports 4K then Plex will send the 4K file, regardless of the resolution of the connected display. It will leave the downscaling to the Android TV device.

well I guess the question is why does it decide to burn the subs instead of direct play or transcode srt to ass? It burns despite the setting for burn being set to only on image formats.

From what I can tell this is what I see happening the server is thinking that there maybe 4K TV’s out there without HDR support (I personally have not seen one, but that doesn’t mean there is not.) So It decides Converting my HDR to SDR 4K video is good. The only reason it works for me is because my WiFi and my Server are up to the task. But then I through a subtitle in the mix and even though the sub is SRT and it should just direct play it, as it does with everything else, it decides to burn it. Which my plex server’s CPU is not up to the task.

So at this time, my choices are:

  • Get a 4K TV that supports HDR
  • Change my local stream limit to Next to highest setting, 1080 @ 20 Mbps (current work around cause I don’t have the money for a new TV right now.)

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