# \[Implemented\] HDR-\>SDR Transcoding

**URL:** <https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894>\
**Category:** Feature Suggestions\
**Created:** [March 22, 2018, 2:45am UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894 "2018-03-22T02:45:17Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![SkylerWolfe](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/skylerwolfe/32/10375_2.png) [@SkylerWolfe](https://forums.plex.tv/u/SkylerWolfe)\
**Post date:** [June 15, 2020, 11:07am UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/63 "2020-06-15T11:07:56Z")

</div>

Ahhh good point about the hevc. I knew that. Could have answered my own question. Thanks.

---

<div class="post-metadata">

**Author:** ![djjaeger82](https://avatars.discourse-cdn.com/v4/letter/d/c68b51/32.png) [@djjaeger82](https://forums.plex.tv/u/djjaeger82)\
**Post date:** [June 27, 2020, 6:41pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/64 "2020-06-27T18:41:22Z")

</div>

Really wish this would get addressed already. With my entire collection in 4K, I don’t want to have to store 2x copies of everything for when I want to stream remote on the road. So frustrating. This isn’t all that complicated, it should be doable with decent hardware.

---

<div class="post-metadata">

**Author:** ![RockStar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/rockstar/32/613_2.png) [@RockStar](https://forums.plex.tv/u/RockStar)\
**Post date:** [June 28, 2020, 5:12pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/65 "2020-06-28T17:12:52Z")

</div>

Yea same. For everyone using 4K media, the transcoder is a bug, not a feature. Fortunately, you can turn it off and a benefit of that is that your users will be forced into finding ways to direct play your content.

---

<div class="post-metadata">

**Author:** ![Janis.S](https://avatars.discourse-cdn.com/v4/letter/j/da6949/32.png) [@Janis.S](https://forums.plex.tv/u/Janis.S)\
**Post date:** [July 18, 2020, 8:31am UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/66 "2020-07-18T08:31:18Z")

</div>

Need that so much! I want my library in 4K HDR but also be able to sometimes watch content in lower quality on mobile or sync my media for offline viewing on a flight. Managing a separate library for 4K content can’t be the solution!

---

<div class="post-metadata">

**Author:** ![RockStar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/rockstar/32/613_2.png) [@RockStar](https://forums.plex.tv/u/RockStar)\
**Post date:** [July 18, 2020, 2:49pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/67 "2020-07-18T14:49:32Z")

</div>

According to Jellyfin devs, tonemapping is so demanding it will require gpu assistance to work in any meaningful capacity. Whats worse, the can only get it working with nvenc. The uhd630, which I would guess is the most common alternative, is not working pre 10th gen.

I wish Plex would communicate their progress better, but from what I have gathered, implementing the feature is difficult, and requires very specific hardware to work.

---

<div class="post-metadata">

**Author:** ![djjaeger82](https://avatars.discourse-cdn.com/v4/letter/d/c68b51/32.png) [@djjaeger82](https://forums.plex.tv/u/djjaeger82)\
**Post date:** [July 18, 2020, 3:42pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/68 "2020-07-18T15:42:15Z")

</div>

> [@RockStar](#):
>
> According to Jellyfin devs, tonemapping is so demanding it will require gpu assistance to work in any meaningful capacity

This is likely true, but the other option would be to transcode in HEVC maintaining HDR and BT. 2020 colorspace. Then leave it up to the players or client devices to tonemap.

---

<div class="post-metadata">

**Author:** ![Janis.S](https://avatars.discourse-cdn.com/v4/letter/j/da6949/32.png) [@Janis.S](https://forums.plex.tv/u/Janis.S)\
**Post date:** [July 18, 2020, 6:00pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/69 "2020-07-18T18:00:56Z")

</div>

This! Just keep the hdr and let the player tonemap

---

<div class="post-metadata">

**Author:** ![RockStar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/rockstar/32/613_2.png) [@RockStar](https://forums.plex.tv/u/RockStar)\
**Post date:** [August 16, 2020, 9:28pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/71 "2020-08-16T21:28:28Z")

</div>

Aparently, Tiger Lakes new igpu supports tonemapping so Im guessing this feature might be easier to implement once those chips are availiable.

---

<div class="post-metadata">

**Author:** ![deadsoulz](https://avatars.discourse-cdn.com/v4/letter/d/a698b9/32.png) [@deadsoulz](https://forums.plex.tv/u/deadsoulz)\
**Post date:** [August 26, 2020, 6:46pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/72 "2020-08-26T18:46:48Z")

</div>

Is it currently working in Plex if you use a Nvidia NVENC Turing or newer card? Would be nice if it did.

---

<div class="post-metadata">

**Author:** ![Spazo](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/spazo/32/204048_2.png) [@Spazo](https://forums.plex.tv/u/Spazo)\
**Post date:** [August 26, 2020, 7:14pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/73 "2020-08-26T19:14:39Z")

</div>

New update on the shield pro. They added hdr to sdr tonemaping and its working great with plex hdr on non hdr 4k tv

---

<div class="post-metadata">

**Author:** ![RockStar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/rockstar/32/613_2.png) [@RockStar](https://forums.plex.tv/u/RockStar)\
**Post date:** [August 28, 2020, 10:51am UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/74 "2020-08-28T10:51:28Z")

</div>

As more and mote clients support tonemapping, I think Plex should rather focus on transcoding to HEVC and preserving the 10 bit colors.

---

<div class="post-metadata">

**Author:** ![Pugnator](https://avatars.discourse-cdn.com/v4/letter/p/90db22/32.png) [@Pugnator](https://forums.plex.tv/u/Pugnator)\
**Post date:** [September 9, 2020, 10:45am UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/75 "2020-09-09T10:45:34Z")

</div>

I also think that converting to h265 is much better. Then the client can decide if it wants to play HDR or do the tonemapping. Already moved my vote to that feature request:

> [@Transcode to HEVC/x265](https://forums.plex.tv/t/transcode-to-hevc-x265/360421):
>
> Is the ability to transcode to HEVC/x265 something that’s on the roadmap? Most, possibly all, of the people I share my library with use playback devices which support HEVC playback. I’ve got a very beefy Xeon processor with more cores than I have fingers in my server that is perfectly capable of transcoding a couple streams to HEVC. It would be nice if there was an advanced option, or maybe a feature for PlexPass subscribers, to enable transcoding to HEVC for devices that support it to increase…

Furthermore I think that it’s also important to be able to sync h265 content as most devices today are able to decode that. You can add your vote here:

> [@Sync support for HEVC/x265, converting to x264 to then download (resolved with downloads feature)](https://forums.plex.tv/t/sync-support-for-hevc-x265-converting-to-x264-to-then-download-is-ridiculous/392317):
>
> Given HEVC/x265 is now quite common as a supported playback format, wouldn’t it make sense to either allow PMS Sync to allow direct downloads where we select maximum quality, rather than force transcode to x264. Or to allow for users to select a direct download and take the risk their playback device can’t support. In fact it would be great in PMS Sync to clear up the language for quality to “no transcode”, as currently it isn’t clear what happens when you select “maximum”.

---

<div class="post-metadata">

**Author:** ![RockStar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/rockstar/32/613_2.png) [@RockStar](https://forums.plex.tv/u/RockStar)\
**Post date:** [September 9, 2020, 4:46pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/76 "2020-09-09T16:46:59Z")

</div>

Yea same. Removed my vote here… Server-side tonemapping doesnt seem like the right sollution. H265 is much more future proof

---

<div class="post-metadata">

**Author:** ![TeknoJunky](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/teknojunky/32/165055_2.png) [@TeknoJunky](https://forums.plex.tv/u/TeknoJunky)\
**Post date:** [September 9, 2020, 6:55pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/77 "2020-09-09T18:55:49Z")

</div>

I’m sure they are/will be tackling the issue at both the client and server levels, in order to support the widest range of device combinations.

---

<div class="post-metadata">

**Author:** ![tazlord](https://avatars.discourse-cdn.com/v4/letter/t/65b543/32.png) [@tazlord](https://forums.plex.tv/u/tazlord)\
**Post date:** [October 6, 2020, 6:55am UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/78 "2020-10-06T06:55:08Z")

</div>

> [@RockStar](#):
>
> Yea same. Removed my vote here… Server-side tonemapping doesnt seem like the right sollution. H265 is much more future proof

Although I agree with this statement, there are still instances where server-side conversion is necessary. For instance, Plex (for some crazy unexplainable reason) doesn’t let you sync titles to mobile devices unless it transcodes it first. That is definitely a shortcoming in my opinion but if that’s how it’s intended to operate, then hdr-to-sdr conversion needs to happen at the server level for sync content.

As for all the people saying that it’s a complex issue and hard to do… No, it’s not. Implementing a simple Hable algorithm to handle the conversion is extremely simple and can cover most of your conversion needs (I’ve tested it extensively). The best part is, Hable is supported in modern GPU transcoders (especially NVIDIA). There really isn’t any reason to not implement this feature on both the server and client side (true Direct Play).

---

<div class="post-metadata">

**Author:** ![RockStar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/rockstar/32/613_2.png) [@RockStar](https://forums.plex.tv/u/RockStar)\
**Post date:** [October 6, 2020, 7:50am UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/79 "2020-10-06T07:50:40Z")

</div>

Not really. iOS devices will tonemap themselves if they dont support HDR. I imagine most android devices can to. So you could just feed them a smaller, transcoded 10 bit HEVC file with the HDR preserved, if Plex absolutely must transcode.

For old devices, sure, tonemapping is great. But those will be absolete soon anyways, so I dont think Plex should make the effort. Better move forward and transcode to HEVC.

---

<div class="post-metadata">

**Author:** ![tazlord](https://avatars.discourse-cdn.com/v4/letter/t/65b543/32.png) [@tazlord](https://forums.plex.tv/u/tazlord)\
**Post date:** [October 6, 2020, 3:33pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/80 "2020-10-06T15:33:55Z")

</div>

That’s not the problem. The problem is that Plex Sync transcodes the file from 10-bit HDR to 8-bit SDR with no tone-mapping. The file the mobile device receives and tries to play has no extended color information and the color range was cut off to fit inside the new range. What you end up with is an image that looks flat and washed out with no way for any player to determine the original color values. I only use Android devices (which are capable of playing back 10-bit media) so maybe this is how Plex handles Sync with Android but it’s definitely a horrible experience and should be addressed.

---

<div class="post-metadata">

**Author:** ![Mate\_S](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mate_s/32/151912_2.png) [@Mate\_S](https://forums.plex.tv/u/Mate_S)\
**Post date:** [October 19, 2020, 5:42pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/81 "2020-10-19T17:42:10Z")

</div>

I’d say they are waiting on ffmpeg to implement it so it works in Plex - seeing as Plex uses ffmpeg to do the transcoding work - but ffmpeg apparently has had multiple tonemapping algorithms implemented since 4.1 in late 2018. I’m not surprised that it may be computationally expensive, but that’s the _point_ of transcoding. I have a fancy media server precisely so it can do _this kind_ of heavy lifting. If I wanted my client players to have to do work, I’d just use Kodi, or whatever native player my various platforms have. Client players are supposed to be dumb boxes that just show what they’re given, and they’re given what they can take.

---

<div class="post-metadata">

**Author:** ![DaveBinM](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/davebinm/32/9984_2.png) [@DaveBinM](https://forums.plex.tv/u/DaveBinM)\
**Post date:** [November 23, 2020, 10:57pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/82 "2020-11-23T22:57:21Z")

</div>



---

<div class="post-metadata">

**Author:** ![DaveBinM](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/davebinm/32/9984_2.png) [@DaveBinM](https://forums.plex.tv/u/DaveBinM)\
**Post date:** [November 23, 2020, 10:57pm UTC](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894/83 "2020-11-23T22:57:37Z")

</div>

Closing as this has now been implemented

[Previous page](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894.md?page=3)

[Next page](https://forums.plex.tv/t/implemented-hdr-sdr-transcoding/229894.md?page=5)
