Plex is transcoding 4k videos on my Nvidia shield.
The only these will play without transcoding is to uninstall updates on the client?
Some sort of bug with the new shield app?
Plex is transcoding 4k videos on my Nvidia shield.
The only these will play without transcoding is to uninstall updates on the client?
Some sort of bug with the new shield app?
These same files direct stream on the shield but as soon as I updated the client it tries to transcode.
Anyway to go back to the older player? Fix ?
Plex Media Server version?
Plex client version (updated)?
Above available via Authorized Devices.
Does this happen with just one video or with all?
What transcodes - video, audio, or both?
Plex Dashboard → Now Playing will show what is happening.
Please attach the XML information for one of the problematic videos.
Save the information as a txt file or zip it. The forum does not permit xml attachments.
See Investigate Media Information and Formats
Plex Server: Version 4.63.0
Client: 8.22.0.27166 (56347881)
Most 4k videos (Not all)
Both are transcoding, on the old plex app it direct streams both audio and video.
Is the only solution to uninstall all updates and use the really old client?
Processing: movie 1.xml…
movie 1.xml.zip (19.7 KB)
Thanks for the info.
The movie is HEVC 10-bit SDR (not HDR), but that shouldn’t be a problem as long as the TV supports that format (if it supports 4K HDR it should support 4K SDR).
codec="hevc" ... bitDepth="10" ... colorPrimaries="bt709" colorRange="tv" colorSpace="smpte170m"
Unlikely, but double check the video settings in the Shield itself, not the Plex app. Make sure the setting supports 10-bit (or 12-bit) video. If this is set incorrect then all your 10-bit videos would transcode.
Were subtitles enabled? If so, try playing the movie without them. It should not matter. But having them turned off eliminates a variable.
Why is the audio transcoding? Does the TV/soundbar/etc not support dts audio? If it should support dts, make sure you have passthrough = HDMI (or optical with dts enabled) in the Plex app settings.
What happens if the audio does not transcode? Can you test with a similar movie that has Dolby Digital (AC3) audio? AC3 should direct play/direct stream on most devices. AAC 2.0 is OK too. Basically any audio that does not transcode.
Please attach server log files (Settings → Troubleshooting → Download Logs). They should provide additional details. Attach the entire ZIP file.
FYI, the interesting log entries are in the Plex Media Server.[x].log files (at least to start). The entries contain MDE: which stands for Media Decision Engine. They and the surrounding lines have information why the movie is transcoding.
Everything is okay on the shield, as I said the video and audio direct stream on the old player (If I uninstall updates and go back to the default app).
Subtitles not enabled.
The audio normally direct streams, this is a problem with the new player.
Should be the last items in the log. Playing The hunger games catching fire.
Thanks for the log files.
Please disable verbose logging. Debug is all that is needed. Verbose adds a lot of unnecessary information to the log files. They wrap quickly and desired information can be lost. It also makes them much more difficult to read.
Settings → Server_Name → General (Show Advanced). Uncheck the box for verbose logging and save changes.
Something is enforcing a 20 Mbps bandwidth limitation, which forces the video transcode:
Aug 15, 2021 20:45:49.632 [1484] DEBUG - [Transcode] Streaming Resource: Calculated bandwidth of 229301kbps exceeds bandwidth limit. Changing decision parameters provided by client to fit bandwidth limit of 200000kbps
Check the Shield Plex app settings. If different, set them to the following:
Video Quality
Adjust Automatically = Off
Home Streaming = Maximum
Remote Streaming = Maximum
Play smaller videos = On
Settings are configured as you stated and transcoding still takes place.
Any other ideas?
What I think is happening:
Plex believes the video, at least at the beginning, bursts over 200 Mbps.
This exceeds the limit of the Shield, so the video transcodes.
Look in the XML information for the file. On the line for the video stream it has requiredBandwidths="259715,213871,131062,99297,93493,89615,76656,71057. Those entries are in kbps.
I misread the log entry I mentioned above. It shows a limit of 200 Mbps (200000 kbps), not 20 Mbps.
Check the XML information for some of the other misbehaving videos in your system. See if they show similar values
I could not find any movies in my library with such high requiredbandwidths entries, so I cannot replicate using my Shield.
You’ll notice the requiredBandwidth entries in the XML file for the audio tracks are obviously incorrect (2147483647 = (2e+31) - 1):
requiredBandwidths="2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,366658
It is unclear if the incorrect audio analysis is a problem. I have some movies in my library with the same audio analysis, but the audio still direct plays.
Plex refers to the analysis to generate the requiredBandwidths entries as Deep Analysis. This runs during the maintenance window scheduled in Settings → Scheduled Tasks.
You can force a manual reanalysis via the command line.
"C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Scanner.exe" --analyze-deeply --item 173156
Details are in Plex Media Scanner via Command Line.
The item number is listed in the XML information for each movie/show/etc. Example: ratingKey="173156" from the XML you provided for The Hunger Games: Catching Fire.
Deep Analysis may take several minutes to complete. If it returns quickly (under ~5 seconds), then it did not run correctly.
You can then re-pull the XML information to look for any changes.
This makes no difference.
The shield is capable of playing these movies as it does on the old player?
How do I fix this for most of my 4k movies ?
Did you try manually initiating a re-analysis of the movie?
Two other ideas:
Pull the Plex app log from the Shield. It might show something different than the server logs.
If you wish, use MKVToolNix and make a 60-90 second sample of the movie. I’ll load it into my system and see how it behaves. The file will be too large for the forum. You can upload it to DropBox/Google Drive/etc and send me the download link (PM it to me if desired).
Example:
I am having a similar issue where my Fire HD 10 year 2021 is unable to direct play through Plex; but I tested with MXPlayer and VLC and the x265 files play perfectly fine. I have attached my logs and XML file to this comment.
XML file.zip (15.8 KB)
Plex Client Logs.zip (15.9 KB)
Server Logs.zip (398.7 KB)
Plex Server Version 1.24.0.4930
Plex App for Android 8.21.1.27073 Downloaded from Amazon App Store
@Jeskid14 The tablet does not support 10-bit video, therefore, Plex transcodes it.
On Android devices Plex uses the ExoPlayer media player, which is part of Android. Plex is limited to the codecs supported by Android on the specific device.
Applications such as VLC include their own video player. They may play audio/video formats not supported by ExoPlayer and by extension, the Plex Android / Android TV app.
From XML. Note videoProfile="main 10":
<Media id="74792" duration="8774695" bitrate="5170" width="1920" height="1080" aspectRatio="1.78" audioChannels="8" audioCodec="aac" videoCodec="hevc" videoResolution="1080" container="mkv" videoFrameRate="24p" audioProfile="lc" videoProfile="main 10">
<Part accessible="1" exists="1" id="92401" key="/library/parts/92401/1549877542/file.mkv" duration="8774695" file="F:\Movies\The Hunger Games Series\The Hunger Games - Catching Fire (2013) IMAX (1080p BluRay x265 10bit Tigole)\The Hunger Games - Catching Fire (2013) IMAX (1080p BluRay x265 10bit Tigole).mkv" size="5667339000" audioProfile="lc" container="mkv" deepAnalysisVersion="4" requiredBandwidths="22416,18461,11814,9320,8359,8017,6374,5349" videoProfile="main 10">
<Stream id="367548" streamType="1" default="1" codec="hevc" index="0" bitrate="4501" bitDepth="10" chromaSubsampling="4:2:0" codedHeight="1080" codedWidth="1920" colorRange="tv" frameRate="23.976" height="1080" level="120" profile="main 10" refFrames="1" requiredBandwidths="21623,17671,11043,8549,7611,7268,5625,4666" width="1920" displayTitle="1080p (HEVC Main 10)" extendedDisplayTitle="1080p (HEVC Main 10)">
</Stream>
From Plex Media Server.log:
Aug 15, 2021 23:00:04.349 [2584] DEBUG - [Transcode] The Hunger Games: Catching Fire - video.profile limitation applies: main 10 != main [list]
From developer.amazon.com: Feature Specifications — Fire HD 10 (2021, 11th gen)
H.265 HEVC D (HW) Main Profile L4 1080p@30FPS
Well hot damn. That’s unfortunate to hear. Like I don’t mind transcoding the videos to the tablet, but since it is the only device in my whole house that doesn’t support it; it kind of sucks, ya know?
What other tablets support 10 bit x265?
Any tablet that supports HDR10 or Dolby Vision video (both are HEVC 10-bit). Maybe the iPad?
I’ve the 2017 FireHD 10. I’m in the same boat as you.
I am very confused, last night it started working (Direct streaming), no settings changed on the client or server.
Today I have the same problem again.
The problem is if I use the above software to generate a 90s clip and add that to my library, it works.
Something strange is happening with the latest player.
Logs will show this video playing this last night but transcoding today :s
More info…
When I first add the movies to the library they play on the shield.
Overnight or when the below command is run the files start to transcode.
“C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Scanner.exe” --analyze-deeply --item 173156
Tested this with the attached clip, direct streams, once I run the above command it now transcodes.
https://drive.google.com/file/d/1yd__SZJSRADkUow4F6Apz-xS0pxtWp_D/view?usp=sharing
Double check the Google Drive sharing permissions. I can’t download the file. Make sure it is publicly accessible.
When you first load a file into Plex, it makes an estimate of the necessary bandwidth. If you look at the XML info for the file, there are no “requiredBandwidths” statements.
It later runs the Deep Analysis, which analyzes the file in depth to gain additional information. This includes an updated bandwidth analysis. If you look at the XML information for the file you will now see “requiredBandwidths” statements.
What is most likely happening is that once Plex runs the deep analysis, it finds a portion of the file that exceeds the limits and therefore must be transcoded.
I’m going to be offline most of the day. I’ll dig into the log files, etc this evening (Central US).