Plex client on Shield Pro won't Direct Play, but Kodi and other devices will

For a few years I had been using the Shield Pro as my Plex server and player with a hard drive attached to it for the media storage. It was always an issue transferring to media to it via SMB. That made me need to shut down, disconnect the drive, connect to computer to transfer, and so on. So recently I switched the server to a Mac Mini M1. It worked great for few weeks. No issues with Direct Play and getting Atmos and DTS-X sound using the Shield Pro as just a client and the Mac Mini M1 as the server. In the past few days it has not been working. Movies have been slow to start and would glitch when skipping forward or backward. Movies will no longer Direct Play at all and I even get an error in the Plex client that says “The server is not powerful enough to convert video.” They are only 1080p SDR movies and the TV is also 1080p SDR, so no conversion happening. There’s no way the Mac Mini M1 is not fast enough for this, and transcoding shouldn’t be necessary. Today I just upgraded my computer to a Mac Studio M1 Max and have the exact same issues. Everything is connected via Ethernet.

I can Direct Play from an Apple TV with no issues. I can also Direct Play and get Atmos and DTS-X sound with no issues in Kodi (with Plex add-on) on the same Shield Pro. So that makes it clear that it’s not an issue with the Mac Mini or Mac Studio or the Shield Pro. There’s something wrong with the Plex client on the Shield Pro, even after a factory reset and reinstall of the apps.

I’ve tried factory resetting the Shield Pro, but that didn’t help. I’ve tried adjusting every setting I could think of, including:

  • Passthrough is set to HDMI. No difference. If it does play I only get PCM instead of the original audio.
  • Setting the Shield Pro audio setting to manually indicate that my audio system can play every format (which it can), and also tried on Auto. No difference.
  • Refresh rate switching on or off. No difference.
  • Resolution switching on or off. No difference.
  • Setting local video and remote video to max quality.
  • Turning HDMI-CEC on and off (makes no difference)
  • Adjust automatically is turned off.
  • Play smaller video at original… turned on or off makes no difference.
  • H.264 max level set to 5.2 (recommended). Did not try changing that.
  • Plex Server app on the Shield Pro disabled and enabled. It made no difference.
  • I tried retranscoding the video in Handbrake. No difference.
  • I deleted all tracks from the MKV except the video, TrueHD audio, SRT subtitle, and chapters. No difference.
  • Changed Shield Pro resolution from default (1080p 8 bit 59.94Hz) to 23.97Hz. No difference.
  • HDMI fixed volume in Shield settings set to on or off. No difference.

Thoughts?

Server Version#: 4.78.4
Player Version#: 9.0.4.31825

Here are logs. I noticed the 4th to last entry is “[Transcode] MDE: Cannot direct stream audio stream due to codec truehd when profile only allows opus.” I don’t know what that means. I searched and could not find any info on it. I also notice there are 4 lines in the log that say something about the resolution 3840x2160. All the movies are only 1080p and the display is also only 1080p. The Shied Pro is also set to 1080p. I have no idea where the 3840x2160 resolution is coming from.

