4K (DoVi+Atmos) Direct Play Buffering Nvidia Shield

Sadly remuxing the remux didn’t help, in fact I think it made it play worse… Originally file I was able to play through until maybe 30min left, the remuxed remux buffered almost instantly, so I’m not sure what’s up.

Logs are way up above should a Plex dev feel like taking a look… Please. For the moment, these special remuxes seem to be the only thing affected, and even then - they play in Kodi. I’ll try Dune and John Wick again to see if they play all the way through which they did after I corrected my HDMI port issue.

It’s this the only movie you’re having this issue with? Do you have a DoVi 07.06 Profile/Level movie to test?

Also, has a Deep Analysis been performed on the movie? If it has, can you post the required bandwidths listed in the xml info? I believe there is a 200 Mbps cap on the Shield client, and it could be a problem if Plex has a bandwidth value above it.

1 Like

Very good point :+1:

I’m not sure yet, I haven’t had time to test other ones again, I just know that I have other 4KDV movies that have for sure played through properly.

I regularly re-analyze files especially when replacing them with a different copy. Now if deep analysis is only performed during maintenance windows, than it may not have kicked off yet.

This doesn’t make much sense when it has a gigabit ethernet port. I’m not saying you’re wrong, but logically it makes no sense, but this does go back to the logs I posted.
I’ve been checking as I type this and I’m not seeing any mention anywhere of there being a limitation or cap on the ethernet port of the Shield, unless you’re referring to the Shield Plex client? This was covered earlier in the thread.

I know that if the Shield is “bitching” about something in it’s logs they won’t show in Plex logs, but there could be correlation with what’s seen in the Plex logs and if the Shield itself is having a problem - only way to know that is if someone from Plex reviews the logs.

Here is the XML from Plex, hopefully it has what you were asking for.

<Media id="469871" duration="8776416" bitrate="68248" width="3840" height="2160" aspectRatio="1.78" audioChannels="8" audioCodec="truehd" videoCodec="hevc" videoResolution="4k" container="mkv" videoFrameRate="24p" videoProfile="main 10">
<Part accessible="1" exists="1" id="474066" key="/library/parts/474066/1659563455/file.mkv" duration="8776416" file="/mnt/Foxtrot/Movies 4K/The Hunger Games Catching Fire (2013)/The Hunger Games Catching Fire (2013) Remux-2160p.mkv" size="74871857039" container="mkv" indexes="sd" videoProfile="main 10">
<Stream id="1548761" streamType="1" default="1" codec="hevc" index="0" bitrate="67608" DOVIBLCompatID="1" DOVIBLPresent="1" DOVIELPresent="0" DOVILevel="6" DOVIPresent="1" DOVIProfile="8" DOVIRPUPresent="1" DOVIVersion="1.0" bitDepth="10" chromaLocation="topleft" chromaSubsampling="4:2:0" codedHeight="2160" codedWidth="3840" colorPrimaries="bt2020" colorRange="tv" colorSpace="bt2020nc" colorTrc="smpte2084" frameRate="23.976" height="2160" level="153" profile="main 10" refFrames="1" width="3840" displayTitle="4K DoVi/HDR10 (HEVC Main 10)" extendedDisplayTitle="4K DoVi/HDR10 (HEVC Main 10)"> </Stream>
<Stream id="1548762" streamType="2" selected="1" default="1" codec="truehd" index="1" channels="8" bitrate="4978" language="English" languageTag="en" languageCode="eng" audioChannelLayout="7.1" bitDepth="24" samplingRate="48000" title="TrueHD Atmos 7.1" displayTitle="English (TRUEHD 7.1)" extendedDisplayTitle="TrueHD Atmos 7.1 (English)"> </Stream>
<Stream id="1548763" streamType="2" codec="ac3" index="2" channels="6" bitrate="640" language="English" languageTag="en" languageCode="eng" audioChannelLayout="5.1(side)" samplingRate="48000" title="AC3 5.1-EX" displayTitle="English (AC3 5.1)" extendedDisplayTitle="AC3 5.1-EX (English)"> </Stream>
<Stream id="1548764" streamType="3" default="1" codec="pgs" index="3" bitrate="29" language="English" languageTag="en" languageCode="eng" headerCompression="1" title="English" displayTitle="English (PGS)" extendedDisplayTitle="English (PGS)"> </Stream>
<Stream id="1548765" streamType="3" codec="pgs" index="4" bitrate="32" language="Chinese" languageTag="zh" languageCode="zho" headerCompression="1" title="Chinese" displayTitle="Chinese (PGS)" extendedDisplayTitle="Chinese (Chinese PGS)"> </Stream>
</Part>
</Media>

