Struggling with buffering on 4K content

Server Version#: 1.25.0.5282
Player Version#:

I’m running my Plex server on a Mac Mini. I have 1Gig internet, averaging around 850mb speeds when hardwired. I did a speed test and was getting 297/59 when on wifi and then when I plugged in the Ethernet, jumped to 778/59.

I go from the cable line into the house into a Netgear CM700 modem. From there, I run Ethernet into my Eero mesh router. Out of that into a TP/Link 8 port Gigabit switch. I then have a 100ft run of Cat 6 to my AppleTV.

The latest video I’m having trouble with is The Bourne Ultimatum. It’s a MKV file, total size of 51.9GB, 4K HDR and bitrate of 55mbps. It will play for about 8-10 minutes and then start buffering. Then I get the message that my connection isn’t strong enough. I have direct play on and maximum streaming quality.

I know one option is to reduce the size of the video but that will obviously reduce the quality of the video. I’m shocked that my internet isn’t strong enough to play a 55mbps file without buffering. Is there anything else I can try or anything else I need to do to get acceptable streaming with this setup? Or can I change something with my setup to make it work? I’m open to any suggestions at this point.

I’d be happy to provide logs if that will help.

If you could capture the server logs and the XML info that Plex sees for the file that would be great. You only need the first 20 lines of the XML data. Basically to the line that says </Media>

Is the AppleTV local or remote from the Plex server?

If remote, then you also have to take into account the Internet upload speed at the server location.

Even then, there are no guarantees. There is zero quality control or prioritization on the Internet. The speed mentioned by the ISP applies only to the local loop. It says nothing about what happens in the middle. Both sites could have an excellent local loop, but poor routing between them can cause trouble with streaming.

You can also monitor playback via Plex Dashboard → Now Playing. That will show if the server is transcoding the video or audio, which can also affect playback.

If the Plex Server and Apple TV are local to each other, how is the server connected to the network. If possible, try connecting it to the TP/Link switch, taking the Eero out of the loop. This will give you the simplest possible network connection between the two, making troubleshooting easier.

I think based on the way he explained it looks like that AppleTV is local. I think there is transcoding going on based on the bitrate he shared. It is probably a Blu-ray rip with lossless audio and a million subtitle tracks :upside_down_face:

Plex Media Server.log (3.3 MB)
Plex DLNA Server.log (990 Bytes)

Not sure if those are the right server logs. There were 146 options so I picked the ones that said server. If you need others, please let me know.

