Why does Plex look so poor; what am I missing?

Hi everyone,

I’m quite new to plex but love the idea of it. The centralised management, which runs on my FreeNas server is superb, and the ease of use for distribution; the multi-user, multi-site, multi-platform is just great and works for the most part really well.

But at the moment, I’m unwilling to use it because the quality of playback when transcoding UHD is far too poor. For example, I have a UHD copy of Thor Ragnarok (Media file info attached).

It looks beautiful on:
Kodi on Fire Tv, (newest generation)
Windows 10: Kodi, VLC, windows films and tv
Plex windows 10 client

It looks awful on
Plex on Fire Tv
Plex on Xbox One S
Plex web based client

Although video playback is smooth, as you can see yourself, plex transcoding loses detail and washes out the colour.

I understand that the picture looks poor on the sources for which Plex decides need transcoding, so I’ve experimented with the transcoding settings, including setting it to “Make my CPU hurt” with no improvement noted.

I followed the plex guidance here RE server CPU requirements, which told me that my i3 4160 (benchmarking 5051) wasn’t sufficient. So I upgraded to a INTEL XEON E3-1230 V3 3.3GHZ SR153 (benchmarking 9300) and haven’t noticed an improvement either.

Questions:

  1. Why does Plex insist on transcoding to Xbox One S and Fire Tv, when other software (Kodi) can direct play?
  2. Is there any way to FORCE direct play in these situations
  3. Will upgrading my hardware improve the situation? (Note; regardless, I can’t justify doing this when other software plays it so well)
  4. Is there anything else I can do?

Thank you
L

@Thronic said:
Never seen it side-by-side like that. Looks really bad.

It is! The pictures above are just taken with my iPhone…

I’d tolerate it, reasonably happily, on remote playback, or on low res devices, but I can’t tolerate it on my ‘primary’ player/location. :neutral:

I don’t know why the transcode quality is poor, but the reason for transcoding is that the playback device (XBox One, Fire TV etc.) doesn’t inform Plex Server that it can handle the file as-is (either because it can’t handle HEVC encoding of UHD, the resolution or the bitrate). So your choice on these devices is simple: Either transcode to a format that the playback device tells is supported, or don’t play the file at all.

It probably wouldn’t help if you were able to force direct play - the playback device most likely isn’t capable of playing back the movie directly in the format that it is stored.

You could try to do an Optimize on the movie to let Plex pre-convert it to a lower resolution/bit rate that is compatible with the playback device (probably 1080p HD at 8-10 Mbit), and let it do so over night (it’ll take several times real time, ie. for a movie of 2 hours, it’ll take anything from 4 hours to 12 hours, depending on the source format, the target format, and the speed of the CPU doing the transcoding).

Plex can’t tonemap down the HDR at the moment. That’s why it looks washed out.

@MediaHorder said:
Plex can’t tonemap down the HDR at the moment. That’s why it looks washed out.
Exactly what I was going to say, but I would have thought it wouldn’t be an issue with the Xbox one s…

@HeartWare42 said:
It probably wouldn’t help if you were able to force direct play - the playback device most likely isn’t capable of playing back the movie directly in the format that it is stored.

The devices must be, because they work fine via direct play with other software.

@HeartWare42 said:
You could try to do an Optimize on the movie to let Plex pre-convert it to a lower resolution/bit rate that is compatible with the playback device (probably 1080p HD at 8-10 Mbit), and let it do so over night (it’ll take several times real time, ie. for a movie of 2 hours, it’ll take anything from 4 hours to 12 hours, depending on the source format, the target format, and the speed of the CPU doing the transcoding).

This isn’t a compromise I’m willing to make. I’ve invested a lot of money and time in having a UHD media playing solution. Investing more time and cpu useage to achieve an lesser product isn’t a solution I’m willing to accept.

@KarlDag said:

@MediaHorder said:
Plex can’t tonemap down the HDR at the moment. That’s why it looks washed out.
Exactly what I was going to say, but I would have thought it wouldn’t be an issue with the Xbox one s…

Ok, I get that it’s a current Plex transcoder limitation, and if it’s added in future releases, then fine. But what I still don’t understand why Plex forces a transcode on devices that surely, must be capable of direct play. The FireTv plays with other software, so it must be capable, and we’re talking about an Xbox One S - that’s capable of rendering UHD HDR games, but allegedly can’t direct play a pre-rendered source?

Fair enough; I’m clearly not a media specialist, but is an Xbox One S really not capable of direct play?

Edit: Just found this

Put simply; Plex does so many things really well, but it doesn’t allow me to play my movies. Kodi doesn’t do half what Plex does, but it does allow me to play my movies! Seriously considering cancelling the plex plus pass at the moment…

Also found this which states compatible UHD 4k content can be direct streamed to Xbox One S. I’d even be happy if there was an option to optimise titles that aren’t compatible with the correct, compatible Xbox One S spec - but there doesn’t seem to be at the moment.