What you posted indicates a Deep Analysis hasn’t been performed (they’re would be <deepAnalysisVersion=6> tag and tags for the file and individual tracks).

Check back after the next maintenance cycle and see if it’s had the Deep Analysis done.

The 200Mbps was/is a Plex profile limitation for the Shield I got from a previous issue someone had specifically with a Catching Fire remux. I know that HEVC Level 5.1 has a max bitrate of 160Mbps though, so if you get a bandwidth value over 200000, that’s a problem.

Here’s a link to the old issue:

Awesome, thank you for linking that. I’ll take a look in a couple of days after a maintenance cycle to check on the deep analysis tag.

Yeah, this I don’t understand… Why?! Especially when the device itself can handle it no problem…

Plex believes the video, at least at the beginning, bursts over 200 Mbps.
This exceeds the limit of the Shield

I’ve added a Shield profile from Github, maybe that’ll remove the limit? Why would you put a governor on one of the best Plex clients available?

Here’s the updated XML, I found the CLI method for forcing deep analysis.

Mockingjay Part 2

<Media id="469889" duration="8215967" bitrate="61035" width="3840" height="2160" aspectRatio="1.78" audioChannels="8" audioCodec="truehd" videoCodec="hevc" videoResolution="4k" container="mkv" videoFrameRate="24p" videoProfile="main 10">
<Part accessible="1" exists="1" id="474084" key="/library/parts/474084/1659589315/file.mkv" duration="8215967" file="/mnt/Foxtrot/Movies 4K/The Hunger Games Mockingjay - Part 2 (2015)/The Hunger Games Mockingjay Part 2 (2015) Remux-2160p.mkv" size="62726522278" container="mkv" deepAnalysisVersion="6" indexes="sd" requiredBandwidths="107686,97069,90457,84049,79043,75235,66931,65454" videoProfile="main 10">
<Stream id="1548794" streamType="1" default="1" codec="hevc" index="0" bitrate="56086" DOVIBLCompatID="1" DOVIBLPresent="1" DOVIELPresent="0" DOVILevel="6" DOVIPresent="1" DOVIProfile="8" DOVIRPUPresent="1" DOVIVersion="1.0" bitDepth="10" chromaLocation="topleft" chromaSubsampling="4:2:0" codedHeight="2160" codedWidth="3840" colorPrimaries="bt2020" colorRange="tv" colorSpace="bt2020nc" colorTrc="smpte2084" frameRate="23.976" height="2160" level="153" profile="main 10" refFrames="1" requiredBandwidths="99525,91500,85029,79117,74040,69839,61025,60322" width="3840" displayTitle="4K DoVi/HDR10 (HEVC Main 10)" extendedDisplayTitle="4K DoVi/HDR10 (HEVC Main 10)"> </Stream>
<Stream id="1548795" streamType="2" selected="1" default="1" codec="truehd" index="1" channels="8" bitrate="4257" language="English" languageTag="en" languageCode="eng" audioChannelLayout="7.1" bitDepth="24" requiredBandwidths="7539,7316,6820,6212,5650,5125,4363,4363" samplingRate="48000" title="TrueHD Atmos 7.1" displayTitle="English (TRUEHD 7.1)" extendedDisplayTitle="TrueHD Atmos 7.1 (English)"> </Stream>
<Stream id="1548796" streamType="2" codec="ac3" index="2" channels="6" bitrate="640" language="English" languageTag="en" languageCode="eng" audioChannelLayout="5.1(side)" requiredBandwidths="640,640,640,640,640,640,640,640" samplingRate="48000" title="AC3 5.1-EX" displayTitle="English (AC3 5.1)" extendedDisplayTitle="AC3 5.1-EX (English)"> </Stream>
<Stream id="1548797" streamType="3" default="1" codec="pgs" index="3" bitrate="26" language="English" languageTag="en" languageCode="eng" headerCompression="1" requiredBandwidths="48,48,48,48,48,48,48,48" title="English" displayTitle="English (PGS)" extendedDisplayTitle="English (PGS)"> </Stream>
<Stream id="1548798" streamType="3" codec="pgs" index="4" bitrate="26" language="Chinese" languageTag="zh" languageCode="zho" headerCompression="1" requiredBandwidths="1193,1193,1193,1193,1193,1193,1193,1193" title="Chinese" displayTitle="Chinese (PGS)" extendedDisplayTitle="Chinese (Chinese PGS)"> </Stream>
</Part>
</Media>

