Streaming issues

Hey all,

Been loving the PLEX app for quite some time, however recently my user’s have started complaining about inconsistent performance issues (streaming hiccups). My build is in my signature.

Its been starting to happen a bit more frequently recently and I can’t seem to pinpoint the location of the bottleneck, but I have a guess. Our guess is that it may be at the connections speed. After testing with http://internethealthtest.org, the speeds that I’m getting on average is 100mbps Down/ 8.5mbps Up (marketed as 20mbps from ISP but yeah…that’s another story I guess).

At any one time, I seem to get a maximum of 3 users who request at one time. What I’m not sure about is why all of a sudden these user’s are having problems. Am I right to assume that technically at 1080p settings, this request would probably need 30mbps Up if the videos were transcoded at 10mbits? And what of the container? Does PLEX automatically switch to transcode mode instead of direct play if the file is an mkv instead of an mp4 (all in H.264 btw)?

Is there anyway to increase buffer speeds for these users, or to allow a stream ahead option? I’m pretty sure my server can handle such a process.

Lastly, 4K…err, if I’m having 1080p problems with users atm, then I’m pretty sure 4k is going to be a nightmare. But what I’m curious about is why I was getting lag on a local playback through both the web and home theater app of a 4K file? My guess; it was encoded in H.265 and my local CLIENT hardware doesn’t natively support H.265 hardware decoding (that system is still using a GTX 670…I know, getting a 1070 in October ok!?!) ? Or does that make a difference?

Sorry for the winded post, but just trying to get an idea of what I can try to do to improve the user experience on my end.

Cheers and Thanks!

These things tend to be quite difficult to explain properly with lots of variables to adhere to, and I’m not an expert per se, but I’l give it a shot so you at least have something to go on (and search further upon).

Am I right to assume that technically at 1080p settings, this request would probably need 30mbps Up if the videos were transcoded at 10mbits?

Probably more. Most streams fluctuate in bitrate. Remember also that it is the clients that requests and sets the transcoding option to 10Mbit - not you on the server.

And what of the container? Does PLEX automatically switch to transcode mode instead of direct play if the file is an mkv instead of an mp4 (all in H.264 btw)?

PMS doesn’t do that, it is dependent on what client says it can handle. A simple MKV to MP4 is just a remux though, so it shouldn’t be causing too much stress on the CPU. https://support.plex.tv/hc/en-us/articles/201566396-How-are-Direct-Play-Direct-Stream-and-Transcoding-different-

"Direct Stream

The media is almost compatible with the native client. For example, the audio and video codecs are compatible but the container is not. In this case, the audio/video codecs are direct streamed to the client, and Plex transcodes the container to a format the native player can use."

Is there anyway to increase buffer speeds for these users, or to allow a stream ahead option? I’m pretty sure my server can handle such a process.

No, there is not. Plex does not have any Youtube-functionality as such.

But what I’m curious about is why I was getting lag on a local playback through both the web and home theater app of a 4K file?

Most likely due to the transcoding process requested by the client due to it not supporting x265. A high bitrate 4K x265 file (say upwards of 80-100Mbit) can cause havoc to any CPU’s within reasonable price-range.

Sorry for the winded post, but just trying to get an idea of what I can try to do to improve the user experience on my end.

No need to say sorry. These are as I said quite difficult things to handle since so many variables exists. Based on your constraints; you only have 8Mbit upload speed, there are 3 remote users that can potentially use it at the same time, and you still want to have a HTPC setup at home locally - my humble suggestion would be to further expand upon your storage capacity and create copies. You can still have one, high-bitrate 4K x265 version of your media file for your new HTPC that can natively handle that and then have another copy of the exact same media in a 720p 2Mbit x264 MP4 stream optimized version. Remember though that you still need to educate your remote users to set the correct settings in the clients, otherwise they might still try and get the x265 version (depending on client).

Wow what a great answer :smiley:

Hope you don’t mind a few more follow up questions if you can answer:

  1. Is there a way to have two versions of the same movie in the same folder that adheres to a certain request, aka for request 1 give 10Mbps precomp version at 1080p, while request 2 gives 5Mbps precomp version. If neither exist, transcode on the fly (if I’m not mistaken, PLEX already has this natively, but I’m curious on if I can compose those versions myself)?

  2. My processor is a Xeon Quad Core. I read somewhere that its not a good idea to set the transcoder to “Make my CPU Hurt” with less than 8 cores? Would this still hold true for my server processor and may that also be a cause for transcoding lag?

  3. Going to take a look at the link provided, but how much more work is given to the server with the correct codec, but the wrong container? Like I said, I’ll still read through your link.
    Answer: Very little apparently, though it may also depend on the subtitles support (if necessary). If the subs are in wrong format, then video will be fully transcoded.

  4. Saw an idea going around about utilizing a CDN with PLEX (or maybe an Amazon server?), or some kind of secondary “mirror” server. It’d be nice since I’d be able to use that remote resources connection speeds which would be far faster than my upload speeds; if anything, I’d leverage the newest content there and use my on site server as archival. But I’m wondering about all the work, potential, cost, and privacy concerns that arise from doing so. Info seems to be a bit scarce so any help here would be awesome.

Thanks again!

1 - Check either https://support.plex.tv/hc/en-us/articles/214079318-Media-Optimizer-Overview or the 3rd party conversion script that Cayars created https://forums.plex.tv/discussion/comment/931888/#Comment_931888

2 - Are you sure this hasn’t been confused with 4 cores and HyperThreading? Regardless, I haven’t heard any such recommendations. If you have the CPU power to spare, you can try setting it at that. There’s more information over here - https://support.plex.tv/hc/en-us/articles/200250347-Transcoder

4 - Yes, there exists a cloud sync option. I haven’t used it myself so I can’t say much about how well it works. But sure, if you already have one such account to try with then there’s no harm in doing that, especially if you have a low upload speed. https://support.plex.tv/hc/en-us/articles/201889756-Cloud-Sync-Overview