4K files play but 1080 File have Performance Issues

Server Version#: 1.42.2.10156
Player Version#:

I have been trying to troubleshoot this issue since before 2020. My movie library is stored as 1080p MP4 files, and I’ve included the relevant XML below.

When I attempt to play these files on an Apple TV or via a browser player on my home network—streaming from either a Synology NAS or a high-end Mac Studio—I experience severe network performance instability. Throughput fluctuates between 0 and 300 Mbps.

The video will play normally for a few minutes, then abruptly stop and switch to buffering. In the browser, this results in an endless buffering spinner. On Apple TV, playback fails with the message: “Your connection is not fast enough to play this video.”

When I play all the huge 13GB plus 4K files from home movies and kids’ sports events, Plex plays back like a beast. Absolutely zero playback or buffering issues.

I must have something in the configuration of my 1080 files that is killing the performance. I am wondering if I can re-transcode the problem files with a configuration that performs better.

Pulling out my hair.

I can make the 1080 file playback if I reduce the format to 480.

Here is 1080 file network. You can see it drops to zero many times temporarily, then hits a “buffer state” and remains permanently at zero.

Here is a 4K MP4 file. Never hits zero, plays continuously.

1080 MP4 FILE XML

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="2" librarySectionTitle="Movies" librarySectionUUID="906003c9-0476-49f2-90dc-bfaf1109114f" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1758205129">

<Video ratingKey="2294" key="/library/metadata/2294" guid="local://2294" type="movie" title="300" librarySectionTitle="Movies" librarySectionID="2" librarySectionKey="/library/sections/2" summary="" viewOffset="326000" lastViewedAt="1768478418" thumb="/library/metadata/2294/thumb/1652815469"art="/library/metadata/2294/art/1652815469" duration="6995040" addedAt="1550365427" updatedAt="1652815469" chapterSource="media">

<Media id="4639" duration="6995040" bitrate="6010" width="1920" height="1080" aspectRatio="1.78" audioChannels="6" audioCodec="ac3" videoCodec="h264" videoResolution="1080" container="mp4" videoFrameRate="24p" optimizedForStreaming="0" has64bitOffsets="1" videoProfile="high"hasVoiceActivity="0">

<Part accessible="1" exists="1" id="4639" key="/library/parts/4639/1550365427/file.mp4" duration="6995040" file="/volume1/video/movies/300 (1080p HD).mp4" size="5260947619" container="mp4" deepAnalysisVersion="6" has64bitOffsets="1" hasThumbnail="1" optimizedForStreaming="0"requiredBandwidths="11644,10137,9336,8108,8108,8108,8108,8108" videoProfile="high">

<Stream id="10796" streamType="1" default="1" codec="h264" index="4" bitrate="5244" language="English" languageTag="en" languageCode="eng" bitDepth="8" chromaLocation="topleft" chromaSubsampling="4:2:0" codedHeight="1088" codedWidth="1920" colorPrimaries="bt709" colorRange="tv"colorSpace="bt709" colorTrc="bt709" frameRate="23.976" hasScalingMatrix="0" height="1080" level="40" profile="high" refFrames="4" requiredBandwidths="10868,9363,8571,7348,7348,7348,7348,7348" streamIdentifier="5" width="1920" displayTitle="1080p" extendedDisplayTitle="1080p (H.264)"></Stream>

<Stream id="10792" streamType="2" selected="1" default="1" codec="aac" index="0" channels="2" bitrate="128" language="English" languageTag="en" languageCode="eng" audioChannelLayout="stereo" profile="lc" requiredBandwidths="129,129,129,129,129,129,129,129" samplingRate="48000"streamIdentifier="1" displayTitle="English (AAC Stereo)" extendedDisplayTitle="English (AAC Stereo)"></Stream>

<Stream id="10793" streamType="2" codec="ac3" index="1" channels="6" bitrate="384" language="English" languageTag="en" languageCode="eng" audioChannelLayout="5.1(side)" requiredBandwidths="384,384,384,384,384,384,384,384" samplingRate="48000" streamIdentifier="2" displayTitle="English (AC3 5.1)" extendedDisplayTitle="English (AC3 5.1)"></Stream>

<Stream id="10794" streamType="2" codec="aac" index="2" channels="2" bitrate="128" language="French" languageTag="fr" languageCode="fra" audioChannelLayout="stereo" profile="lc" requiredBandwidths="129,129,129,129,129,129,129,129" samplingRate="48000" streamIdentifier="3"displayTitle="French (AAC Stereo)" extendedDisplayTitle="French (AAC Stereo)"></Stream>