Catching Fire

<Media id="469871" duration="8776416" bitrate="68210" width="3840" height="2160" aspectRatio="1.78" audioChannels="8" audioCodec="truehd" videoCodec="hevc" videoResolution="4k" container="mkv" videoFrameRate="24p" videoProfile="main 10">
<Part accessible="1" exists="1" id="474066" key="/library/parts/474066/1659565299/file.mkv" duration="8776416" file="/mnt/Foxtrot/Movies 4K/The Hunger Games Catching Fire (2013)/The Hunger Games Catching Fire (2013) Remux-2160p.mkv" size="74871857039" container="mkv" deepAnalysisVersion="6" indexes="sd" requiredBandwidths="123353,100665,99030,97062,96090,95133,91259,85824" videoProfile="main 10">
<Stream id="1548761" streamType="1" default="1" codec="hevc" index="0" bitrate="62535" DOVIBLCompatID="1" DOVIBLPresent="1" DOVIELPresent="0" DOVILevel="6" DOVIPresent="1" DOVIProfile="8" DOVIRPUPresent="1" DOVIVersion="1.0" bitDepth="10" chromaLocation="topleft" chromaSubsampling="4:2:0" codedHeight="2160" codedWidth="3840" colorPrimaries="bt2020" colorRange="tv" colorSpace="bt2020nc" colorTrc="smpte2084" frameRate="23.976" height="2160" level="153" profile="main 10" refFrames="1" requiredBandwidths="118608,94736,93681,91924,90167,89118,85437,80003" width="3840" displayTitle="4K DoVi/HDR10 (HEVC Main 10)" extendedDisplayTitle="4K DoVi/HDR10 (HEVC Main 10)"> </Stream>
<Stream id="1548762" streamType="2" selected="1" default="1" codec="truehd" index="1" channels="8" bitrate="4978" language="English" languageTag="en" languageCode="eng" audioChannelLayout="7.1" bitDepth="24" requiredBandwidths="6858,6512,5676,5485,5396,5306,5004,5004" samplingRate="48000" title="TrueHD Atmos 7.1" displayTitle="English (TRUEHD 7.1)" extendedDisplayTitle="TrueHD Atmos 7.1 (English)"> </Stream>
<Stream id="1548763" streamType="2" codec="ac3" index="2" channels="6" bitrate="640" language="English" languageTag="en" languageCode="eng" audioChannelLayout="5.1(side)" requiredBandwidths="640,640,640,640,640,640,640,640" samplingRate="48000" title="AC3 5.1-EX" displayTitle="English (AC3 5.1)" extendedDisplayTitle="AC3 5.1-EX (English)"> </Stream>
<Stream id="1548764" streamType="3" default="1" codec="pgs" index="3" bitrate="27" language="English" languageTag="en" languageCode="eng" headerCompression="1" requiredBandwidths="53,53,53,53,53,53,53,53" title="English" displayTitle="English (PGS)" extendedDisplayTitle="English (PGS)"> </Stream>
<Stream id="1548765" streamType="3" codec="pgs" index="4" bitrate="31" language="Chinese" languageTag="zh" languageCode="zho" headerCompression="1" requiredBandwidths="541,541,541,541,541,541,541,541" title="Chinese" displayTitle="Chinese (PGS)" extendedDisplayTitle="Chinese (Chinese PGS)"> </Stream>
</Part>
</Media>