Here is the XML data: (Edit, doesn’t look like it’s showing all lines up to the /media section, though it was all pasted. Hoping you can see it on your end.

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="5" librarySectionTitle="Movies" librarySectionUUID="cf1b2d19-305e-441d-bcd5-3bd7f0f98e23" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1638345655">

<Video ratingKey="4246" key="/library/metadata/4246" guid="plex://movie/5d7768881999bc0020dc8370" studio="Universal Pictures" type="movie" title="The Bourne Legacy" titleSort="Bourne Legacy" librarySectionTitle="Movies" librarySectionID="5" librarySectionKey="/library/sections/5" contentRating="PG-13" summary="An expansion of the universe from Robert Ludlum's novels, centered on a new hero whose stakes have been triggered by the events of the previous three films." rating="5.5" audienceRating="5.8" viewOffset="2360000" lastViewedAt="1638818142" year="2012" tagline="There Was Never Just One"thumb="/library/metadata/4246/thumb/1632694431" art="/library/metadata/4246/art/1632694431" duration="8096640" originallyAvailableAt="2012-08-10" addedAt="1618535073" updatedAt="1632694431" audienceRatingImage="rottentomatoes://image.rating.spilled" chapterSource="media" primaryExtraKey="/library/metadata/4247"ratingImage="rottentomatoes://image.rating.rotten">

<Media id="5444" duration="8096640" bitrate="55038" width="3840" height="2160" aspectRatio="1.78" audioChannels="8" audioCodec="dca-ma" videoCodec="hevc" videoResolution="4k" container="mkv" videoFrameRate="24p" audioProfile="ma" videoProfile="main 10">

<Part accessible="1" exists="1" id="5646" key="/library/parts/5646/1618338577/file.mkv" duration="8096640" file="/Volumes/PLEX/Media/Movies/The Bourne Legacy/The Bourne Legacy (2012).mkv" size="55708181282" audioProfile="ma" container="mkv" deepAnalysisVersion="6"requiredBandwidths="91213,81563,68753,61865,58664,57266,56893,56893" videoProfile="main 10">

<Stream id="16290" streamType="1" default="1" codec="hevc" index="0" bitrate="50083" bitDepth="10" 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="84796,74621,63104,55855,52615,52133,52007,52007" width="3840" displayTitle="4K (HEVC Main 10 HDR)" extendedDisplayTitle="4K (HEVC Main 10 HDR)"></Stream>

<Stream id="16291" streamType="2" default="1" codec="dca" index="1" channels="8" bitrate="4324" language="English" languageTag="en" languageCode="eng" audioChannelLayout="7.1" bitDepth="24" profile="ma" requiredBandwidths="6160,5826,5603,5293,5038,4859,4824,4824" samplingRate="48000" title="DTS:X 7.1"displayTitle="English (DTS-HD MA 7.1)" extendedDisplayTitle="DTS:X 7.1 (English DTS-HD MA)"></Stream>

<Stream id="16292" streamType="2" selected="1" codec="ac3" index="2" channels="2" bitrate="192" language="English" languageTag="en" languageCode="eng" audioChannelLayout="stereo" requiredBandwidths="192,192,192,192,192,192,192,192" samplingRate="48000" title="Commentary by Tony Gilroy, Dan Gilroy, John Gilroy, Robert Elswit, John Thompson and Dan Bradley" displayTitle="English (AC3 Stereo)" extendedDisplayTitle="Commentary by Tony Gilroy, Dan Gilroy, John Gilroy, Robert Elswit, John Thompson and Dan Bradley (English AC3 Stereo)"></Stream>

<Stream id="16293" streamType="3" codec="pgs" index="3" bitrate="35" language="English" languageTag="en" languageCode="eng" requiredBandwidths="88,88,88,88,88,88,88,88" title="English (SDH)" displayTitle="English (PGS)" extendedDisplayTitle="English (SDH) (PGS)"></Stream>

<Stream id="16294" streamType="3" codec="pgs" index="4" bitrate="25" language="Czech" languageTag="cs" languageCode="ces" requiredBandwidths="64,64,64,64,64,64,64,64" title="Czech" displayTitle="Czech (PGS)" extendedDisplayTitle="Czech (Czech PGS)"></Stream>

<Stream id="16295" streamType="3" codec="pgs" index="5" bitrate="26" language="Danish" languageTag="da" languageCode="dan" requiredBandwidths="58,58,58,58,58,58,58,58" title="Danish" displayTitle="Danish (PGS)" extendedDisplayTitle="Danish (Danish PGS)"></Stream>

<Stream id="16296" streamType="3" codec="pgs" index="6" bitrate="26" language="Dutch" languageTag="nl" languageCode="nld" requiredBandwidths="53,53,53,53,53,53,53,53" title="Dutch" displayTitle="Dutch (PGS)" extendedDisplayTitle="Dutch (Dutch PGS)"></Stream>

<Stream id="16297" streamType="3" codec="pgs" index="7" bitrate="23" language="Finnish" languageTag="fi" languageCode="fin" requiredBandwidths="67,67,67,67,67,67,67,67" title="Finnish" displayTitle="Finnish (PGS)" extendedDisplayTitle="Finnish (Finnish PGS)"></Stream>

<Stream id="16298" streamType="3" codec="pgs" index="8" bitrate="25" language="French" languageTag="fr" languageCode="fra" requiredBandwidths="78,78,78,78,78,78,78,78" title="French" displayTitle="French (PGS)" extendedDisplayTitle="French (French PGS)"></Stream>

<Stream id="16299" streamType="3" codec="pgs" index="9" bitrate="27" language="Greek" languageTag="el" languageCode="ell" requiredBandwidths="67,67,67,67,67,67,67,67" title="Greek" displayTitle="Greek (PGS)" extendedDisplayTitle="Greek (Greek PGS)"></Stream>

<Stream id="16300" streamType="3" codec="pgs" index="10" bitrate="23" language="Norwegian" languageTag="no" languageCode="nor" requiredBandwidths="65,65,65,65,65,65,65,65" title="Norwegian" displayTitle="Norwegian (PGS)" extendedDisplayTitle="Norwegian (Norwegian PGS)"></Stream>

<Stream id="16301" streamType="3" codec="pgs" index="11" bitrate="25" language="Polish" languageTag="pl" languageCode="pol" requiredBandwidths="35,35,35,35,35,35,35,35" title="Polish" displayTitle="Polish (PGS)" extendedDisplayTitle="Polish (Polish PGS)"></Stream>

<Stream id="16302" streamType="3" codec="pgs" index="12" bitrate="26" language="Swedish" languageTag="sv" languageCode="swe" requiredBandwidths="67,67,67,67,67,67,67,67" title="Swedish" displayTitle="Swedish (PGS)" extendedDisplayTitle="Swedish (Swedish PGS)"></Stream>

<Stream id="16303" streamType="3" codec="pgs" index="13" bitrate="23" language="Thai" languageTag="th" languageCode="tha" requiredBandwidths="36,36,36,36,36,36,36,36" title="Thai" displayTitle="Thai (PGS)" extendedDisplayTitle="Thai (Thai PGS)"></Stream>

<Stream id="16304" streamType="3" codec="pgs" index="14" bitrate="83" language="English" languageTag="en" languageCode="eng" requiredBandwidths="90,90,90,90,90,90,90,90" title="English (Commentary)" displayTitle="English (PGS)" extendedDisplayTitle="English (Commentary) (PGS)"></Stream>

<Stream id="16305" streamType="3" codec="pgs" index="15" bitrate="70" language="French" languageTag="fr" languageCode="fra" requiredBandwidths="90,90,90,90,90,90,90,90" title="French (Commentary)" displayTitle="French (PGS)" extendedDisplayTitle="French (Commentary) (French PGS)"></Stream>

<Stream id="23695" key="/library/streams/23695" streamType="3" codec="srt" language="English" languageTag="en" languageCode="eng" format="srt" displayTitle="English (SRT External)" extendedDisplayTitle="English (SRT External)"></Stream>

</Part>

Mod-Edit: Changed XML to pre-formatted text.

Yes, the AppleTV is local. I’ve verified in both the Dashboard and Tautulli that both audio and video are using direct play.

Thanks for the clarification. Your Internet connection speed is not a factor for local playback.

How is the server attached to the network?

Also, please provide the entire ZIP file instead of the individual log files.

Yeah, the forum doesn’t always show XML info. It also does not support .xml attachments.

You can format it as preformatted text </>, save it as a text file & attach, or save it as a .xml file, then zip it before attaching.

The server is connected to the same switch that the AppleTV is connected to.

Are you saying run the switch straight from the modem into the switch and then out to the Eero, so everything hardwired by the switch wouldn’t have any connection to the Eero? Haven’t thought to try that.

No. Just the way you have it. I just wanted to make sure the Mac Mini wasn’t using a WiFi connection.

Nope, definitely not on Wifi.

I just tried playing the content from the same Mac mini that holds the server and it won’t even play on that without buffering.

Trying to get the zip to attach…
Plex Media Server Logs_2021-12-06_13-02-45.zip (2.1 MB)

Quick clarification: Bourne Ultimatum or Legacy?

You provided XML info for Legacy. Also, there is no mention of Ultimatum in the files.

That would be expected if you used a web browser. They’re too limited to playback HDR content and would result in a video transcode (Safari supports HEVC video, but I don’t think it supports HDR video).

You would need to use Plex for Mac. It direct plays 4K HDR video. It does not support HDR output, instead tonemapping the video to SDR and scaling to lower resolutions if needed.

Yeah, sorry, I’m talking about Legacy.

I did play from the Plex for Mac app. Took about 5 minutes to even show any video and then wouldn’t play for more than a couple seconds before buffering.

Screen Shot 2021-12-06 at 1.25.18 PM

I see the transcode in the logs. I think what is going on is that you have about 100 (sarcasm) subtitle tracks in that file and they are all PGS. If I remember right, Plex tries to burn in all those subtitles so that at any moment if you turn on a subtitle track it can start showing it immediately. That would cause a pretty significant load on the system and cause the problems you are seeing. I’m not sure if MKVNixTool exists for Mac but there should be some sort of equivalent software that will allow you to remove all those subtitle tracks hopefully fixing it right up for you. I’m still learning though so maybe FordGuy sees something I don’t.

I’m still looking through the logs.

I’m not aware of any subtitle limits on an Apple TV. Still, removing the unneeded subtitles won’t hurt, and can sometimes help.

A couple of things I have noticed:

The Mac has two Ethernet connections to the same subnet. You should either (a) disconnect one or (b) put them into a group (ex: LACP group), which would require some switch configuration as well.

Having two active Ethernet interfaces on the same subnet can cause problems when streaming, even though you designated one of them a primary.

Dec 06, 2021 02:48:30.070 [0x7000037f3000] DEBUG -  * 4 en0 (192.168.4.43) (loopback: 0)
Dec 06, 2021 02:48:30.070 [0x7000037f3000] DEBUG -  * 8 en1 (192.168.4.111) (loopback: 0)

Also, looks like you’ve a second subnet in your network, 192.168.5.x. If so, you should add it to the list of LAN Networks in Settings → Networks, otherwise, Plex will consider it a remote network.
Screenshot (989)

I’m not seeing the Bourne Legacy direct playing in the log files.

Could you do the following:

  1. Disconnect the cable from en1 on the Mac Mini.
  2. Reboot the Mac Mini or stop & restart Plex Media Server (either is OK).
  3. With no other streaming, and with no subtitles, play The Bourne Legacy on the Apple TV until the buffering problem occurs (so it will be captured in the log files).
  4. Stop playback. Wait ~1 minute for the server to settle & capture everything.
  5. Pull the log files and attach the zip file to the thread.

This will give us a fresh set of log files capturing the problem.

Yeah, I’ve actually been experimenting with an app that finds subtitle tracks as the only ones I want are forced subs. I’d love it if I could get something that will automatically remove all subs that are included with a file and then replace them with the single one I need. I’ll investigate that.

I guess I should have been more clear, I didn’t think it was a limit in the amount of subs it can handle like Samsung, I thought it was the Plex itself has to burn those PGS subtitles regardless of whether or not they are selected. I think it was explained to me that Plex does this to guarantee immediate playback of the subs if they are selected. I could be speaking out of my rear end though.

Yep, I’ll do that now and then return with the logs.

Weird, because there is only one ethernet port on the Mini. I do use ExpressVPN so I’m not sure if that could be causing some of the confusion. I also don’t really understand what you said about the second subnet as I’m not that smart but I will definitely add it to the settings just to be safe.

Does it have WiFi as well?

If so, disable the WiFi, so it will only use the wired Ethernet.