Apr 07, 2022 00:41:46.420 [0x305c4b000] Debug — Request: [10.0.1.100:50592 (Subnet)] GET /library/metadata/10567?includeChapters=1&includeLoudnessRamps=1&includeMarkers=1&includeRelated=1 (8 live) TLS GZIP Signed-in Token (MH) (SHIELD)
Apr 07, 2022 00:41:46.438 [0x305c4b000] Debug — It took 20.000000 ms to retrieve 140 items.
Apr 07, 2022 00:41:46.451 [0x305c4b000] Debug — It took 0.000000 ms to retrieve 140 items.
Apr 07, 2022 00:41:46.452 [0x305c4b000] Debug — We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:41:46.452 [0x305c4b000] Debug — Selecting best audio stream for part ID 66388 (autoselect: 0 language: en)
Apr 07, 2022 00:41:46.452 [0x305c4b000] Debug — Audio Stream: 161270, Subtitle Stream: -1
Apr 07, 2022 00:41:46.462 [0x305c4b000] Debug — It took 10.000000 ms to retrieve 140 items.
Apr 07, 2022 00:41:46.497 [0x305c4b000] Debug — It took 0.000000 ms to retrieve 193 items.
Apr 07, 2022 00:41:46.501 [0x305c4b000] Debug — It took 0.000000 ms to retrieve 103 items.
Apr 07, 2022 00:41:46.503 [0x305cce000] Debug — Request: [10.0.1.100:50596 (Subnet)] GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&directPlay=1&directStream=1&directStreamAudio=1&fastSeek=1&hasMDE=1&location=lan&maxVideoBitrate=200000&mediaBufferSize=127552&mediaIndex=0&partIndex=0&path=%2Flibrary%2Fmetadata%2F10567&protocol=&session=ce3a6f7ed6312cae-com-plexapp-android&subtitleSize=100&videoBitrate=200000&videoQuality=100&videoResolution=3840x2160 (9 live) TLS GZIP Signed-in Token (MH) (SHIELD)
Apr 07, 2022 00:41:46.503 [0x305cce000] Debug — [Transcode] Found session GUID of ce3a6f7ed6312cae-com-plexapp-android in session start.
Apr 07, 2022 00:41:46.503 [0x305cce000] Debug — [Transcode] TranscodeUniversalRequest: using augmented profile Android
Apr 07, 2022 00:41:46.503 [0x305cce000] Debug — [Transcode] Downloading document http://127.0.0.1:32400/library/metadata/10567?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=ce3a6f7ed6312cae-com-plexapp-android
Apr 07, 2022 00:41:46.504 [0x305c4b000] Debug — It took 0.000000 ms to retrieve 115 items.
Apr 07, 2022 00:41:46.507 [0x305cce000] Debug — [Transcode] It took 0.000000 ms to retrieve 140 items.
Apr 07, 2022 00:41:46.511 [0x305cce000] Debug — [Transcode] It took 10.000000 ms to retrieve 140 items.
Apr 07, 2022 00:41:46.512 [0x305cce000] Debug — [Transcode] We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:41:46.512 [0x305cce000] Debug — [Transcode] Selecting best audio stream for part ID 66388 (autoselect: 0 language: en)
Apr 07, 2022 00:41:46.512 [0x305cce000] Debug — [Transcode] Audio Stream: 161270, Subtitle Stream: -1
Apr 07, 2022 00:41:46.514 [0x305cce000] Debug — [Transcode] Streaming Resource: Added session 0x7fd671886a68:ce3a6f7ed6312cae-com-plexapp-android
Apr 07, 2022 00:41:46.514 [0x305cce000] Debug — [Transcode] Streaming Resource: Reached Decision id=10567 codes=(MDE=1000,Direct play OK.) media=(id=63171 part=(id=66388 decision=direct play protocol=
streams=(Video=(id=161269 decision= width=1920 height=808) Audio=(id=161270 decision= channels=0 rate=0))))
Apr 07, 2022 00:41:46.514 [0x305c4b000] Debug — We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:41:46.514 [0x305c4b000] Debug — Selecting best audio stream for part ID 66387 (autoselect: 0 language: en)
Apr 07, 2022 00:41:46.514 [0x305c4b000] Debug — Audio Stream: 161267, Subtitle Stream: -1
Apr 07, 2022 00:41:46.514 [0x306201000] Debug — Completed: [10.0.1.100:50596] 200 GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&directPlay=1&directStream=1&directStreamAudio=1&fastSeek=1&hasMDE=1&location=lan&maxVideoBitrate=200000&mediaBufferSize=127552&mediaIndex=0&partIndex=0&path=%2Flibrary%2Fmetadata%2F10567&protocol=&session=ce3a6f7ed6312cae-com-plexapp-android&subtitleSize=100&videoBitrate=200000&videoQuality=100&videoResolution=3840x2160 (9 live) TLS GZIP 11ms 4830 bytes (pipelined: 1)
Apr 07, 2022 00:41:46.515 [0x305c4b000] Debug — We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:41:46.515 [0x305c4b000] Debug — Selecting best audio stream for part ID 65381 (autoselect: 0 language: en)
Apr 07, 2022 00:41:46.515 [0x305c4b000] Debug — Audio Stream: 158816, Subtitle Stream: -1
Apr 07, 2022 00:41:46.516 [0x305c4b000] Debug — We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:41:46.516 [0x305c4b000] Debug — Selecting best audio stream for part ID 67111 (autoselect: 0 language: en)
Apr 07, 2022 00:41:46.516 [0x305c4b000] Debug — Audio Stream: 162946, Subtitle Stream: -1
Apr 07, 2022 00:41:46.516 [0x305c4b000] Debug — We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:41:46.516 [0x305c4b000] Debug — Selecting best audio stream for part ID 65716 (autoselect: 0 language: en)
Apr 07, 2022 00:41:46.516 [0x305c4b000] Debug — Audio Stream: 159729, Subtitle Stream: -1
Apr 07, 2022 00:41:46.517 [0x305c4b000] Debug — We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:41:46.517 [0x305c4b000] Debug — Selecting best audio stream for part ID 66363 (autoselect: 0 language: en)
Apr 07, 2022 00:41:46.517 [0x305c4b000] Debug — Audio Stream: 161192, Subtitle Stream: -1
Apr 07, 2022 00:41:46.521 [0x30617e000] Debug — Completed: [10.0.1.100:50592] 200 GET /library/metadata/10567?includeChapters=1&includeLoudnessRamps=1&includeMarkers=1&includeRelated=1 (9 live) TLS GZIP 101ms 25091 bytes (pipelined: 4)
Apr 07, 2022 00:41:46.581 [0x305cce000] Debug — Request: [10.0.1.100:50600 (Subnet)] GET /library/parts/66388/1649311308/file.mkv?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=127552 (10 live) TLS Signed-in Token (MH) (SHIELD) (range: bytes=0-)
Apr 07, 2022 00:41:46.583 [0x305cce000] Debug — Content-Length of /Volumes/Plex/Movies/Movie_title.mkv is 6360725777 (of total: 6360725777).
Apr 07, 2022 00:41:46.687 [0x305c4b000] Debug — Request: [10.0.1.100:50602 (Subnet)] GET /library/parts/66388/1649311308/file.mkv?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=127552 (11 live) TLS Signed-in Token (MH) (SHIELD) (range: bytes=6360724786-)
Apr 07, 2022 00:41:46.690 [0x305c4b000] Debug — Content-Length of /Volumes/Plex/Movies/Movie_title.mkv is 991 (of total: 6360725777).
Apr 07, 2022 00:41:46.691 [0x30617e000] Debug — Completed: [10.0.1.100:50602] 206 GET /library/parts/66388/1649311308/file.mkv?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=127552 (11 live) TLS 3ms 991 bytes (range: bytes=6360724786-)
Apr 07, 2022 00:41:46.700 [0x306201000] Debug — Failed to stream media, client probably disconnected after 1146880 bytes: 32 - Broken pipe
Apr 07, 2022 00:41:46.700 [0x306201000] Debug — Completed after connection close: [10.0.1.100:50600] 206 GET /library/parts/66388/1649311308/file.mkv?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=127552 (11 live) TLS 119ms 1146880 bytes (range: bytes=0-)
Apr 07, 2022 00:41:46.790 [0x305cce000] Debug — Request: [10.0.1.100:50604 (Subnet)] GET /library/parts/66388/1649311308/file.mkv?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=127552 (11 live) TLS Signed-in Token (MH) (SHIELD) (range: bytes=6540-)
Apr 07, 2022 00:41:46.797 [0x305cce000] Debug — Content-Length of /Volumes/Plex/Movies/Movie_title.mkv is 6360719237 (of total: 6360725777).
Apr 07, 2022 00:41:48.595 [0x306201000] Debug — Completed: [10.0.1.209:52933] 200 GET /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (10 live) TLS GZIP 20001ms 5 bytes (pipelined: 23)
Apr 07, 2022 00:41:48.608 [0x305c4b000] Debug — Request: [10.0.1.209:52933 (Subnet)] GET /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (10 live) TLS GZIP Signed-in Token (MH) (Chrome)
Apr 07, 2022 00:41:48.608 [0x305c4b000] Debug — Content-Length is -1 (of total: -1).
Apr 07, 2022 00:42:08.609 [0x306201000] Debug — Completed: [10.0.1.209:52933] 200 GET /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (9 live) TLS GZIP 20001ms 5 bytes (pipelined: 24)
Apr 07, 2022 00:42:08.630 [0x305c4b000] Debug — Request: [10.0.1.209:52933 (Subnet)] GET /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (9 live) TLS GZIP Signed-in Token (MH) (Chrome)
Apr 07, 2022 00:42:08.630 [0x305c4b000] Debug — Content-Length is -1 (of total: -1).
Apr 07, 2022 00:42:17.384 [0x306596000] Debug — NetworkServiceBrowser: SSDP departed after not being seen for 21.895833 seconds: 10.0.1.40 (Family Room)
Apr 07, 2022 00:42:25.900 [0x3069ae000] Debug — NetworkServiceBrowser: Parsing SSDP schema for http://10.0.1.40:8008/ssdp/device-desc.xml
Apr 07, 2022 00:42:25.900 [0x3069ae000] Debug — HTTP requesting GET http://10.0.1.40:8008/ssdp/device-desc.xml
Apr 07, 2022 00:42:25.922 [0x306307000] Debug — [HttpClient] HTTP/1.1 (0.0s) 200 response from GET http://10.0.1.40:8008/ssdp/device-desc.xml
Apr 07, 2022 00:42:25.922 [0x3069ae000] Debug — NetworkServiceBrowser: found 1 SSDP devices via http://10.0.1.40:8008/ssdp/device-desc.xml
Apr 07, 2022 00:42:25.922 [0x3069ae000] Debug — NetworkServiceBrowser: SSDP arrived: 10.0.1.40 (Family Room)
Apr 07, 2022 00:42:28.631 [0x306201000] Debug — Completed: [10.0.1.209:52933] 200 GET /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (7 live) TLS GZIP 20001ms 5 bytes (pipelined: 25)
Apr 07, 2022 00:42:28.653 [0x305c4b000] Debug — Request: [10.0.1.209:52933 (Subnet)] GET /player/proxy/poll?deviceClass=pc&protocolVersion=3&protocolCapabilities=timeline%2Cplayback%2Cnavigation%2Cmirror%2Cplayqueues&timeout=1 (7 live) TLS GZIP Signed-in Token (MH) (Chrome)
Apr 07, 2022 00:42:28.653 [0x305c4b000] Debug — Content-Length is -1 (of total: -1).
Apr 07, 2022 00:42:40.071 [0x30617e000] Debug — Failed to stream media, client probably disconnected after 519766016 bytes: 32 - Broken pipe
Apr 07, 2022 00:42:40.071 [0x30617e000] Debug — Completed after connection close: [10.0.1.100:50604] 206 GET /library/parts/66388/1649311308/file.mkv?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=127552 (7 live) TLS 53281ms 519766016 bytes (range: bytes=6540-)
Apr 07, 2022 00:42:40.399 [0x305c4b000] Debug — Request: [10.0.1.100:50610 (Subnet)] GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&directPlay=0&directStream=1&directStreamAudio=1&fastSeek=1&hasMDE=1&location=lan&maxVideoBitrate=200000&mediaBufferSize=209664&mediaIndex=0&partIndex=0&path=%2Flibrary%2Fmetadata%2F10567&protocol=
&session=ce3a6f7ed6312cae-com-plexapp-android&subtitleSize=100&videoBitrate=200000&videoQuality=100&videoResolution=3840x2160 (7 live) TLS GZIP Signed-in Token (MH) (SHIELD)
Apr 07, 2022 00:42:40.400 [0x305c4b000] Debug — [Transcode] Found session GUID of ce3a6f7ed6312cae-com-plexapp-android in session start.
Apr 07, 2022 00:42:40.402 [0x305c4b000] Debug — [Transcode] TranscodeUniversalRequest: using augmented profile Android
Apr 07, 2022 00:42:40.402 [0x305c4b000] Debug — [Transcode] Downloading document http://127.0.0.1:32400/library/metadata/10567?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=ce3a6f7ed6312cae-com-plexapp-android
Apr 07, 2022 00:42:40.417 [0x305c4b000] Debug — [Transcode] It took 10.000000 ms to retrieve 140 items.
Apr 07, 2022 00:42:40.429 [0x305c4b000] Debug — [Transcode] It took 10.000000 ms to retrieve 140 items.
Apr 07, 2022 00:42:40.430 [0x305c4b000] Debug — [Transcode] We’re going to try to auto-select an audio stream for account 1.
Apr 07, 2022 00:42:40.430 [0x305c4b000] Debug — [Transcode] Selecting best audio stream for part ID 66388 (autoselect: 0 language: en)
Apr 07, 2022 00:42:40.430 [0x305c4b000] Debug — [Transcode] Audio Stream: 161270, Subtitle Stream: -1
Apr 07, 2022 00:42:40.434 [0x305c4b000] Debug — [Transcode] MDE: Selected protocol hls; container: mkv
Apr 07, 2022 00:42:40.434 [0x305c4b000] Debug — [Transcode] MDE: analyzing media item 63171
Apr 07, 2022 00:42:40.434 [0x305c4b000] Debug — [Transcode] MDE: Movie_title: Direct Play is disabled
Apr 07, 2022 00:42:40.434 [0x305c4b000] Debug — [Transcode] MDE: Movie_title: media must be transcoded in order to use the hls protocol
Apr 07, 2022 00:42:40.434 [0x305c4b000] Debug — [Transcode] MDE: Movie_title: no direct play video profile exists for http/mkv/h264
Apr 07, 2022 00:42:40.434 [0x305c4b000] Debug — [Transcode] MDE: Movie_title: no direct play video profile exists for http/mkv/h264/truehd
Apr 07, 2022 00:42:40.435 [0x305c4b000] Debug — [Transcode] MDE: Cannot direct stream audio stream due to codec truehd when profile only allows opus
Apr 07, 2022 00:42:40.435 [0x305c4b000] Debug — [Transcode] MDE: HMovie_title: selected media 0 / 63171
Apr 07, 2022 00:42:40.435 [0x305c4b000] Debug — [Transcode] Streaming Resource: Reached Decision id=10567 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=63171 part=(id=66388 decision=transcode container=mkv protocol=hls streams=(Video=(id=161269 decision=copy width=1920 height=808) Audio=(id=161270 decision=transcode bitrate=1032 encoder=libopus channels=8 rate=48000))))
Apr 07, 2022 00:42:40.438 [0x306201000] Debug — Completed: [10.0.1.100:50610] 200 GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&directPlay=0&directStream=1&directStreamAudio=1&fastSeek=1&hasMDE=1&location=lan&maxVideoBitrate=200000&mediaBufferSize=209664&mediaIndex=0&partIndex=0&path=%2Flibrary%2Fmetadata%2F10567&protocol=*&session=ce3a6f7ed6312cae-com-plexapp-android&subtitleSize=100&videoBitrate=200000&videoQuality=100&videoResolution=3840x2160 (7 live) TLS GZIP 38ms 4837 bytes (pipelined: 1)