<Stream id="10795" streamType="2" codec="aac" index="3" channels="2" bitrate="126" language="English" languageTag="en" languageCode="eng" audioChannelLayout="stereo" profile="lc" requiredBandwidths="127,127,127,127,127,127,127,127" samplingRate="48000" streamIdentifier="4"displayTitle="English (AAC Stereo)" extendedDisplayTitle="English (AAC Stereo)"></Stream>

<Stream id="10797" streamType="3" canAutoSync="0" default="1" codec="mov_text" index="5" bitrate="0" language="Japanese" languageTag="ja" languageCode="jpn" requiredBandwidths="1,1,1,1,1,1,1,1" streamIdentifier="6" displayTitle="Japanese" extendedDisplayTitle="Japanese (MOV_TEXT)"></Stream>

<Stream id="10798" streamType="3" canAutoSync="0" codec="eia_608" index="6" bitrate="0" language="English" languageTag="en" languageCode="eng" requiredBandwidths="1,1,1,1,1,1,1,1" streamIdentifier="7" displayTitle="English" extendedDisplayTitle="English (Closed Captions)"></Stream>

</Part>

</Media>

<Image alt="300" type="coverPoster" url="/library/metadata/2294/thumb/1652815469"/>

<Image alt="300" type="background" url="/library/metadata/2294/art/1652815469"/>

<UltraBlurColors topLeft="030403" topRight="0b020e" bottomRight="030403" bottomLeft="0b0805"/>

<Chapter id="8510" filter="thumb=8510" tag="Spartan education." index="1" startTimeOffset="0" endTimeOffset="317000" thumb="/library/media/4639/chapterImages/1"/>

<Chapter id="8511" filter="thumb=8511" tag="Sparta's reply." index="2" startTimeOffset="317000" endTimeOffset="625000" thumb="/library/media/4639/chapterImages/2"/>

<Chapter id="8512" filter="thumb=8512" tag="The Ephors." index="3" startTimeOffset="625000" endTimeOffset="798000" thumb="/library/media/4639/chapterImages/3"/>

<Chapter id="8513" filter="thumb=8513" tag="The Oracle." index="4" startTimeOffset="798000" endTimeOffset="1013000" thumb="/library/media/4639/chapterImages/4"/>

<Chapter id="8514" filter="thumb=8514" tag="Messenger from Persia." index="5" startTimeOffset="1013000" endTimeOffset="1186000" thumb="/library/media/4639/chapterImages/5"/>

<Chapter id="8515" filter="thumb=8515" tag="What should a free man do?" index="6" startTimeOffset="1186000" endTimeOffset="1349000" thumb="/library/media/4639/chapterImages/6"/>

<Chapter id="8516" filter="thumb=8516" tag="More soldiers than you." index="7" startTimeOffset="1349000" endTimeOffset="1625000" thumb="/library/media/4639/chapterImages/7"/>

<Chapter id="8517" filter="thumb=8517" tag="With or on your shield." index="8" startTimeOffset="1625000" endTimeOffset="1758000" thumb="/library/media/4639/chapterImages/8"/>

<Chapter id="8518" filter="thumb=8518" tag="Hunters of men's souls." index="9" startTimeOffset="1758000" endTimeOffset="1999000" thumb="/library/media/4639/chapterImages/9"/>

<Chapter id="8519" filter="thumb=8519" tag="Glorious rain." index="10" startTimeOffset="1999000" endTimeOffset="2108000" thumb="/library/media/4639/chapterImages/10"/>

<Chapter id="8520" filter="thumb=8520" tag="Fraction of the monster." index="11" startTimeOffset="2108000" endTimeOffset="2271000" thumb="/library/media/4639/chapterImages/11"/>

<Chapter id="8521" filter="thumb=8521" tag="Wall of the dead." index="12" startTimeOffset="2271000" endTimeOffset="2448000" thumb="/library/media/4639/chapterImages/12"/>

<Chapter id="8522" filter="thumb=8522" tag="Ephialtes' request." index="13" startTimeOffset="2448000" endTimeOffset="2652000" thumb="/library/media/4639/chapterImages/13"/>

<Chapter id="8523" filter="thumb=8523" tag="Hot Gates battle." index="14" startTimeOffset="2652000" endTimeOffset="2959000" thumb="/library/media/4639/chapterImages/14"/>

