Plex Server ignoring Android Custom Profile

Server Version#: 1.28.1.6041
Player Version#: Android - 9.6.2.34368

I created a Custom Profile for Android to try to limit all codecs to no more than 1920x1080. I’ve tried a really simple one that just told it to Direct Play everything (using *), and I’ve tried one that was a bit more fleshed out, giving transcode options and Direct Play options. Regardless, I see no difference when trying to play a 4K movie on Android, it neither transcodes to 1080p nor plays the existing 1080p file. During these tests, the client was set to not limit cellular data, and to play Maximum/Original quality.

 

PlexMediaServer/AppData/Plex Media Server/Profiles/Android.xml

<?xml version="1.0" encoding="utf-8"?>
<Client name="Android">
  <!-- Author: Plex Inc. -->
  <TranscodeTargets>
    <VideoProfile protocol="hls" container="mkv" codec="h264" audioCodec="aac,mp3" context="streaming" />
    <MusicProfile container="mkv" codec="opus" />
    <PhotoProfile container="jpeg" />
    <SubtitleProfile container="ass" codec="ass" />
  </TranscodeTargets>
  <DirectPlayProfiles>
    <VideoProfile container="mp4" codec="Hevc,h265,mpeg1video,mpeg2video,h264,mpeg4" audioCodec="aac,mp3,mp2"/>
    <VideoProfile container="mkv" codec="vp9,Hevc,h265,mpeg1video,mpeg2video,h264,mpeg4" audioCodec="aac,mp3,mp2,pcm,flac,alac" subtitleFormat="srt,ass"/>
    <VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac" />
    <MusicProfile container="mp3" codec="mp2,mp3"/>
    <MusicProfile container="mp4" codec="aac"/>
    <MusicProfile container="flac" codec="flac"/>
    <MusicProfile container="wav" codec="pcm"/>
    <PhotoProfile container="jpeg,png,gif"/>
  </DirectPlayProfiles>
<CodecProfiles>
    <VideoCodec name="h265,Hevc,vp9">
      <Limitations>
        <UpperBound name="video.width" value="1920"/>
        <UpperBound name="video.height" value="1080"/>
        <UpperBound name="video.bitrate" value="20000"/>
      </Limitations>
    </VideoCodec>
    <VideoCodec name="h264,mpeg4">
      <Limitations>
        <UpperBound name="video.width" value="1920"/>
        <UpperBound name="video.height" value="1080"/>
        <UpperBound name="video.bitrate" value="20000"/>
        <UpperBound name="video.bitDepth" value="10" />
      </Limitations>
    </VideoCodec>
    <VideoAudioCodec name="aac,mp3">
      <Limitations>
        <UpperBound name="audio.channels" value="2" />
      </Limitations>
    </VideoAudioCodec>
  </CodecProfiles>
</Client>

PMS will use your profile as a basis.

That said, PMS and the app communicate prior to playback.
If the app asks for more, and it can do it, PMS will send what was requested.

If you want to disable all transcoding, you can do so in the server settings but that will stop ALL transcoding. Be careful using this as it often has more impact than you want.

Your better choice is to set the limit in the app. This is where you have the control.
PMS will do as commanded by it.

Definitely don’t want to disable transcoding, since a friend that uses it lives where there’s almost no service and he has to transcode down to 720p to watch without buffering.

If an upper bound is set for resolution, why would the server overrule the profile and send higher resolution then? Defeats the purpose of being able to place an upper bound.

I’ve tried using the quality settings in client, but that just makes a 4k version transcode down to the 1080p bitrate that I select. And the cellular data limit only goes up to 720p, so that won’t work either. I did put in a Feature Request to add more higher data limits to that.

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