Hey all, I’m very new to self-hosting and have no background in anything computer-related. I’ll explain in as much detail as I can. I’m running Plex on a Synology DS220+. I’m using the Plex app, i.e. not using Docker (see note below).

The issue: I can watch Plex on my local network in 4K, but outside my local network it barely makes it to 720p. I thought it was an issue with my upload speed, but I got gigabit last week and it hasn’t fixed the issue. I have remote access enabled in Plex through a manually-specified port. The issue persists with my own account and any friends who have access to my library.

I appreciate any advice, links or questions you can offer!

NOTE: I understand the benefits of Docker and I promise to transition in the future. I spent many hours learning and troubleshooting, and it was even functional at times, but eventually I needed something that just worked.

EDIT: You all have been so helpful and supportive. Thanks for meeting me where I’m at and sharing some potential issues.

EDIT2: I found the culprit by accident. I had UPnP enabled on my router. I turned it off and my local speeds increased significantly, and my Plex library is available remotely. I don’t know how or why UPnP is related, but that’s what the solution was for me. Thanks again for all your input and support.

  • Avid Amoeba@lemmy.ca
    link
    fedilink
    English
    arrow-up
    24
    ·
    edit-2
    6 months ago

    I have three hypotheses.

    • There’s a setting for remote streaming quality. It may be set to 720p.
    • The port isn’t open on your router and Plex streams via a Plex relay server which limits the quality.
    • The CPU might not be fast enough to transcode beyond 720p and Plex might be transcoding for remote streaming.
    • i_am_tired_boss@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      ·
      edit-2
      6 months ago

      Even if the port is open, Plex can sometimes use the relay server. You might want to explicitly disable that.

      Also, you can check if the video is being transcoded on-the-fly by going to quality settings and seeing if it’s showing up as transcoded or directplay. Sometimes you might have to force the directplay on your client device (Playback might fail if your device doesn’t support the specific format).

    • triptrapper@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      6 months ago

      Thanks for the concise reply!

      -Streaming quality is set to original on every device I use to access Plex.

      -I still get confused about open ports, but I’ll check again and make sure it’s not running through relay.

      -I believe the hardware should be fast enough to transcode at least a couple streams, but I’ll check again.

    • CO5MO ✨@midwest.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      6 months ago

      The second one! That was also my issue when first setting up Plex. Found some good info on Plex forums & all is well now.

  • funkajunk@lemm.ee
    link
    fedilink
    English
    arrow-up
    9
    ·
    6 months ago

    Sounds like you don’t have port forwarding setup.

    I highly recommend setting up Nginx Proxy Manager and using it as a reverse proxy.

    I have lots of services, but using a reverse proxy means I only have to expose 2 ports (80 & 443) and then I can serve whatever I want, like Plex, over https without a relay.

    • mipadaitu@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      How do you set this up to forward properly? Do you use different domains for different services? like plex.example.com?

      I currently have nginx set up to forward based on port, which is fine for me, but it could be a little better.

      • funkajunk@lemm.ee
        link
        fedilink
        English
        arrow-up
        8
        ·
        edit-2
        6 months ago

        Yes, I use subdomains.

        I pay for one domain name in Cloudflare (e.g. awesomedomain.com), and have a single “A” record pointing to the public IP of my server, and a single “CNAME” record with a value of * that points to awesomedomain.com.

        That way, any subdomain gets directed to the server, and then you setup Nginx Proxy Manager to listen for certain subdomains and where to proxy them. No need to manage any further DNS records in Cloudflare, and any changes made on the proxy don’t need any wait time for DNS records to propagate.

        Nginx Proxy Manager also handles automatic SSL certs through Let’s Encrypt - I really can’t recommend it enough.

  • MrQuallzin@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    6 months ago

    You said you recently got a gigabit plan, but that’s related to your home download speed. Check to see what your upload speed actually is. Depending on your ISP’s plans, you might have a speedy download but a slow upload.

      • ShepherdPie@midwest.social
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        6 months ago

        If you go to canyouseeme.org and test your Plex port does it show as open?

        Your new ISP might have CG-NAT meaning you don’t get your own IPv4 address and can’t be connected to directly.

        Also stream a movie from your phone while connected to cellular data and then check that stream on the Plex admin screen to see what it says. IIRC the Plex Relay is fixed at 1mbps

  • leverage@lemdro.id
    link
    fedilink
    English
    arrow-up
    4
    ·
    6 months ago

    Regardless of what the remote access test says about it being available, I had to manually port forward to fix this same issue.

    • triptrapper@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      Remote access is enabled but whether I’m actually able to access the server or library remotely is intermittent. Plex says I may be double-natted but I was pretty sure I’m not. I’ll have to investigate again.

        • triptrapper@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          I’m sorry, I’m not knowledgeable enough to answer this. Should my router be bound to a certain IP? I believe it has an assigned local IP, but does it also have a public one?

          • Kairos@lemmy.today
            link
            fedilink
            English
            arrow-up
            1
            ·
            6 months ago

            Then you’re double NATed. Contact your ISP to see if you can forward a port.

  • tehgersh@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    6 months ago

    One thing I haven’t seen called out that could be a contributing factor is the hardware capabilities of the playback device. Depending on the codecs used in your media, there may not be hardware accelerated decoding support if the playback device is a smartphone. This may cause the plex to decide to transcode your media into a format that is supported by your playback device.

    Also, hardware accelerated transcoding is a subscription based feature. Without plex pass active, the transcode will be CPU based only. The dual core CPU will almost certainly not have enough oomph to transcode anything beyond 720p, but the CPU has Intel QSV support so plex should be smart enough to use that.

    • triptrapper@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      This is good to look into. I’ve tried remote streaming on several different devices. Before I bought the NAS I was sure it could handle a few streams, but maybe I was wrong.

    • triptrapper@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      Ah, Plex suggested I might be double-natted. Since fiber doesn’t need a modem (from my understanding) I have: fiber cable to box, box Ethernet to router, router ethernet to NAS. Maybe it would be better if I did box directly to NAS? Or would that put it on a separate network? I’ll look into your double-nat solution. Thank you.

      • piyuv@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        6 months ago

        You need to call your isp and request a static ip. Most probably they’ll say its extra but usually around $5. If they say they don’t give static ips to individuals you can request an ipv4 dynamic address and use a ddns. ipv6 only networks also result similarly to double nat

        • triptrapper@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          Thanks for the tip. My ISP only offers static IPs for the business tier, but I’ll ask about ipv4.

  • paraphrand@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    6 months ago

    I have gigabit, and struggled to stream. Turned out I had the Quality of Service (QoS) /traffic priority settings on my router misconfigured.

    This might be something to look into.

    Can a remote user download something from your network at a reasonable and consistent speed? (Not using Plex)

    Can you upload a large file somewhere and monitor the speed and see if it maintains speed as expected?

    For me, these two things were also performing at unexpectedly low speeds, or being wildly inconsistent until I fixed my QoS settings.

    • triptrapper@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      Unfortunately I’m using Nest WiFi and it doesn’t have QoS settings. You’re making me consider buying a new mesh router system because Nest also doesn’t have manual band selection, which I need for some IoT devices.

      • K3CAN@lemmy.radio
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 months ago

        I have the older “Google WiFi” mesh and I was able to install OpenWRT on them. You might want to see if that’s an option for yours before spending money on a new system.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    6 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    HTTP Hypertext Transfer Protocol, the Web
    IP Internet Protocol
    IoT Internet of Things for device controllers
    NAS Network-Attached Storage
    NAT Network Address Translation
    Plex Brand of media server package
    SSL Secure Sockets Layer, for transparent encryption
    VPN Virtual Private Network
    nginx Popular HTTP server

    9 acronyms in this thread; the most compressed thread commented on today has 14 acronyms.

    [Thread #817 for this sub, first seen 18th Jun 2024, 20:45] [FAQ] [Full list] [Contact] [Source code]

  • ramielrowe@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 months ago

    I have a similar issue when I am visiting my parents. Despite having 30 mbps upload at my home, I cannot get anywhere near that when trying to access things from my parents house. Not just Plex either, I host a number of services. I’ve tested their wifi and download, and everything seems fine. I can also stream my Plex just fine from my friends places. I’ve chalked it up to poor (or throttled) peering between my parents ISP and my ISP. I’ve been meaning to test it through a VPN next time I go home.

    • triptrapper@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      Thanks for sharing your experience. I pay for a static IP through my VPN provider, and I’ve wondered if there would be a benefit to running my server through the static IP, then using the same IP to access the server remotely. (Not sure if I’m describing that correctly.)