<Chapter id="8524" filter="thumb=8524" tag="Today no Spartan dies." index="15" startTimeOffset="2959000" endTimeOffset="3168000" thumb="/library/media/4639/chapterImages/15"/>

<Chapter id="8525" filter="thumb=8525" tag="Make Theron your ally." index="16" startTimeOffset="3168000" endTimeOffset="3575000" thumb="/library/media/4639/chapterImages/16"/>

<Chapter id="8526" filter="thumb=8526" tag="Meeting Xerxes." index="17" startTimeOffset="3575000" endTimeOffset="3702000" thumb="/library/media/4639/chapterImages/17"/>

<Chapter id="8527" filter="thumb=8527" tag="Immortals put to the test." index="18" startTimeOffset="3702000" endTimeOffset="3922000" thumb="/library/media/4639/chapterImages/18"/>

<Chapter id="8528" filter="thumb=8528" tag="Über Immortal's fall." index="19" startTimeOffset="3922000" endTimeOffset="4124000" thumb="/library/media/4639/chapterImages/19"/>

<Chapter id="8529" filter="thumb=8529" tag="Numbers count for nothing." index="20" startTimeOffset="4124000" endTimeOffset="4365000" thumb="/library/media/4639/chapterImages/20"/>

<Chapter id="8530" filter="thumb=8530" tag="Blood-drunk." index="21" startTimeOffset="4365000" endTimeOffset="4552000" thumb="/library/media/4639/chapterImages/21"/>

<Chapter id="8531" filter="thumb=8531" tag="Betrayer's bargain." index="22" startTimeOffset="4552000" endTimeOffset="4720000" thumb="/library/media/4639/chapterImages/22"/>

<Chapter id="8532" filter="thumb=8532" tag="Queen's bargain." index="23" startTimeOffset="4720000" endTimeOffset="4942000" thumb="/library/media/4639/chapterImages/23"/>

<Chapter id="8533" filter="thumb=8533" tag="Prepare for glory." index="24" startTimeOffset="4942000" endTimeOffset="5203000" thumb="/library/media/4639/chapterImages/24"/>

<Chapter id="8534" filter="thumb=8534" tag="Tell them our story." index="25" startTimeOffset="5203000" endTimeOffset="5353000" thumb="/library/media/4639/chapterImages/25"/>

<Chapter id="8535" filter="thumb=8535" tag="Trickster in true form." index="26" startTimeOffset="5353000" endTimeOffset="5641000" thumb="/library/media/4639/chapterImages/26"/>

<Chapter id="8536" filter="thumb=8536" tag="Victory in surrender." index="27" startTimeOffset="5641000" endTimeOffset="5936000" thumb="/library/media/4639/chapterImages/27"/>

<Chapter id="8537" filter="thumb=8537" tag="Fallen heroes." index="28" startTimeOffset="5936000" endTimeOffset="6207000" thumb="/library/media/4639/chapterImages/28"/>

<Chapter id="8538" filter="thumb=8538" tag="Go tell the Spartans." index="29" startTimeOffset="6207000" endTimeOffset="6539000" thumb="/library/media/4639/chapterImages/29"/>

<Chapter id="45" filter="thumb=45" tag="END CREDITS." index="30" startTimeOffset="6539000" endTimeOffset="6995000" thumb="/library/media/4639/chapterImages/30"/>

<Marker final="1" id="64557" type="credits" startTimeOffset="6549536" endTimeOffset="6995040">

<Attributes id="64557" version="4"/>

</Marker>

<Extras size="0"></Extras>

<Related></Related>

</Video>

</MediaContainer>

4K MP4 XML

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="10" librarySectionTitle="Kid's Sport Videos" librarySectionUUID="e6691a1c-a9b3-4dea-a903-1c00eb6d4e75" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1758205129">

<Video ratingKey="128065" key="/library/metadata/128065" guid="local://128065" type="movie" title="2026 01 Magdalen vs St Peter Team A" librarySectionTitle="Kid's Sport Videos" librarySectionID="10" librarySectionKey="/library/sections/10" summary="" viewOffset="105000" skipCount="1"lastViewedAt="1768478554" thumb="/library/metadata/128065/thumb/1768185532" art="/library/metadata/128065/art/1768185532" duration="2607022" addedAt="1768185530" updatedAt="1768185532">

<Media id="164490" duration="2607022" bitrate="50160" width="3840" height="2160" aspectRatio="1.78" audioChannels="2" audioCodec="aac" videoCodec="h264" videoResolution="4k" container="mp4" videoFrameRate="24p" optimizedForStreaming="1" audioProfile="lc" has64bitOffsets="1"videoProfile="high" hasVoiceActivity="0">

