Server Version#: 1.43.0.10492
Player Version#: 4.159.0
OS: macOS 26.3.1
Safari: 26.3.1
Edge: 146.0.3856.62
For some reason when I try Stream on Safari Plex wants to use ALL of my bandwidth I have to my NAS. Here you can see the server using ~572Mbps to play a 8Mbps file. A side effect of this is that it pauses to buffer every 2-3 seconds.
If I use the desktop app it does the same thing, I assume this is because it is a Safari web view.
If I use Edge it works flawlessly. Those 4 little blips on the left side of the graph is Edge streaming.
I see other posts saying to convert mp4 to mkv as a solution, but that sounds like a workaround not a solution. Is there something wrong with the player or Safari directly? It is weird because I don’t recall this happening in the past but I often am no trying to stream to my Mac.
Out of curiosity, what is the problem you’re trying to solve? Is it causing buffering/stuttering, or some other issue with playback?
It is pausing to buffer every 2-3 seconds.
I had thought it was odd because 4K YouTube videos were playing before and after this issue. I assumed a 4K stream is probably more data than my copy of Silicon Valley which I know was only 1080p. When I went to dashboard stats it says the video itself is 8Mbps but server throughput is ~570Mbps. All the points in the graph when it is low is when I was not playing in Safari or desktop app (which I assume is Safari web view).
It’s almost like there is a bug in the player (or Safari) where it causes the browser to try pull down the entire video every time it is trying buffer the next chunk. But I am also not sure how direct stream works in Plex, I am only familiar with fragments mp4s with HLS in projects I’ve worked in elsewhere.
(Edited original post to be more clear about the issue + add OS/browser versions)
Do it anyway. Because it is a good test and might provide crucial insight into the cause.
Converted it with ffmpeg. I had to convert subtitle and map all streams because it would only bring the first audio stream. It does bring over the thumbnail as a video stream, if I were to do this for my whole library I’d figure out how to map that correctly to mkvs cover.
ffmpeg -i "01 Minimum Viable Product (1080p HD).mp4" -map 0 -c:a copy -c:v copy -c:s srt "01 Minimum Viable Product (1080p HD).mkv"
This did indeed work, no stuttering. I am seeing bandwidth more appropriate to what I would expect. I am not sure why next to local and my LAN IP it says 10Gbps when later it says 11Mbps for desktop app.
Playing on that same machine with Plex app I get this. Not sure what that ~750Mbps spike was.
That is the player filling up its network buffer at start of playback.
This confirms the issue was caused by a video file which was not interleaved.
If the file is the issue why does a different browser on the same machine work?
If the Dashboard says “Direct Stream”, then Plex server is remuxing the file during playback. Thus, the missing interleaving does not affect the player.
But if it says “Direct Play”, it means that the file is handed over to the player as it is, missing interleaving and all.
This was my screenshot from yesterday on the original mp4 file. Both have direct play, if I am understanding what you said this is to be expected as it is the same file. When this was happening only Safari (+desktop app) were having issues.
Because Safari (+desktop app) had the issues but Edge didn’t I assume that is how to do internally with how webkit vs chromium are handling video files handed over however Plex server is doing it.
Is it possible to force direct stream? If it is I wonder if the player could request direct stream from the server instead of direct play if it can’t play correctly. Or when it first connects server could say this player + this file won’t work so here is direct stream instead.
While it is possible to switch off Direct Play in the Web app (“Debug” menu), I think the better strategy is to fix your files.
Video files without interleaving are fundamentally incompatible with streaming protocols. Such a file should not be added to a streaming server, like Plex.
Understood. I had a look, I have ~3500 files already as mkv, ~1200 as mp4. I will see how I can look into recontainering all of these.
Interstingly I went to test my Windows machine. Desktop app does a similar thing where it chews up a bunch of bandwidth and buffers every 2-3seconds. Oddly not as much bandwidth.
Edge worked fine again. This one I thought was odd because I thought the desktop app here would be WebView2 which I thought was also pretty much Edge.
Either way seems re-containering files is what I need to do going forwads. Thanks for the info.
The desktop app uses mpv as player engine. It has the largest network buffer of all app types, so it can prefetch large portions of videos.
There is no need to go from mp4 to mkv, if you prefer mp4. You can remux affected files equally well to mp4, if you explicitly enable interleaving.
See Losslessly repair mp4 files without interleaving for instance.