1 Like

Similar issues I have several 4K discs (all 9 Star Wars movies) watched 1-3 a couple of weeks ago w/o problem. Now I’m lucky if they start up at all (orange spinning rings galore) and if it does, I’m seeing transcoding from TrueHD/Atmos to Opus. Playing with native Kodi on the same Shield - plays fine, ATMOS w/o an issue. Clearly the Plex Client has gone into the toilet

I have some additional information. Today I noticed there was another update to the Plex client on the Shield Pro. I had just updated the app yesterday, so this is a new overnight update. Unfortunately this new version (9.05.something) did not solve the problem. This is the 3rd version that I’ve see released in the past week. I’ve been reading here on the forums today and came across this thread Nvidia Shield Dolby TrueHD playback is borked - #225 by hummelm where there’s a lot of talk about this issue which seems pretty widespread. I don’t really want to get into beta testing, but it looks like the 9.1 version may fix the issue when it’s released.

I have found a temporary solution besides Kodi though. When I checked the version of the app in the Shield by going to Settings, Apps, and then clicking on Plex, I noticed there’s an option to remove updates. I did this and it set the Plex app back to version 5.6.1.505. That version works without issue. Obviously it’s a very old version, but it works and you can even force Direct Play and Direct Stream. I really don’t understand why those are not options on newer versions. I also don’t understand how a widespread issue like this goes on for so long without being fixed, especially when there are constantly new versions of the app being released on the Google Play store (I had at least 3 updates this week alone).

Another update. Since it appeared really easy to remove updates and roll back to the older version of the Plex client, and also easy to enroll in beta testing, I went ahead and installed the latest beta 9.1.0.31834. From just a short test, the issue appears to be fixed with the latest beta.

For anyone that wants to try the beta here is the link to the releases. Release Announcements - Android TV beta - #515 by marekszulik

You could also sideload the last 8.30 version after uninstalling the updates. I’m on one of the last 8.30 versions (don’t remember exactly which one) and no issues with HD Audio format. I have auto-update turned off on all of my streaming devices where possible.

1 Like

Thanks for that hint. I was able to figure out how to sideload from my Mac to the Shield over Ethernet. It turned out to be really simple and Atmos is working again with 8.30.2.31202.

1 Like

Can also confirm, latest beta (9.1.0.31883-c5303abe) fixes TrueHD problem. Was going crazy trying to troubleshoot this. Thanks guys for the help.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.