Questions about Hardware Transcoding functionality. And also Hardware Transcoding vs. Software Transcoding?

Background:

I have a question regarding Plex Hardware Transcoding functionality.

First off (in case this feature works differently depending where Plex Media Server (aka PMS) is installed / running), here is my setup:

In my case, Plex Media Server (latest PlexPass PMS Beta 1.26.0.5715 version) is running on a 2019 model NVidia Shield Pro.

Transcoding questions:

Question 1. How do I know / how can I be sure Plex Media Server is actually doing Hardware transcoding, as opposed to Software-based transcoding’ ?

(I want to know how to check this in case e.g. HW transcoding is enabled, but not functional / not working due to a current bug or other issue for instance).

I believe there is a ‘(HW)’ notation when hardware transcoding is being used?

E.g. For Video it shows ‘Transcode(HEVC(HW) - H264(HW)’

But for Audio, the same clip shows the following:

‘Audio Transcode(TRUEHD - OPUS)’

‘Transcode Reason TrueHD audio is not supported by the device’.

Question 2. So the Shield and Plex can only EITHER use HW transcoding for Video OR use HW transcoding for Audio, but use HW transcoding for both simultaneously?

Or is there a bug or no need for audio HW transcoding (in some cases)?
EDIT - Perhaps because audio transcoding uses limited processing power (CPU power), it is not required.

Question 3.:

Interesting situation (maybe someone can explain why the following 4K (2160) X265 video / TrueHD audio clip plays fine on my Android mobile phone, but does NOT play back on my Shield itself???:

A) On my Android mobile phone, the clip plays fine (after a few seconds due to transcoding):

’Video - Copy(HEVC)’ << i.e. no transcoding since playback of that video format is supported by the PlexTV client (playback) device.

‘Audio Transcode(TRUEHD - OPUS)’

‘Transcode Reason TrueHD audio is not supported by the device’.

B) Playback of the same clip as above (4K X265 with TrueHD audio) does not even start when playing back on Shield itself, connected to a 1080P TV:

(i.e. Shield acting as a client as well).

In this case, I see (HW) transcoding appears to be in use for the Video portion too (unlike on the mobile device where it is using Copy mode).