Maybe just use the Plex for Kodi addon?

https://www.plex.tv/apps/computer/kodi/

@HeartWare42 said:

It probably wouldn’t help if you were able to force direct play - the playback device most likely isn’t capable of playing back the movie directly in the format that it is stored.
@28061 said:

The devices must be, because they work fine via direct play with other software.

According to Plex Server, they aren’t (compatible). That’s why it is transcoding.

Try to log on to your Plex Server using Plex Media Player or the Web Interface. Then try to play back the file on your XBox. Once the playback is running, you should be able to see it appear as a “1” in the Status icon (the zig-zag one) in the upper right corner. Click it and you should see the active playbacks. Locate the one you are currently playing, and you should be able to see the reason that Plex is transcoding the file.

@yesternow said:
Maybe just use the Plex for Kodi addon?

https://www.plex.tv/apps/computer/kodi/

The plex for kodi add-on doesn’t work for the Xbox One S version of kodi yet.

@28061 said:

@yesternow said:
Maybe just use the Plex for Kodi addon?

https://www.plex.tv/apps/computer/kodi/

The plex for kodi add-on doesn’t work for the Xbox One S version of kodi yet.

…And it has had one small connectivity update in a year. Not to mention 75% of mine and others media will not play at all.
Anyway back on topic. Sadly the money you spent on the CPU upgrade was a really unfortunate decision. It would have been a far wiser investment getting a Shield for playback only. I have had access to many clients thanks to the some of the people I share with. None come close to the Shield.
The Shield is not the prettiest client but it has no issues direct playing my UHD Remuxes. I should add i also have an av receiver so that obviously takes away any audio direct play issues.

The reason your clients won’t playback those files is that they don’t support playback of your codecs (vc1, HEVC, etc) in natively. Some apps (emby, Kodi) developed their own decoders and decode in software, but Plex uses the native players on each platforms, and most of them suck codec-support wise, forcing Plex to transcode.

That said, in most cases I can’t personnally see the difference between direct played and transcoded playback when bandwidth is sufficient. I think if you were not transcoding HDR to SDR you wouldn’t mind so much either.

@HitsVille said:
Sadly the money you spent on the CPU upgrade was a really unfortunate decision. It would have been a far wiser investment getting a Shield for playback only.

In hindsight, I’ve made a number of poor purchase decisions. The processor is unfortunate, but still has other applications and benefits. I also bought the Fire Tv just for the purposes streaming 4k, which aside from compatability, is fundamentally floored by it’s lack of gigabit ethernet. So that’s up for sale too, at just 5 weeks old.

Users tend to obsess too much about the Plex server & spending a lot of money on beefy hardware capable of transcoding. However if you choose a decent client that will Direct Play everything then server power is irrelevant not to mention the quality is better. Before I moved my media to Google Drive my PMS ran on a 4TB Seagate Personal Cloud which must be the lowest powered NAS capable of running PMS & it was capable of streaming at least five simultaneous 1080p streams because I was not transcoding & never wanted to be transcoding.

The Nvidia Shield is the only standalone Plex client that supports HDR & will Direct Play everything. If you can live without HDR then far cheaper is an Odroid C2 (like a Raspberry Pi but up to 10x faster) running OpenPHT which is an Open Source version of the old Plex Home Theatre on top of LibreElec i.e. Kodi which gives you the best of both worlds Plex for the library & Kodi for the player.

@HeartWare42 said:

@HeartWare42 said:

It probably wouldn’t help if you were able to force direct play - the playback device most likely isn’t capable of playing back the movie directly in the format that it is stored.
@28061 said:

The devices must be, because they work fine via direct play with other software.

According to Plex Server, they aren’t (compatible). That’s why it is transcoding.

Try to log on to your Plex Server using Plex Media Player or the Web Interface. Then try to play back the file on your XBox. Once the playback is running, you should be able to see it appear as a “1” in the Status icon (the zig-zag one) in the upper right corner. Click it and you should see the active playbacks. Locate the one you are currently playing, and you should be able to see the reason that Plex is transcoding the file.

It says “transcoding HEVC to h264” and “transcoding TrueHD to AAC”

According to the Plex FAQ, TrueHD\DTS isn’t compatible with direct stream\play, so I accept that’ll need transcoding, but it states h265\HEVC is compatible for direct play\stream.

@nigelpb said:
Users tend to obsess too much about the Plex server & spending a lot of money on beefy hardware capable of transcoding.

My PMS runs as a small part of my FreeNas server, which also does a lot of other things, including running VM’s, so I’m ok with a hardware investment - it’ll benefit elsewhere, or that’s what I’m telling myself - it’s ran perfectly fine on a i3 for the last four years!!!