So…after placing the Shield profile in the Profiles folder in Plex and forcing the deep analysis of at least the Mockingjay 2 file so far, it’s at least playing further than it did before (only 3 minutes in so far) - it’s a long movie so I’ll try to watch it all the way through later today, but here’s hoping…

Update over 20 minutes into the film now after running deep analysis. The file was already direct playing so the profile is likely not doing anything. The bitrate doesn’t appear to reach the 200Mb limit, so I assume it was deep analysis that did the trick.
I’ll have to create a script I can run to run deep analysis on a given file when they’re like this in the future. I’ll update this again if I encounter buffering before the end of the film.

2 Likes

I always run a deep analysis via command line on every new item I add to plex, as I have known for some time now that before a deep analysis is run, Plex will assume almost 2.5 times the required bandwidth for that item.

Can’t believe I didn’t think about this sooner in relation to your problem, so thanks to @FlaTechNole21 for flagging that :+1:

1 Like

Yeah, I’m about to sit down and finish the movie. I’m fairly positive at this point it should play through without a hitch. Thank you both @axemanuk666 and @FlaTechNole21 for your tips and helping me out with this!

Do you have a script you use to accomplish this? I’m using one from Github now and it seems to literally go through all media if it hasn’t had deep analysis run against it - which is fine longterm, but for instances like this I want to basically run it on demand on a specific file when I add new remuxes.

I think the command is this, but I wasn’t and am still not positive that it’s correct. Feedback (progress) in the activity section would be nice (I created a feature request for this).

/usr/lib/plexmediaserver/Plex\ Media\ Scanner --analyze-deeply -o <ratingKeyID?>

I noticed the ratingKeyID for Mockingjay showed up as the Video ID in terminal when I ran the Github script and it did perform deep analysis on the file (along with 4000 others).

Hi @kazz3r24

I see you are using Linux whereas I use Windows, and so it may be a little different for you, however I can certainly give you some pointers on how I use the command line for various Plex bits.

Firstly, I set these 2 features on the server to “as a scheduled task”…

image

I do this because I want to control WHEN these things happen, as I have often found that when adding multiple movies or multiple TV series, PMS starts getting too busy for my liking, and sometimes prevents me from adding the next new item because it was so busy generating the intro markers or the chapter thumbnails.

And so I can now add multiple items, allow Plex to ingest them into the library and gather the metadata, and then I will run commands to then generate the the intro markers, thumbnails AND importantly, do a Deep Analysis of those items, but ONLY once I have finished adding the items to the libraries.

This is actually VERY important if you share libraries with external users, because as I have said before, if a Deep Analysis has NOT been done on an item, then Plex will initially assume approx 2.5 times the required bandwidth for that item.

You can actually see this behavior in the Dashboard…

Add an item > play it > look at the dashboard and see it is using approx 2.5 times the required bandwidth > stop play > run a deep analysis > play the item and see it is now using a more reasonable amount of bandwidth.

So that is WHY I run my system this way.

Now to the commands…

