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.
Web on Laptop: Not Playable (“Conversion failed. A required codec could not be found or failed to install”)
Mobile phones (android and Iphone): Playable
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")
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:
Same network as plex server:
Android box: Playable
Web on Laptop: Playable
Mobile phones (android and Iphone): Playable
Outside network:
Android box: Not tested
Web on Laptop: Playable
Mobile phones (android): Playable
Mobile phones (IOS): Playable
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.
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.
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.
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
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?
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.