<Part accessible="1" exists="1" id="164492" key="/library/parts/164492/1768074522/file.mp4" duration="2607022" file="/volume1/video/sportsvideos/2026 - 01 - Magdalen vs St Peter (Team A).mp4" size="16348368620" audioProfile="lc" container="mp4" deepAnalysisVersion="6" has64bitOffsets="1"optimizedForStreaming="1" requiredBandwidths="50348,50145,50103,50072,50072,50072,50072,50072" videoProfile="high">

<Stream id="159394" streamType="1" default="1" codec="h264" index="0" bitrate="50030" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="2160" codedWidth="3840" colorPrimaries="bt709" colorRange="tv" colorSpace="bt709" colorTrc="bt709" frameRate="23.976"hasScalingMatrix="0" height="2160" level="51" profile="high" refFrames="1" requiredBandwidths="50218,50015,49973,49942,49942,49942,49942,49942" scanType="progressive" streamIdentifier="1" width="3840" displayTitle="4K" extendedDisplayTitle="4K (H.264)"></Stream>

<Stream id="159395" streamType="2" selected="1" default="1" codec="aac" index="1" channels="2" bitrate="130" language="English" languageTag="en" languageCode="eng" audioChannelLayout="stereo" profile="lc" requiredBandwidths="131,131,131,131,131,131,131,131" samplingRate="48000"streamIdentifier="2" displayTitle="English (AAC Stereo)" extendedDisplayTitle="English (AAC Stereo)"></Stream>

</Part>

</Media>

<Image alt="2026 01 Magdalen vs St Peter Team A" type="coverPoster" url="/library/metadata/128065/thumb/1768185532"/>

<Image alt="2026 01 Magdalen vs St Peter Team A" type="background" url="/library/metadata/128065/art/1768185532"/>

<UltraBlurColors topLeft="032d5b" topRight="15396a" bottomRight="69371e" bottomLeft="192f54"/>

<Extras size="0"></Extras>

<Related></Related>

</Video>

</MediaContainer>

Have to love AI.
Through the XML of both files into ChatGPT and it came back with this:

The big, smoking-gun difference between your two XMLs is this:

  • 4K file: optimizedForStreaming=“1” (both on and )

  • 1080 file: optimizedForStreaming=“0” (both on and )

I retranscoded using Handbrake and set optimizedForStreaming to 1.

The network bandwidth is still fluctuating to zero but the peak is only 50Mbps.

So far playback on Safari player, stable… Will test apple TV next.

I dread having to re-transcode all this stuff.

If I re-transcode the files as the same name, copy over the original then Scan the Library files with Plex properly recognizes the changes?

The 1080px file is not “Optimized for streaming”. That is only the first of clues. The second one is much more telling: Streaming this file shouldn’t cause bandwidth spikes that high as shown in your screenshot above.
Which suggests that this file is not properly interleaved.

Please don’t. These things are called Large Language Models, but not Large Knowledge Models, or Large Expert Models.

There is no need. Remuxing is much faster.
See Capcut videos playback issues with plex - #2 by OttoKerner

Only use Analyze after replacing the file. Keep the original file name, and just replace it with the fixed version.
You will need to use the mp4box command line which is mentioned later in the above linked forum thread. Because mkvtoolnix will change the container format from mp4 to mkv, which then makes it impossible to 100% keep the original file name.

(you may have to disable “automatic”, and “periodic” library scans in Plex, while doing the above.)

Thanks for all the feedback.

Is FFmpeg the same as the mp4box command?

I found that with FFmpeg I could change the “Optimised for Streaming” and it cleaned up the network performance.

Unfortunately, it also killed a few of the audio tracks and made only Stereo available.
I could batch the FFmpeg command and have it do things like convert all my files starting with A.

Sorry, no idea. I never used mp4box myself.

I’m pretty certain that you can tell ffmpeg to keep all the streams when remuxing. Please refer to its documentation.

-c copy -map 0:a looks like what you want

-map 0:a instructs FFmpeg to stream copy (no encoding or decoding) all of the audio streams into the output container.

-c Using stream copy to remux (no encoding)

Video and audio from different files -i video.mp4 -i audio.m4a -map 0:v -map 1:a output.mp4

Specific Language:
ffmpeg -i input.mkv -map 0:v -map 0:m:language:spa output.mp4

See ​List of https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for the 3 letter language names.