Each of these commands will need the ratingKey in order to tell PMS which item you are running the command against. You can find that in the items xml…

image

So now to Deep Analyze the above item, you would do…

Path-To-PlexMediaScannerProgram --analyze-deeply --item 62951 --log-file-suffix " Manual Deep Analysis"

You can also run this for multiple items by separating them with a comma…

Path-To-PlexMediaScannerProgram --analyze-deeply --item 62951,62952,61289 --log-file-suffix " Manual Deep Analysis"

To generate chapter thumbnails…

Path-To-PlexMediaScannerProgram --generate --chapter-thumbs-only --item 62951 --log-file-suffix " Manual Chapter Thumbnails" --force

To generate intro markers…

Path-To-PlexMediaScannerProgram --analyze --server-action intro --item 62951 --log-file-suffix " Manual Intro Analysis"

Now say you wanted to run these on all episodes in a season, you can find all of the ratingKeys for that season by using the following command on the parentRatingKey.

However to do this, you will need to find the librarySectionID in the xml…

And so the command to find all the episodes in the above xml examples would be…

Path-To-PlexMediaScannerProgram -c 3 --item 62516 --list

Where the option -c followed by the number is the librarySectionID.

That will return you a list of all the episodes in that season, and you can then run the commands shown above to do the Deep Analysis and generate chapters and intro markers.

Give it a try :+1: :smiley:

2 Likes

Oh and almost forgot… I use a script (Windows Batch file) to do all of this for me.

Here is the logic…

  1. Have a txt file with a specific name in specific location… (Movies.txt).
  2. Populate that txt file with the ratingKeys I want to run the script against…

image

  1. Have a scheduled task run the script every minute.
  2. If the script cannot find the specific filename above, do nothing.
  3. If the script finds the specific filename above, do the following…

a) Read the txt file and create a variable from its content
b) Rename the txt file to notify me the script is running… (Movies.InProgress.txt)
c) Run the commands on the ratingKeys variable.
d) Rename the txt file again to notify me that the script has finished… (Movies.Done.txt)

So my script, or Windows Batch file, looks something like this…

IF EXIST Movies.txt GOTO MOVIES
IF EXIST TV-Shows.txt GOTO TV

GOTO END

:MOVIES
ECHO Found Movies.txt Continuing...

set /p RatingKeys=<Movies.txt

ren Movies.txt Movies.InProgress.txt

pms.lnk --analyze-deeply --item %RatingKeys% --log-file-suffix " Manual Deep Analysis"

pms.lnk --generate --chapter-thumbs-only --item %RatingKeys% --log-file-suffix " Manual Chapter Thumbnails" --force

REN Movies.InProgress.txt Movies.Done.txt

GOTO END

:END

:+1: :smiley:

1 Like

This is amazing! Thank you for sharing it with me. I’ll absolutely give this a shot!

1 Like

I am also having issues with this. Another broken mess from Plex with no acknowledgment from an Employee/Dev.

Sigh, remind me again why I pay for these constant annoyances.

My issue wasn’t directly Plex related, but how Plex’s logic function’s (I think). Plex for whatever reason automatically assumes double the bandwidth is required to play just about everything, so with the remuxes I was playing having a bitrate that reached over 100 - the shield app has a bitrate cap (so I was told). Running deep analysis on the file should fix the problem if it’s related to my issue.

There’s no acknowledgement from Plex because there’s no issue with the client. At least in terms of the problem this thread was created about. If you’re having a similar problem and deep analysis has been run against what you’re watching already, create a new post for it.

1 Like

You might also check out WebTools NG.

It can manually start tasks that normally run during the maintenance window - Deep Analysis, generate chapter thumbnails, etc.

Main Page: GitHub - WebTools-NG/WebTools-NG: WebTools Next Generation for Plex

Butler Tasks: ButlerTasks · WebTools-NG/WebTools-NG Wiki · GitHub

1 Like

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