When is Plex going to add tone mapping for 4K HDR transcoding?

Hey folks, been following this post along with the thread on Hardware Accelerated Decode (Nvidia) for Linux for a long time, and seems the Plex team has been making strides on that front recently. There’s now actually a forums-beta preview of nvidia-linux support, and in those release notes we see: this update moves us towards being able to support tone-mapping HDR media to SDR for playback. This isn’t available in this preview, and I can’t make any promises on the timeline on it, but know that it’s something we’re working on
So I, for one, am happy to be seeing progress and know we just have to be patient with them. Just wanted to share the latest info here since it’s been radio-silence on this thread.

5 Likes

Yes. I saw a suggestion that a person have a separate 4k library and to encode and tonemap them to 720/1080p SDR into the main library. I have over 300 HDR 4k movies. That would be well over 1 TB. I also question why this needs to conform to some industry standard. It will never exist. Honestly, the way madVR does it, even if it is incorrect (despite there being no standard!), looks better than washed-out colors.

2 Likes

This is good. For those that wanna directplay HDR on SDR screens. I imagine an external device that could “sense” HDR and knock it down to SDR would be a much better kludge than keeping two copies (UHD and 1080p) on your server in the meantime:

https://www.hdfury.com/

1 Like

I was wondering if tone mapping was enabled now, which gpu’s can actually handle the task?

Not yet. Track their progress here:

1 Like

Does anyone think this could work? I think it could. You could add in an HDFury Diva for whatever client is direct playing back the file for dynamic HDR->SDR tone mapping on the fly. It is an expensive solution, sure, but IMHO I believe it is the only solution (ie external video processing) for now until Plex leverages what PC’s can already do (ie MadVR e.g.) or this video chip in the Diva can do. The Diva can only go from 4K HDR ->1080p SDR. It can’t do 4K SDR. So this might be an example chain:
4K HDR file on server–>Plex direct play video on NVIDIA shield (or any 4K HDR capable client)–> HDFury Diva–>1080p monitor or TV
This would give you “proper” color.

1 Like

The next gen of Intel GPU’s (Gen 11) and AMD will have a color mapping built in. Just in time for Plex to abandon the HTPC for Apple TV and Nvidia Shield.

1 Like

I am so still angry about that, I mean, if no one stored media locally? And instead stored it all in the cloud? Then I would understand abandoning the HTPC… But we are nowhere near that point yet… All these boards are covered in people boasting about the size of their media libraries, the amount of 4k content they’ve collected locally, etc etc. Plex Media Player on PC works better than ANY Smart TV or streaming box I’ve ever used. Because it’s powered by a Computer! Not a tiny processor they squeeze into something like a smart TV or streaming stick…

1 Like

The ideal solution would be for Plex Media Server to support the Intel Gen 11 GPUs’ hardware HEVC HDR10 Tone Mapping. The benefit to this would be that all transcoding could be done in hardware for HEVC compatible SDR Plex endpoints.

This seems like the only easily accessible solution at the moment given the CPU power needed for relatively accurate tone mapping.

I’ll upgrade the CPU in my Server day 1 that Plex support this.

2 Likes

“the difference between native 4k bluray and a 4k rip is, the HDR metadata is stored separate on a disk, and a rip is a combined data stream.”

Uhh, no. It’s part of the HEVC stream. No container changes this. HEVC specifically repeats the HDR headers throughout the stream. HDR info is not metadata attached to a container. They’re part of the video stream itself.

well the problem for me is when plex uses pgs subtitles burns them so transcoding happens, and cannot watch hdr on my hdr tv

I didn’t say that.
Now you’re not only quoting out of context, you’re attributing statements to me that I didn’t make.

If you have enough CPU beefcake they could do it with their FFEMPG variant and zscale.

But given their current direction (money pit VOD service) I suspect it’s not the highest priority.

1 Like

“But given their current direction (money pit VOD service) I suspect it’s not the highest priority.”

  1. Users wishing high quality audio/video install personal media server system… Plex
  2. Plex responds by offering same users low quality streaming videos, all w/ stereo audio
2 Likes
  1. Users wishing high quality audio/video install personal media server system… Plex
  2. Plex responds by adding services to increase user base and revenues which can help them afford to fix problems involved with high quality audio/video systems.
5 Likes

So i’m guessing the answer is still… no? :rofl:
Reading theses responses and little fudes are quite funny to me. carry on!

All snark aside, I literally prototyped using ffmpeg to tone map HDR->SDR for a reasonably large VOD service. Did A/B blind comparisons with SDR masters. While the conversions were slightly DIFFERENT they were not BAD. Viewers had a tough time picking the original.

//Example. There are other tonemap algorithms to choose from.
-vf zscale=transfer=linear,tonemap=clip,zscale=transfer=bt709,format=yuv420p

The other thing Plex could do, as noted by others, is transcode to hevc and persevere metadata. On the new NVENC this could look pretty good. Software only encode would require ultra CPU beefcake. Let’s all build 64 core threadripper Plex servers. :crazy_face:

I LOL at the “just keep multiple copies” angle. Ok. Sure. I’ve got tons of storage.

However, the version selector in the client is trash. I have multiple remote users of my server and if it cannot just deliver the version that makes sense for the client then it’s not going to work.

3 Likes

When you are talking about 30-60 gig remux source files, what is another 1-2 gigs for a 720/1080 copy ?

If storage is a concern, go back to 1080 and be happy with all your space.


as far as color mapping/correction, plex appears to be tackling this at the client level, with newer experimental ios/android players that can ‘fix’ the washed out color from HDR > SDR.

Whether they are/will be also working on this from the server side, remains to be seen.

And what is the frame rate for these conversions, ie can they be done in faster than real time, in CPU and/or GPU ?

Great Question