Overall the new iOS app is clear downgrade from earlier versions - the home screen when Plex’s own content is turned off is terrible, I can’t see my own content first, it’s buggy and an example of what not to do. Remote access connection is intermittent - the app needs to be force closed and re-opened multiple times to connect. Loading content details takes forever if it happens, it’s slower and less responsive. I just can’t find a good thing to say about it.
There are two parts to my current problem but I’d prefer to focus on the remote access one.
Lately (unsure exactly when) I cannot play any stream via the iOS app remotely, but streaming via browser (any device) works.
I have Plex Pass and am signed in to the server
Plex is running as a docker container with port forwarding (not net-host)
Port forwarding is setup and working as remote access works when played via the browser
Opening the iOS app it freezes multiple times, but I can eventually get to my Libraries and open a stream. The error is the incredibly helpful message
Error Occured
Error opening input.
On LAN this issue doesn’t occur. I can see the connections happening in my Plex Server console/logs so know that it’s partly working. I can’t see anything in the logs to suggest what’s causing the stream to fail on app, but not via browser.
Browsers tested are Safari and Firefox on iOS, and Chrome on MacOS (remote).
On iOS I’ve tried:
Turning cellular quality up
Toggling allow direct stream
Toggling burn subtitles to never
Reset cache
Delete app (not remove from home screen) > restart device > re-install
Trying different files (series, movies, different ones)
The “New Experience” apps have stricter network requirements than the browser/existing apps. If you disable Plex Relay you would loose remote access, nice way of saying your remote access isn’t working.
If something in the logs lead to that ca you give some more details please? I’ve read Otto’s post and most of that I feel is made clear in my OP.
These are the points from Otto’s post in order:
my problem is with remote access - yes. I’ve confirmed remote access is working via testing from a browser. My container is on bridge mode but port forwarding at both router and container level works (otherwise remote access wouldn’t work). Relay is off
DNS rebind protection is off, and I’ve even explicitly set Plex direct url for dns masq for extra certainty. No change, the iOS app is unable to open a stream.
about double NAT - I’m not on CGNAT, there are no other NAT layers present.
Home LAN is in an acceptable subnet 192.168.50.1/24
and 6) are not applicable as they relate to the web app (which works anyway)
I’ll also add IPv6 is not supported by my ISP and I have turned off IPv6 on the server
setting client bandwidth to original/maximum on server and iOS app sometimes video files will play over remote access/WAN
I made this change after seeing these messages in the server log
Oct 27, 2025 09:14:05.538 [22831747341112] DEBUG - [Req#20427] Streaming Resource: Reached Decision id=16135 codes=(General=2000,Neither direct play nor conversion is available. Direct Play=3000,App cannot direct play this item. No direct play video profile exists for protocol http, with container mkv, and video codec h264. Transcode=4005,Cannot convert this item. No conversion profile found for protocol http.) media=(id=35187 part=(id=35197 decision=none protocol=http streams=(Video=(id=100195 decision= width=1280 height=544) Audio=(id=100196 decision= channels=2 rate=48000))))
Oct 27, 2025 09:14:05.549 [22831747341112] ERROR - Got exception from request handler: bad lexical cast: source type value could not be interpreted as target
Oct 27, 2025 09:14:05.549 [22831847537464] DEBUG - Completed: [1.146.66.206:3809] 500 GET /library/parts/35197/1576282216/file.mkv (6 live) #20427 TLS 25ms 296 bytes (range: bytes=365810-)
Oct 27, 2025 09:14:08.014 [22831847537464] DEBUG - Failed to stream media, client probably disconnected after 2211840 bytes: 32 - Broken pipe
This makes me think it’s not a network issue but a bug in the implementation, as I have no bandwidth restrictions set for LAN clients, but happy to be proven wrong on this
Bridge mode is NAT so yes you have a double NAT situation.(1 for router 1 for bridge)
Bridge mode has been known to limit bandwidth to under 100 Mbit.
Did you expose all the Plex Ports?
This is what Plex sees as it network interface and where it tries unsuccessfully to do discovery of clients and devices.
Your Public ip is retrieved from Plex’s PubSub Server: 111.220.xxx.yyy
Internet connectivity seems to drop and come back frequently.
Oct 26, 2025 18:53:13.523 [22831847537464] DEBUG - [EventSourceClient/pubsub/139.162.57.189:443] MyPlex: We appear to have regained Internet connectivity.
What should be a local address is seen as WAN:
Oct 26, 2025 18:53:24.485 [22831803976504] DEBUG - Request: [192.168.50.1:34526 (WAN)] GET /identity (4 live) #2e TLS GZIP Signed-in
Plex tries to map to an IP and fails (Should be using docker parameter ADVERTISE_IP=http://192.168.50.10:32400 instead of Custom Server Address)
Oct 26, 2025 18:53:24.528 [22831815461688] DEBUG - [HttpClient/HCl#29] HTTP/1.1 (0.2s) 200 response from GET https://111-220-xxx-yyy.a6d5de3d4d0a440398a10db8fd52fd7e.plex.direct:32400/identity
Oct 26, 2025 18:53:24.528 [22831847537464] DEBUG - Completed: [192.168.50.1:34526] 200 GET /identity (4 live) #2e TLS GZIP 42ms 488 bytes (pipelined: 1)
Oct 26, 2025 18:53:24.529 [22831808080696] DEBUG - MyPlex: mapping state set to 'Mapped - Not Published'.
Oct 26, 2025 18:53:24.529 [22831808080696] DEBUG - MyPlex: sendMapping resetting state - previous mapping state: 'Mapped - Not Published'.
Oct 26, 2025 18:53:24.529 [22831808080696] DEBUG - MyPlex: mapping state set to 'Unknown'.
For secure connections clients will be directed to your Public IP and I already said the browser is different since it allows un-secure connections.
I’m using the linuxserver image but had set ADVERTISE_IP anyway.
In my compose file I’d used ADVERTISE_IP=”``http://192.168.50.10:32400``” but have removed quotes. Changing this seems to have helped improve the success rate for remote streams working from the iOS app.
All the required ports were included as forwarded in the compose file.
This is my routers address (192.168.50.1) so is it wrong that it’s showing as WAN?
Oct 26, 2025 18:53:24.485 [22831803976504] DEBUG - Request: [192.168.50.1:34526 (WAN)] GET /identity (4 live) #2e TLS GZIP Signed-in
Interesting with the 100 mbit bandwidth limit - I have other containers in bridge mode that can take full advantage of my network speed.
I changed my compose setup to host mode and tested again, and can confirm that remote access playback via the iOS app is more consistent (I still need to force close and re-open the app sometimes to get it to detect the server).
Even now I am still getting playback errors sometimes via the app. My next thought is it’s something to do with the audio stream. I’ve turned off subtitles. Choose vorbis as audio option it plays (but it’s audio with commentary), choosing DTS 5.1 the file never loads.
Another update - after much testing disabling DDoS protection on the router seems to have helped, but as above the problem is intermittent so not fully confirmed.