Roku Ultra 2020, aka 4800x, direct play, colors distorted when playing back HEVC, 1080p content on 1080p screen. Applies to both 8-bit and 10-bit packaging of 8-bit content

Server Version#: Latest as of writing 1.21.1.3830
Player Version#: Latest as of writing 6.7.4.6764

I just tried playing HEVC content on my Roku Ultra 2020 recently for the first time to see the colors highly distorted for all HEVC content. It did not matter if the content was 8-bit content or 8-bit content in a 10-bit container, all of the content was 1080p or 720p content being played back on a 1080p screen. All of the videos had distorted colors, which was exceedingly noticeable when red colors would play on the screen.

When I would force the plex server to transcode the videos, the videos displayed at their proper colors. This issue has only ever occurred for me on the Roku Ultra 2020, 4800x. I have a 4K firestick and nvidia shield pro 2019 attached to the same TV and never ran into this issue playing back HEVC content directly with either of those two devices.

I also have the exact same Samsung tv, in a smaller size, equipped with a Roku Ultra 2019, 4670x and can direct play the exact same HEVC content without any of the color distortions.

I also discovered the Roku Ultra 2020, suffers from the “known” HEVC stutter issues on content encoded using MKVToolNix 44 and older. i.e., Example of stuttering HEVC playback on Apple TV 4K - #117 by lightmaster

I managed to remux my videos using that script linked above. The stranger thing is my Roku Ultra 2019 did not have any of these playback glitches, which leads me to believe something is missing/wrong with the profile for playback on the 2020 Roku ultra, 4800x model. The stuttering issue is not plex’s fault, but a proper profile should have been able to work around the issue, as it did on my 2019 roku ultra. More importantly, these color issues need to be fixed.

3 Likes

I’m having similar issues. I find it to be unbearable on animated content where all of the orange/purple/pink/red blur together into red.

I have confirmed via Kodi and VLC that the source media isn’t the problem. I plan on checking with Jellyfin to see if the same content produces the same issues on the same player.

Plex Ultra? Don’t you mean Roku Ultra?

This is still a problem with the Roku Ultra 2020 and HEVC content. The TV is being told it’s HDR content when it’s not (HDR pops up on the TV).

The source media is not the problem. This issue does not occur using a 2019 Roku Ultra, Amazon FireTV 4k, or a 2019 Nvidia Shield Pro for playback, direct playing the content on all three devices.

Simply put the 2020 Roku Ultra is outputting all SDR HEVC content to HDR even if the TV does not support HDR. Even if the 2020 Roku Ultra is set to a 1080p output, the Roku will attempt to output the SDR HEVC video to HDR.

Yes, it was a typo on my part. The title is fixed now.

1 Like

Agreed. For cross reference, I will add a link for the other thread on this issue.

This has also been reported on the Roku forums.

It seems the Roku Ultra 4800 definitely has some quirks that previous generation didn’t. This issue can be seen outside of the Plex channel too. We will file a report with Roku.

1 Like

I realize this issue falls on the shoulders of Roku and not Plex, but it’s still not fixed.

I’m posting again so this thread does not automatically close.

is there a way to disable HDR output on the 2020 Ultra? As long as HEVC content direct plays smoothly I can live with SDR until the next Roku update…

Currently, no way exists to turn off HDR output for SDR HEVC content on the 2020 ultra. This has been a problem since at least October 2020. I made a new ticket recently with Roku and they claim to be looking into the issue, but no eta when/if Roku will resolve this issue.

My “workaround” has been to move the 2020 Roku Ultra to a spare TV and move my 2019 Roku Ultra to my primary TV. Not much else can be done, other than forcing the plexserver to transcode all SDR HEVC video, to avoid HDR distorting the output video.

Is this a setting in the Plex server? If so, where?

It’s a setting on the Plex client for Roku. If a person goes under settings while playing a video and sets “direct play” to “disable” and “off checks” “allow direct stream” the Plex server will transcode the video to AVC, allowing for a watchable video playback.

A person can also select these same settings on the Plex Client settings for all videos played back on that client, given that it will force all HEVC video to be transcoded when playing back on a 2020 Roku Ultra.

The problem I see is that transcoding quality will never be as good as a direct playback, it works the plexserver much harder, and it’s a waste of bandwidth for remote clients which should be HEVC compatible.

1 Like

Thanks for the info. I ordered and tried the 2020 Ultra and didn’t even get to the HDR issues as it will not smoothly playback h.264 and h.265 DirectPlay streams. I don’t have a 2019 Ultra to compare, but I will take my xbox one S to the location to confirm it is the Roku causing the playback to stutter and fail.

This Roku is the first device that has controlled the TV and sound system correctly and reliably out of the box (allowing Roku to be the sole remote), so it is a shame that it is likely going back.