For Video it shows ‘Transcode(HEVC(HW) - H264(HW)’

For 'Audio is shows ‘Transcode(TRUEHD - OPUS)’

‘Transcode Reason TrueHD audio is not supported by the device’.

(same as on my Mobile phone).

But, like the first clip, Plex is not using HW transcoding for the audio - i.e. there is no ‘(HW)’ notation under audio details.

I am trying to figure out whether Hardware Transcoding is broken - i.e. on Shield itself or on both the Shield and clients.

And more importantly trying to figure out why the clip does not play on the Shield itself (but plays fine on my mobile).

Thanks in advance for any insights!

That’s your answer to question 1.

And number 2.

Unfortunately question 3 is trickier. And is likely going to need log files (Reporting issues with Plex Media Server | Plex Support) to try and work out why nothing is playing.

1 Like

HW Transcoding is only for video. Audio is always done in software, there is no hardware to do this since audio transcoding is relatively easy compared to video.

For Video it shows ‘Transcode(HEVC(HW) - H264(HW)’

That’s it. Decoding - Encoding. In this example, it’s using HW for both.

Playback of the same clip as above (4K X265 with TrueHD audio) does not even start when playing back on Shield itself , connected to a 1080P TV

Not sure why it doesn’t play. Would need to see logs from the Plex app on the Shield to check. It is transcoding because it’s a 1080 TV. There is a setting in the app “Resolution Switching”. Turn that on. That will force 4k output to the Shield. The Shield will then handle the conversion to 1080.

1 Like

hw transcoding is broken on the shield as of now is my understanding. their latest release stated that there was a fix but people are reporting that it is not fixed. also there are issues with truehd atmos/other content (long threads on each of these issues, each of which has been posted on as recently as hours ago).

The latest beta release of the player seems to have fixed the truehd stuff but HW transcoding has been borked since late last year.

1 Like

Thanks confirming that my own suspicions / understanding regarding questions 1 and 2 were correct!
Understood regarding logs, thanks.

Thanks a lot!
(Yes, I figured out the audio after I posted, both logically speaking - less CPU intensive and the other clue is that the descriptive verbiage for the HW Transcoding settings in the web UI do not mention Audio), only Video.

Appreciate the Decoding - Encoding nuance, thanks! So I can see whether HWE transcoding is used for one aspect, or both as in this. particular example I shared.

As suggested, I enabled “Resolution switching” (not to be confused with Resolution Rate Switching), but it did not help - the clip still failed to play.

I also tried on an older ‘Roku 3’ and it did NOT work.

Note - The same clip does work on my 3 Roku Ultras (albeit after updating PMS to 1.26 since with PMS 1.23, it no longer worked for TrueHD clips due to an issue introduced with the April 5th PlexTV client app upgrade). BUT those three (3) Roku Ultras are ALL connected to 4K TVs (some of which support TrueHD and one which does not).

The Roku 3 does provide the following info, under *‘Stream Info’ > ‘Playback (spaces) Transcode’, the descriptive text says the following:
directPlay: Can direct play Forced Direct Play
transcode" selected audio stream is incompatible. Server has decided this cannot direct play Video bitrate is greater than allowed quality setting. Video resolution is not su"
(it is truncated after the ‘su’ at the very end, due to space / character length limitations no doubt).

Also under ‘Speed’ is says 0.3 (and below it explains transcode health. Values greater than 1 mean
 (etc.)

That was to just stop the transcoding. Did that stop? Need logs to check why it doesn’t play.

1 Like

Thanks for confirming the reason behind it.

No, Resolution Switching set to ON did NOT stop the transcoding when playing back on the Shield itself.
Even with Res Switching On, I still see it using HW transcoding.

Ok, definitely need logs then.

1 Like

Maybe the following 2 observations for the same clip will give some clues / help you with any potential root cause:

I reproduced the issue with 2 videos (playback on the Shield itself) - It happens only TrueHD clips as noted.
Also if I manually select the AC3 audio stream (‘More’ > ‘Playback Settings’ > ‘Select Audio Stream’ and change it from TrueHD to AC3, the clip plays back very quickly with no issues.
The same approach worked for both videos


The odd thing, is when I select the AC3 Audio stream, there is NO video transcoding - For Video it It says ‘Direct Play (HEVC)’ (and obviously for Audio it says ‘DirectPlay (EAC3 5.1)’.
However , for the same clip, when I select the TrueHD audio stream, it says transcoding for Video too! 'Transcode(HEVC(HW) - H264(HW).

Which logs do you need? I assume the Plex Media Sever Log (not the Transcode Statistics Log)?

How can I share the logs? Direct Message?

I would like to see both the server log and android log. You can pm them to me.

I sent you the PMS log. (Could not find the Android log).
Hope that helps to identify the cause of the issue with playback of all my TrueHD clips (they are all UHD resolution) on my Shield TV Pro and Roku 3 connected to the 1080P TV.

(As noted, my Roku Ultras are working fine, albeit all of those are connected to UHD TVs).

Thanks!

Your video has the smte2048 color space, which is an indication of HDR, which your TV doesn’t appear to support.

PMS is converting this to a standard colorspace but then the app fails to play it back. I’ll need to test why this isn’t working. It should.

Thanks for figuring out (narrowing down) where it is failing. That helps!
Looking forward to updates.

PS: (At home at least) we mostly use 4K TVs for Plex, but this is one of the few remaining 1080P TVs.
It is being replaced with an UHD HDR Atmos TV arriving tomorrow. That is assuming I keep the replacement, which was partially prompted by this issue and partially since I wanted to upgrade it. However I have typically not used that TV often as it is in my home office room and we watch our content in other rooms the large majority of the time; so I am still debating, but leaning towards keeping the new TV). However when away from home we watch on 1080P TVs. Also one of the 4K TVs (in the room where we watch the least) does not support HDR; the others all do thankfully.

PS: I forgot to add that playback of other 4K HDR clips works fine on the same 1080P TV, so long as Audio stream is NOT TrueHD
 Just tested it

For all clips that do not work, the audio being TrueHD is the common denominator


I could only go by the info I saw for that 1 video. Can you play a 1080p video with TrueHD audio and get me that log. Also get me the xml info for that video.

1 Like

Thanks!

I played a 1080P clip (attached Plex Media Sever logs, Android Network logs and XML info - these 3 attachments have ‘1080’ in the filename).
It played fine.

I also attached the XML for the 2160 clip (‘2160’ in filename to distinguish it from the other clip). This is the 2160 clip that did NOT play (earlier post above - clip for which you checked the logs and noted the color space finding, indicating an HDR clip).

1080P Network Log - logging.txt (59.5 KB)
1080P TrueHD Plex Media Server 2022-04-29.log (179.2 KB)
1080 TrueHD Clip-4252.xml.txt (60.1 KB)

2160 TrueHD Clip-4238.xml.txt (56.3 KB)

@anon18523487,

Hope you saw my reply with the additional logs above.

Lost track of this. I got the logs and it shows that you have the option enabled for “Automatically Adjust Bitrate”. That will force a video transcode as that feature only works with transcoded video. Turn it off and see if that stops the transcoding.

1 Like

Thanks.
Yes, I have “auto adjust quality” (think that is what it i - not at home) enabled for the Video portion.
I assume ‘quality’ is what you mean by ‘bitrate’ (i.e. I am not aware of any other feature to automatically adjust quality other than the one named ‘auto adjust quality’).

I thought I had recently experimented with turning that setting off and believe that it did not help, but let me try (again) to be sure.
Will let you know the outcome.