Plex won't play on web but can play on android box...and more problems

Server on Raspberry Pi 4 on Docker Container (docker-compose)
Server Version#: 4.46.2
Player Version#: 8.9.2.21619 (613cb8fd) - Android
Player Version#: 7.9 - IOS
Player Version#: 1.20.5.3600 (Safari on Macbook Pro)

Hi everyone, i hope you are all doing fine during this pandemic.

I have installed Plex Server on my raspberry pi 4, using docker-compose. I can watch any series or movies on my android box on same network. however, i have a few problems. for the sake of simplicity, i used these two files for testing.

a) File A:
Codec: HEVC
Container: MKV
Bitrate 2270 kbps
Resolution: 1080p
Coded: EAC3
Bitrate: 640 kbps

b) File B:
Codec: H264
Container: MP4
Bitrate 888 kbps
Resolution: 720p
Coded: AAC
Bitrate: 94 kbps

With File A, the situation are as below:

  1. Same network as plex server:
  • Android box: Playable
  • Web on Laptop: Not Playable (“Conversion failed. A required codec could not be found or failed to install”)
  • Mobile phones (android and Iphone): Playable
  1. Outside network:
  • Android box: Not tested
  • Web on Laptop: Not Playable (“Conversion failed. A required codec could not be found or failed to install”)
  • Mobile phones (android): Not Playable (" An error occured while attempting to play this video. Please check your connection and try again")
  • Mobile phones (IOS): Not Playable (" Something went wrong playing your media. Please try again. Conversion failed. A required codec could not be found or failed to install")
  1. On VPN from outside network:
  • Web on Laptop: Not Playable (“Conversion failed. A required codec could not be found or failed to install”)
  • Mobile phones (android and Iphone): Playable

With File B, the situation are as below:

  1. Same network as plex server:
  • Android box: Playable
  • Web on Laptop: Playable
  • Mobile phones (android and Iphone): Playable
  1. Outside network:
  • Android box: Not tested
  • Web on Laptop: Playable
  • Mobile phones (android): Playable
  • Mobile phones (IOS): Playable
  1. On VPN from outside network:
  • Web on Laptop: Playable
  • Mobile phones (android and Iphone): Playable

I think i have configured port forwarding correctly, if not, i cannot play outside network at all. I also tried disabling subtitles for every situation tested.

I am scratching my head for a few weeks now, that i might go bald due to these issues.

Please let me know how to help you to get more information, since i am quite new to this.

Thank you and stay safe people.
Ahmad

Web can’t play hevc so it has to convert it to h264. That error indicates PMS is unable to find either the hevc or h264 codec (or both) to do the conversion. PMS will downlaod the codec from plex.tv when needed. Could be a permission issue not allowing PMS to save the codec or connection issue back plex.tv to download the codec. Restart PMS, play the hevc file, upload logs.

Sure. I will do it and upload it later. But, what about not being able to play hevc on mobile app when outside network? It can be played when connected to home wifi.

(File removed)

attached is the zip file of the log after i restart pms and then play then HEVC file

That sounds like you have the setting enabled to use a lower quality on cellular. This can cause a transcode which ends up with the same issue as from Web.

I’m checking your logs now.

Any information from the logs that is helpful?

The RasPi cannot convert from HEVC to H.264. Use a real computer as server.
Or you must either:

  • avoid HEVC encoded video
  • only use clients which natively support HEVC
  • additionally, you cannot adapt the bitrate of HEVC-encoded videos, to account for limited connection bandwidth because this also requires the ability to transcode

So, what is the reason of being able to play hevc within network, but not outside network from my mobile phone.

I can play MP4 both from outside and inside network from my mobile phone, so my port forwarding configuration is correct i guess.

Any info from the log?

Oh sorry. I thought I had responded before. Yeah your logs show the problem.

Nov 19, 2020 15:04:31.745 [0xb6f88720] WARN - [FFMPEG] - Error loading external lib: /config/Library/Application Support/Plex Media Server/Codecs/02cff92-3554-linux-armv7hf_neon/libaac_decoder.so: failed to map segment from shared object
Nov 19, 2020 15:04:31.746 [0xb6f88720] WARN - [FFMPEG] - Error loading external lib: /config/Library/Application Support/Plex Media Server/Codecs/02cff92-3554-linux-armv7hf_neon/libaac_encoder.so: failed to map segment from shared object
Nov 19, 2020 15:04:31.746 [0xb6f88720] WARN - [FFMPEG] - Error loading external lib: /config/Library/Application Support/Plex Media Server/Codecs/02cff92-3554-linux-armv7hf_neon/libh264_decoder.so: failed to map segment from shared object
Nov 19, 2020 15:04:31.747 [0xb6f88720] WARN - [FFMPEG] - Error loading external lib: /config/Library/Application Support/Plex Media Server/Codecs/02cff92-3554-linux-armv7hf_neon/libhevc_decoder.so: failed to map segment from shared object
Nov 19, 2020 15:04:31.748 [0xb6f88720] WARN - [FFMPEG] - Error loading external lib: /config/Library/Application Support/Plex Media Server/Codecs/02cff92-3554-linux-armv7hf_neon/liblibx264_encoder.so: failed to map segment from shared object

As previous mentioned, PMS can’t find/use the codec files it needs. It could be a permission error. Please make sure these have executable rights.

Hi thank you for your reply.

I have checked the permission for all 5 files that were mentioned from the log extract. I used “ls -l” command for all those file. It returns the following:

-rwxrwxrwx 1 root root 258976 Nov 18 12:29 libaac_decoder.so

-rwxrwxrwx 1 root root 215384 Nov 18 12:29 libaac_encoder.so

-rwxrwxrwx 1 root root 1239676 Nov 18 12:29 libh264_decoder.so

-rwxrwxrwx 1 root root 657608 Nov 18 12:29 libhevc_decoder.so

-rwxrwxrwx 1 root root 1383984 Nov 18 12:29 liblibx264_encoder.so

So I believe there is nothing wrong with the permission, isn’t it?

Even if it were permission problem, how does that explain of being able to play HEVC on mobile when connected within network, but not outside network?

Is there anything else that I can do about this?

Any other test that i can do to troubleshoot this?

I’m not a linux person so I’m not sure it a permission issue but something is preventing PMS from being able to access those files. I think there is something about users and groups maybe. See if Linux Tips - #22 by ChuckPa helps.

The mobile app might have a lower quality setting when using remote access which triggers the transcode. Locally, it is likely direct playing the file so it doesn’t need to transcode and doesn’t run into the issue. To test, while local, change the playback quality to a lower value. Then while remote, change the remote streaming quality in the Quality settings page to “maximum”. If it’s on cellular, you’ll also want to change the “limit cellular data” to off.

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