[Implemented] HDR->SDR Transcoding

I, for one, support this message.

2 Likes

I really hope they support at least tonemapping soon. VLC, MPC, even Plex Media Player on the computer are supporting it… or plex with xbox. In a household with many playback devices, it’s not like the swap to full 4K HDR hardware chains happens everywhere and all at once. I have some 4k HDR capable chains, and some non. New media is being encoded in 4KHDR, and I have old media in previous formats 1080p/720p… I want to be able to play any given file on any given device and have it look as good as that device, the media file, and my server’s hardware can support. Not this grey and washed out 4k file because one device in a chain doesn’t support HDR! That’s what plex is for!

So AWS just did showed this off
https://aws.amazon.com/about-aws/whats-new/2020/03/hdr-to-sdr-tone-mapping-now-available-with-aws-elemental-mediaconvert/
Would this help Plex implement HDR Transcoding?

(given movie average ~100 minutes)

at ~$.75 to $.94 per SD output movie
or
at $1.50 to $1.88 per HD output movie

it is doubtful.

also,

  • none of which is necessarily real time which would be needed for on the fly transcoding.
  • additional fees for audio and dolby vision
  • not to mention, you would actually have to upload 4k content, stored it on AWS storage, then download the converted file(s), which all have more costs.

finally, just so everyone grasps the difficulty of hdr > sdr


From any supported HDR format to any supported SDR color space

Note

When professional color graders convert an asset from HDR to SDR, they make artistic decisions about where to map colors from the larger space that don’t exist in the smaller space. There is no standard formula to map these values automatically. The tone mapping technology that MediaConvert uses to do automatic conversion from HDR to SDR approximates the outcome of manually regrading from HDR to SDR. This automatic conversion works well with most content, but we recommend that you review your outputs to confirm the tone mapping results.


they don’t specifically say it, but no doubt they are using some kind of machine learning and bulk cpu/gpu processing via their related AWS services.

All of which to say, good luck and have fun spending $$$$ just to avoid having to keep an extra sdr version around.

1 Like

It’s 2020 and 4K HDR video is now an established standard. In fact 8K is right around the corner, apparently.
HDR -> SDR of course can be a massive quagmire involving multiple different mapping options and technically requiring a mastering technician to get done ‘properly’. But still every player on the platform, including Plex’s own webplayer, has a maybe not ideal, but still workable mapping solution implemented.

I think most users would be satisfied if Plex Server would implement the exact same approximated tonemapping code that the Plex PC client is currently already using. We know it’s not a perfect solution, but many, many things Plex does are not perfect solutions - and since the client already has tonemapping clearly the Plex team doesn’t have ideological objections to approximate tonemapping.

3 Likes

Same issue here, please fix this!!

Because the Android Client does not support HDR Tonemapping. I hope that they are going to add this in a future release as I am creating optimized 1080p HDR versions for my 4K Blurays and most of my users are using the FireTV stick.
If you want HDR tonemapping you have to choose one of those clients:

  1. Plex for Windows/Mac
  2. PMP
  3. appleTV

Edit: I don’t know why but Luciole555 deleted the post I was referring to. His question was why tonemapping is handled differently by the Android and Windows 10 client.

1 Like

Its crazy how a tiny device like the Apple TV manages to tonemap on the fly, in realtime while playing the movie, yet much more powerful Plex servers cant do this while transcoding.

Actually, tonemapping can be extremely inexpensive. For example if you choose the “clip” tonemapping filter it is just a simple “If x>1 then 1 else x”.

Yea, I realize that, since the 3 year old ATV can do it. Thats why I find it strange that it hasnt been implemented in the transcoder yet. The algorithm is obviously availiable.

Im guessing this is out of the Plex devs hands. Maybe ffmpeg needs to be updated for this feature to become availiable.

Those clients that already support HDR tonemapping are all using a player that is based on mpv (on ios its the “enhanced player”). This already supported tonemapping. Therefore, the algorithm was already avaliable.

Allright.
That player is pretty amazing. Plex on ATV and iOS is better than ever now.

+1 for this

+1 vote. I would appreciate at least a little acknowledgement about if they are working on this or why they can’t do this. Just signed up for lifetime today in hopes they can get the resources to fix this.

+1, it will be cool

+1 vote for this !

I’m in too! Plex will now have to deal with HEVC, HDR, tone mapping and everything that is new.

Besides it still doesn’t do the tonemapping when a 4K video with HDR is being transcoded. The colors looked washed out. It’s annoying AF if I may add, waiting for this to be fixed in the future…

May be OT here but I’m curious. When PMS currently transcodes a 4K HDR file does it retain the HDR info? Meaning, if it transcodes it down to say 12mbps 1080p for remote streaming, would a remote 4K tv receive a 1080p HDR stream? If so, in the future it may not be appropriate for 4K transcodes to always be tonemapped to SDR. I would think it would be ideal for PMS to tonemap for non-HDR displays, but retain HDR for HDR-capable displays.

No it doesnt. In its current state, it doesnt retain HDR, nor tonemap, and is best described as broken. Until Plex does one or the other, I wish they dissabled transcoding of HDR content entirely.

In order to retain HDR, plex would need to transcode to a supported codec, like HEVC. Currently plex transcodes to AVC

2 Likes