I just noticed this recently as well with a couple of shows, I know for a fact this was NOT happening a couple of months ago for me…
Something changed on either my media files or a plex update…
I’m going to do more research and try to figure it out but I know when I got my ultra all x265 encodes weren’t activating my HDR.
I will report back to see what’s triggering HDR to activate now.

The color space on my files are all .709 so something is weird for sure…

The more testing I do on this issue, the more confused I become.

To create test/example videos that are easy to share I used a 25-second kitten video my wife took.

I used FFmpeg apt repo installed on Ubuntu 20.10 to convert the video from AVC shot on an iPhone 6S to HEVC. The 8-bit video put into both an HEVC 8-bit and 10-bit MKV container suffer from the “always-on HDR” issue.

i.e.
8-bit HEVC MKV:
https://mega.nz/file/wCxyyDaa#CIDGrGjshmQayWfPFsxI3smsMxsKUXXwx0VFatS-kho

10-bit HEVC MKV:
https://mega.nz/file/lXhUSL4A#piXjGM5OcOsEppuNEaw8gYsMEwJ1T_EQxjXwIwjn2HY

When I extracted the videos from the MKV using FFmpeg and put the videos into an MP4 container, the videos did not suffer from the “always-on” HDR issue, despite still being HEVC/SDR.

i.e.
8-bit HEVC MP4:
https://mega.nz/file/lOwiFDiR#1RT2us7vJglBYG4cs2c1Xd987jwXGdUfREfJCKekyfA

10-bit HEVC MP4:
https://mega.nz/file/lfxWzRaS#8SlZl9DMYNaLvEiYPRSafrjzi263yHzmsaRf4Q0mBeo

Here is the strangest part of this. For the sake of testing, I download a few test HEVC/SDR videos from RARBG, and every one of those MP4 HEVC/SDR suffered from the same “always-on” HDR issue as my test MKV files suffered.

I do not understand why but the HEVC/SDR MP4 files I created using FFmpeg did not suffer from the “always-on” HDR files whereas the test MP4 files did suffer from this same “always-on” HDR behavior. I know very little about what release groups do thus, I do not know what they are doing differently. It’s almost as if the 4800x Roku is ignoring some sort of container flag.

Either way, I am more confused than ever about what exactly is broken on the 4800x Roku.

1 Like

looks like something changed when you took out the video from the mkv container because the codec ID changed…looks like the mp4 file is hev1 and not hevc which would result in the .mp4 playing back correctly and the .mkv not.

I appreciate you comparing the two files; however, the RARBG mp4 releases are also hev1 .mp4 files and they experience the “always-on” HDR issue. Thus, something else must be causing the issue.

After reviewing more of my mkv files and attempting to extract the videos from the mkv and put them into an mp4 container, I have made some interesting observations.

All of the HEVC/SDR videos I have encoded myself using FFmpeg list on the Roku as mkv when the video is in an mkv container and list as an mp4 on the Roku when I put the video stream in an mp4 container.

The HEVC/SDR mkv are subject to the “always-on” HDR but the files that list as mp4 on the Roku do not have these problems.

When I checked on the RARBG test files I noticed that the Roku lists the test files as mkv even though the videos are in an mp4 container. I do not know what they are doing, but something RARBG is doing is causing the video streams to list on the Roku as an mkv even though the container is an mp4.

Interestingly my 2019 Roku Ultra also lists the RARBG mp4 as an mkv, even though the video is in an mp4 container. Given the 2019 Roku Ultra plays both mkv and mp4 HEVC/SDR files back without issue, so the container misdetection does not have any meaningful effect.

Thus, the conclusion I have come to thus far is that the 4800x Roku is “broken” with how it handles mkv files as far the “always-on” HDR for HEVC/SDR files. If the Roku lists the file as mkv during playback instead of its proper container, it will also be subject to the “always-on” HDR HEVC/SDR glitch. Ultimately what Roku needs to fix their handling of HEVC/SDR mkv and once that is done everything else should work correctly.

Where - in Plex? In the Roku Media Player / DLNA? On a USB stick?

On that topic … have you taken Plex out of the equation, by testing with DLNA or a USB stick?

(apologies if you already answered this)

On the Plex client itself, under stream info. For some reason, the release group mp4 files show up as mkv files even if they are in an mp4 container.

This could explain why the release group mp4s are subject to the “always-on HDR” issue, whereas the kitten video mp4 example I shared does not suffer from the “always-on HDR” issue. The kitten HVEC videos properly show on the Roku client the container they are in, mp4 v mkv.

I.e., what Plex client on Roku shows for the kitten video when playing it back as an mp4:

I.e., what Plex client on Roku shows for the release group mp4 when playing it back:

What I am gathering from all this is that Roku needs to fix the “always-on HDR” mkv issue. Once that is done, all of the other “strange” playback issues will be fixed.

To answer your other question Volts, this happens with Emby also so, it’s likely something is broken with how the Roku itself handles HEVC/SDR content in what the Roku itself detects are mkv containers.
Reference to this also occurring with Emby: Roku