Server Version#: Version 1.20.3.3421
Player Version#: Version 4.44.1
Tuner Make/Model: HDHomeRun CONNECT QUATRO
Guide/Lineup name: All
Using XMLTV?: No
My Plex TV remote viewing functionality is essentially unusable at speeds over 2 Mbps: any show, whether live or recorded, plays intermittently and either buffers every few minutes or cuts out entirely at even 4 Mbps.
My server has good internet (avg 400 Mbps down and 20 Mbps up) and is on a capable Ubuntu machine (see bottom of post for inxi -F results). My player location has bad internet (avg 6 Mbps down and 1 Mbps up). The issue is Player agnostic, as it occurs on all of the following: FireTV, Samsung TV, Xbox, Android, and Chrome browser. Also, it has occurred across upgrades of the Plex server over the past 6 months.
For the last six months, I thought the constant buffering/cutting out was because my Player’s remote access location had slow internet. But I just tried it with a better network (avg of 20 Mbps down) and encountered the same problems at any speed over 2 Mbps – and sometimes even then.
I have fiddled with the transcoding settings, but at either end of the spectrum I get the exact same results. I keep hoping that I just have some setting wrong, but that hope is fading
I am happy to attach logs, as this is easy to reproduce; it happens every time I try to view remotely. Please help; I purchased the lifetime subscription, so I am essentially committed to Plex.
Here is a picture of the bandwidth usage and the CPU usage. It appears to show a roller-coaster of bandwidth going up and down. Maybe that is part of the issue? CPU looks good.
Do you have any computational capability at that remote location?
If so, there is a definitive test of the point-to-point available bandwidth.
your machine installs and runs iperf3 -s (server mode)
The remote machine installs iperf3 and runs iperf3 -c ip.addr.of.host followed by iperf3 -c ip.addr.of.host -R. This checks both directions.
The most important thing you’re checking here are all the points between the two.
If any one is bad, it will show here.
As prime example, One of the Plex Ninjas has 1G down/40m up. I have 40M down/ 2M up. You would expect I can get near 20 Mbps from him. I can’t. The absolute best I can sustain is 6 Mbps due to all the peering points between us and the inherent latency added by every hop.
Ninjas are the other moderators you see here in the forum.
It’s Plex’s term for those who have a greater understanding of how the internals work and volunteer their time to help others.
The “rabbit hole” is when one believes that ample upload/download on both ends is a 100% guarantee of connectivity speed between the two endpoints.
It sounds great on paper but almost NEVER happens.
Here are the results while running a VPN on the client (so max is around 20 Mbps down). It seems I should be able to watch Plex at 4 Mbps, or is that incorrect?
@ChuckPa – thank you so much for looking closely at this. I really appreciate it. And really appreciate the Vaapi suggestion. Will implement that asap.
Regarding the streaming bandwidth limit, can you see a reason why I can’t get even 4 Mbps at the remote (client) location? Or if I should change a setting to do so?
Regarding the vaapi addition to Preferences.xml, I stopped Plex using systemctl, then edited the file, then restarted, but it deletes the addition each time. Is there a different way I should be doing it?
It should look like this: (with PMS already stopped)
SomeOtherPref="value" VaapiDriver="i965" />
Should you be able to stream? Yes.
Look at the retries in that 10 second test window. 98 retries?
Every retry means PMS will have to resend the whole block.
If that repeat doesn’t get there in time, without error, it’s going to buffer.
When there’s this much packet loss, there is a physical connectivity issue.
I almost only see this when WiFi is involved or when a cable / connector is about to fall apart.
Given how many use WiFi, even for their servers , I’m more apt to think WiFi congestion is the cause. (Remember, only 1 device can transmit at a time on WiFi)
Cable internet has the same problem. It’s also RF (Radio Frequency) and subject to anyone else on your loop hogging it / collisions if you both try to transmit at the same time.
I was able to get it to stick, but now I can’t access Plex via a client (I can still access the machine using SSH, and it reports that plexmediaserver is running). I tried rebooting, to no avail.
plexmediaserver.service - Plex Media Server
Loaded: loaded (/lib/systemd/system/plexmediaserver.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-10-13 12:06:52 PDT; 11min ago
Process: 1405 ExecStartPre=/bin/sh -c /usr/bin/test -d "${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}" || /bin/mkdir -p "${PL
Main PID: 1414 (Plex Media Serv)
Tasks: 66 (limit: 4915)
Memory: 237.7M
CGroup: /system.slice/plexmediaserver.service
├─1414 /usr/lib/plexmediaserver/Plex Media Server
├─1513 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-54b6523bd/Framework.bundle/Con
├─1589 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexme
├─1619 Plex Plug-in [com.plexapp.plugins.WebTools] /usr/lib/plexmediaserver/Resources/Plug-ins-54b6523bd/Framework.
└─1660 Plex Plug-in [com.plexapp.agents.imdb] /usr/lib/plexmediaserver/Resources/Plug-ins-54b6523bd/Framework.bundl
Oct 13 12:06:52 hp-plex-ubuntu systemd[1]: Starting Plex Media Server...
Oct 13 12:06:52 hp-plex-ubuntu systemd[1]: Started Plex Media Server.
Here is how the Preferences.xml file looks now: <Preferences .... MetricsEpoch="1" VaapiDriver="i965" />
I’m testing it via SSH and systemctl to confirm it is running. I can’t test it any other way locally because I am remote to the server, and I am having issues getting a browser to open using X11. Any idea why it would stop working after editing the Preferences.xml file – despite plexmediaserver.service running? Is there a way via the CLi to reset the preferences?
You can’t test anything via SSH . You need the GUI to initiate playback.
Without the GUI / browser, you would have to completely emulate Plex/web . That’s a very complete task given it’s all JSON.