Server Version#:1.43.1.10611
Player Version#: Plex for Android (Mobile)
I know buffering is a common complaint, but usually focused on HD streams. I’m a novice with a slow internet (5Mbps upload) streaming primarily in 480p.
Obviously the issue would be alleviated with a faster connection, but I don’t see why it should be needed. The bandwidth while streaming is <2Mbps and usually <1Mbps, but for the first 2 minutes of every file I try to stream, it maxes out my 5Mbps internet and buffers. What is it trying to transfer during that time? This only happens on stored media. I can real-time transcode HD OTA broadcast down to 720 and stream at 2Mbps with no buffering.
It’s not the connection to my NAS (Synology Beestation), either. I created a library on my server’s hard drive and the issue persists.
I’m not very tech savvy. I’ve searched existing threads. I’ve disabled LSO and tried port forwarding after setting IP static.
Of course, a faster internet connection would get rid of this issue, but fiber isn’t available at my house yet. What is Plex sending during the first 2 minutes of a stored media stream that it doesn’t have to do for live TV? I’ve decreased the seek time (forward and back) to 5 seconds to try to minimize the required cache, but it still takes 2 minutes of streaming before it stops buffering. What is is sending? Is there a setting to tell it not to?
Immediately after start of playback, the client device is filling up its network “receive” buffer.
Naturally, the server has to work harder at playback start, to prepare transcoded chunks of your video so they are ready for transmission.
Take a look at your Remote Access settings in the server configuration. Chances are that your server is not directly accessible from outside of your home network, so that all remote connections are taking a detour over plex’s cloud servers (a so-called “Relay connection”).
These are limited to max 2mbps for Plex Pass owners. (and 1mbps without Plex Pass).
Use the Dashboard in the web app to confirm the connection type. If it says “indirect”, a Relay connection is used.
See The Basics of Remote Access Troubleshooting
To reduce bandwidth requirements, your server should be able to use hardware transcoding to HEVC/H.265 format. Even if your server hardware is capable of doing this, you may need to explicitly enable this in the server settings.
It seems I’m fighting the wrong battle here. It looks like my issue is with my media being saved compressed as MP4s. I just tried an MKV, and it streamed without the buffering issue.
There is a separate drop-down selector to use H.265 over H.264
Forgive me when I ask, but did you verify this?
How do you know it’s streaming the media file exactly as it is? If there are bandwidth constraints or codec incompatibilities between source file and client, then transcoding is unavoidable.
Unfortunately not. Usually, playback in the client should not commence until there is a decent amount of chunks in the network buffer.
Did you change any advanced server settings away from default values, like the “Transcoder default throttle buffer”?
Where is this? I don’t see a pulldown in my settings. I’m quite new to this.
Forgive me when I ask, but did you verify this?
You are right to ask. I am a novice user, at best. How do I verify this? Remote access says “fully accessible” and during a stream, I don’t see “indirect” anywhere on my dashboard.
I apologize for editing out all of what you replied to. It seems to be related to my files being saved as MP4s rather than the much larger MKVs. The MKV I streamed started fine with no buffering. Does that make it a transcoding issue? That seems like the server should have the same issue locally if it needs to convert the MP4 for playback.
It will probably not show up, if your server hardware doesn’t support HEVC encoding in hardware (which can be caused either by a restriction of the hardware itself, or a missing driver software).
You need to enable detail information in the Dashboard as well.
Proper mp4 files are quite compatible with a large range of client types. If you say MKV are working but mp4 are not, it reminds me of an issue with improperly produced mp4 files, which were missing “interleaving” (that is storing a few seconds worth of video, then the audio, then again video, then audio and so forth.)
If your files are without interleaving, streaming them unchanged over a streaming network protocol can produce issues like those you’re describing above. See Capcut videos playback issues with plex - #2 by OttoKerner
I appreciate your help. HEVC is and was enabled, it doesn’t say H.265, and I’m not tech savvy enough to know that those are analogous. I was already looking at detail information on Dashboard. It shows direct or transcoding, but never “indirect.” Looks like I’m doing everything that I should with the hardware I have. It just wasn’t the issue I thought it was. I guess I have to find an MP4 compression that works or leave my files as MKVs and expand my storage. Thanks!
It sounds as if you think that MKV files are generally larger than mp4 files.
They are not necessarily.
Both are just “container” formats, which can encapsulate various audio and video codecs.
It is trivial to turn an existing mp4 file into MKV without it getting larger or losing quality.
The linked post is describing exactly that.
It is also possible to “repair” your existing mp4 without interleaving, without turning them into MKV files. Without quality loss.
Both options are much faster than re-encoding or re-downloading other file formats.
I tried several different compressions to no avail. I still had the buffering for 2 minutes at the start of any (direct) stream… and that’s the clue. No buffering when transcoding the uncompressed MKV, but buffering streaming the compressed MP4, or compressed MKV.
I turned off “allow direct play” and “allow direct stream” in the mobile app, thereby forcing it to transcode, even when the original resolution is the same, and my remote buffering issues are gone. It seems counterintuitive, but it’s working.