The Nvidia Shield is the only standalone Plex client that supports HDR & will Direct Play everything. If you can live without HDR then far cheaper is an Odroid C2 (like a Raspberry Pi but up to 10x faster) running OpenPHT which is an Open Source version of the old Plex Home Theatre on top of LibreElec i.e. Kodi which gives you the best of both worlds Plex for the library & Kodi for the player.

The Shield is also quite expensive… I get that you get what you pay for, but it just seems daft that the Xbox One S can’t do it at the moment.

I can probably live without HDR - my HDMI signal is sent via a HdBaseT extender from upstairs to downstairs, and don’t know if that’s HDR compatible anyway. I’ll have a look at the Odroid box.

@Thronic said:
Been thinking about swapping out my chromecast. Sounds like Shield is the way to go.

Ironically the Shield has full Chomecast built in. But night and day better performance. :slight_smile:

@28061 said:

@nigelpb said:
Users tend to obsess too much about the Plex server & spending a lot of money on beefy hardware capable of transcoding.

My PMS runs as a small part of my FreeNas server, which also does a lot of other things, including running VM’s, so I’m ok with a hardware investment - it’ll benefit elsewhere, or that’s what I’m telling myself - it’s ran perfectly fine on a i3 for the last four years!!!

The Nvidia Shield is the only standalone Plex client that supports HDR & will Direct Play everything. If you can live without HDR then far cheaper is an Odroid C2 (like a Raspberry Pi but up to 10x faster) running OpenPHT which is an Open Source version of the old Plex Home Theatre on top of LibreElec i.e. Kodi which gives you the best of both worlds Plex for the library & Kodi for the player.

The Shield is also quite expensive… I get that you get what you pay for, but it just seems daft that the Xbox One S can’t do it at the moment.

I can probably live without HDR - my HDMI signal is sent via a HdBaseT extender from upstairs to downstairs, and don’t know if that’s HDR compatible anyway. I’ll have a look at the Odroid box.

Honestly HDR is pretty great but I would just stick with what you have until support comes. It’s just a shame about the CPU.
As you already discovered the Wiki still suggests CPU score is the be all and end all. When in truth a basic KabyLake i3 with a score of 5-6 thousand will outperform any 9-10 thousand scoring older CPU when it comes to transcoding.

@28061 said:

It says “transcoding HEVC to h264” and “transcoding TrueHD to AAC”

And if you look at the thread you linked to - forums.plex.tv/discussion/comment/1485874/#Comment_1485874 and the post following it, you’ll see:

@adamskoog said:

  1. DTS (my addition: and by extension TrueHD) is not a supported codec for the Xbox One (outside of the Bluray app at least). This will always trigger an audio transcode.
  2. h265 is supported, but if anything needs to be transcoded (see #1) then the h265 will need to be transcoded to h264 (I can’t remember the exact reasons for this offhand). During this transcode to h264 it will also transcode down to 1080p.

and

@jmckee said:
It’s because H265 (HEVC) is not currently supported by the HLS (the streaming format used) standard. So it has to be converted from HEVC to H264. And then the last bit was due to a problem with the Microsoft H264 decoder causing issues with 4K material playback.

So HEVC with DTS or HD Audio is not supported by XBox, and the transcoding of the audio forces a transcoding of the video as well.

If you want it to direct play, it seems like you’ll need to use HEVC with AAC 5.1 audio or (maybe) LPCM or FLAC 5.1 audio if supported and you want full audio quality.

@HeartWare42 said:
So HEVC with DTS or HD Audio is not supported by XBox, and the transcoding of the audio forces a transcoding of the video as well.

Not exactly. DTS or HD Audio is not supported by Xbox in any format yet. HEVC previously was not supported as a transcoding target so HEVC needed to be transcoded. That is no longer the case and for all Xbox One’s (except the original non-s version) The HEVC can be preserved and only the audio will transcode if needed.

The developers are looking into implementing audio passthrough which will allow the player to ignore the audio track and have your follow-on device do the decoding (Either a TV, Receiver, Soundbar, etc). But there has not been a timeline released for that implementation as of yet. I have seen a few people report success with the Dolby Access app, but my understanding is that it does not add additional decoding functionality to the current player but instead allows the xbox to mux the signal into a HD dolby stream for receivers.

@jmckee said:
Not exactly. DTS or HD Audio is not supported by Xbox in any format yet. HEVC previously was not supported as a transcoding target so HEVC needed to be transcoded. That is no longer the case and for all Xbox One’s (except the original non-s version) The HEVC can be preserved and only the audio will transcode if needed.

Just to clarify then. HEVC is now supported as an encoding format in HLS so there’s no implicit need to transcode HEVC to H264 just because there’s an audio transcoding being done?

And HEVC/TrueHD should be Direct Stream’ed as HEVC/AAC audio to all X-Box Ones (except the original non-S version)?

Is this implemented in all current versions/players of Plex, or “just” for some?