Remote Stream Causes Local Stream Buffering

Server Version#: 1.99.0.210-2d92b948
Player Version#: Multiple - iOS, AppleTV, Roku

Description:
I have a mysterious bottleneck somewhere in my Plex setup. When streaming locally and a remote stream starts, the local stream starts buffering and switches from direct play to transcoding to a lower quality. This is not always 100% replicable. My current assumption is that it is bandwidth related. Detailed info on what led me to this below.

Ruling Out Transcode
I am using GPU passthrough to a Linux VM for HW transcoding. There is no CPU load shown in the graphs at time of issue. To confirm the CPU graph is accurate, I tested this by forcing a 4k Remux to lower quality with HW transcode enabled, observing the CPU load graph, and then repeating the test with HW transcode disabled. The CPU graph spikes and I get buffering without HW transcoding, as expected. Because of this, I do not believe the issue is related to transcoding.

Incorrect Stream Location LAN vs WAN
When I first noticed the issue, Tautulli showed my local stream as WAN, even though my private IP was listed correctly. Unfortunately I lost track or didn’t confirm this on the Plex dashboard. I reviewed the list of local networks and discovered a syntax error (semicolon in one place instead of comma).

After fixing the list, Tautulli still showed WAN. Once again, I unfortunately didn’t look at Plex dashboard. I decided to summarize my subnets with 192.168.0.0/16 and Tautulli immediately showed LAN. I am not sure what /24 was missing to cause this issue. Tautulli, Plex, the NAS, and the local streaming client are all on different VLANs. Adding each VLAN did not solve the issue but the /16 did which makes little sense. At this point I realized the Plex dashboard also differentiated between local and remote, and confirmed Plex showed local for the stream too.

I assumed the issue was resolved since the 4k stream at 54Mbps was no longer considered WAN. I checked the remote access settings and the ‘Internet Upload Speed’ was set to 120Mbps and the ‘Limit remote stream bitrate’ was set to 15Mbps. If Tautulli was reporting the same location as Plex and Plex considered this stream remote, it would not have been streaming properly at 54Mbps with the 15 cap. Quite a mystery.

Current Status
I am still having the issue and tried various things.

  • Set my upload to my actual ISP upload of 150Mbps
  • Set ‘limit remote bitrate’ to Original (no limit)
  • Rebooted Plex server
  • Switched transcode scratch from RAM disk to an NVMe SSD
  • Reviewed VM & hypervisor host settings at time of issue - nothing unusual
  • Reviewed NAS usage at time of issue - nothing unusual

To complicate things further, I recall a few days prior having two local streams going and when I started the second one, the first stream started buffering. I am now wondering if it’s related. It’s possible those were considered as remote streams. But again, the two combined would be under the 120Mbps cap. Local or remote aside, why would there be buffering if transcoding isn’t the issue and the cap is not met?

Questions

  • Is it possible Plex is not adhering to the configured bandwidth restrictions?
  • What log files should I review and what should I look for?
  • Any suggestions for testing further?
  • When using HW transcode, is is possible that is the bottleneck and Plex doesn’t combine that with the CPU load in the dashboard?

Current Theory
Since there is no indication of resource exhaustion anywhere in this setup, and there was clearly issues with LAN vs WAN and the allowed networks list, I feel like Plex is bugged and misinterpreting local and remote connections. Or the CPU graph is not accurately depicting hardware constraints.

Specs
Server: Ubuntu server VM i7 7700K with Intel HD 630 GPU passthrough. 8 cores, 16GB RAM
Storage location: Synology DS1019+ with WD Red 5400 drives

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.