Shield TV Player XML Profile

I’m hoping some of the original contributors are still watching this thread.

For background, my interest is to get Plex server to transcode anything DTS to AC3 as my receiver (actually its a PlayBar) doesn’t work with DTS. This was in theory possible in the past by altering these XML files but doesn’t seem to work now.

It seems that the Shield TV uses the android.xml all the time, and seems to ignore a lot of the info, applying its own comparability settings automatically.

The Shield TV can play DTS, so there is no way for me to manually exude this from direct play from what i can see.

If anyone can help me with a way around this or has a working setup please let me know. I have just invested heavily in multiple Sonos PlayBars and multiple Shield TVs so i’m about as desperate for a solution as could be.

Cheers

1 Like

@mdscarrott said:
I’m hoping some of the original contributors are still watching this thread.

For background, my interest is to get Plex server to transcode anything DTS to AC3 as my receiver (actually its a PlayBar) doesn’t work with DTS. This was in theory possible in the past by altering these XML files but doesn’t seem to work now.

It seems that the Shield TV uses the android.xml all the time, and seems to ignore a lot of the info, applying its own comparability settings automatically.

The Shield TV can play DTS, so there is no way for me to manually exude this from direct play from what i can see.

If anyone can help me with a way around this or has a working setup please let me know. I have just invested heavily in multiple Sonos PlayBars and multiple Shield TVs so i’m about as desperate for a solution as could be.

I found no way to do this after doing research for awhile. Ended up giving up and converting the audio track from DTS to AC3.

I’m still Hopeful there is a way which is why I subscribe to this thread :slight_smile:

So, do these techniques work anymore?

Great Post!

So most of you’re using Linux / Mac as your PMS, and the Nvidia Shield as the Client.

In my case, I am used the Nvidia Shield as both the Server and as well as the client.
So, any idea, how (or rather where) do I find the XML file on the Shield Server? I browsed through the internal storage, but had no luck finding any XML.

Anyone made these profile changes on the Shield as the Server?

Same problem for me, when I connect to my Shield TV, I don’t find any folder matching the following path : …/plexmediaserver/Library/Application Support/Plex Media Server/

Could someone who figured out where to put the custom profile on a Nvidia Shield TV please post a reply with the path and how to get there through the local network? Solution is much appreciated!

The profiles are added onto your server, not the shield its self

My Nvidia Shield TV Pro functions as server as well as my player.

Will this really play only 1080p and no 4k movies ?

This is my current Android-SHIELD Android TV.xml file, cobbled together from this thread, various places and personal experience.

https://hastebin.com/tizijuxeba.xml

<?xml version="1.0" encoding="utf-8"?>
<Client name="SHIELD Android TV">
  <Identification>
    <Header name="User-Agent" substring="SHIELD Android TV" />
  </Identification>
  <!-- Author: Plex Inc. -->
  <TranscodeTargets>
    <VideoProfile container="mkv" codec="h264" audioCodec="aac" context="streaming" />
    <MusicProfile container="flac" codec="flac" id="StereoMusicTranscodeProfile" />
    <PhotoProfile container="jpeg" />
  </TranscodeTargets>
  <DirectPlayProfiles>
    <VideoProfile container="mkv" codec="vp9,hevc,h265,mpeg1video,mpeg2video,h264,mpeg4" audioCodec="eac3,ac3,aac,mp3,mp2,pcm,flac,alac,truehd,dca" subtitleFormat="srt,ass,smi,ssa,subrip"/>
    <VideoProfile container="mp4" codec="hevc,h265,mpeg1video,mpeg2video,h264,mpeg4" audioCodec="eac3,ac3,aac,mp3,mp2" subtitleCodec="srt,ssa,ass"/>
    <VideoProfile container="asf" codec="wmv3,wmv3,vc1" audioCodec="wmav2,wmav2,wmapro,wmavoice,pcm" subtitleCodec="srt,ssa,ass"/>
    <VideoProfile container="avi" codec="h264,msmpeg4v3,mpeg4,mjpeg" audioCodec="mp3,ac3,eac3,dca,pcm" subtitleCodec="srt,ssa,ass"/>
    <VideoProfile container="mpeg" codec="h264,mpeg1video,mpeg2video" audioCodec="mp2,mp3,ac3,eac3,aac,pcm" subtitleCodec="srt,ssa,ass"/>
    <VideoProfile container="flv" codec="h264" audioCodec="aac,ac3,eac3,mp3,pcm" subtitleCodec="srt,ssa,ass"/>
    <VideoProfile container="mpegts" codec="h264,mpeg2video,vc1" audioCodec="mp2,mp3,ac3,eac3,dca,pcm" subtitleCodec="srt,ssa,ass"/>
    <VideoProfile container="wtv" codec="mpeg2video" audioCodec="ac3,eac3,aac,pcm"/>
    <VideoProfile container="3gpp" codec="h264,mpeg4" audioCodec="aac,he-aac"/>
    <MusicProfile container="mp4" codec="aac" />
    <MusicProfile container="mp3" codec="mp2,mp3" />
    <MusicProfile container="flac" codec="flac" />
    <MusicProfile container="ogg" codec="vorbis" />
    <MusicProfile container="ac3" codec="ac3"/>
    <MusicProfile container="wav" codec="pcm"/>
    <PhotoProfile container="jpeg,gif,bmp,png" />
  </DirectPlayProfiles>
  <ContainerProfiles>
    <VideoContainer name="mp4">
      <Limitations>
        <Match name="part.optimizedForStreaming" value="1" />
      </Limitations>
    </VideoContainer>
  </ContainerProfiles>
  <CodecProfiles>
    <VideoCodec name="*">
      <Limitations>
        <UpperBound name="video.width" value="3840" isRequired="true" />
        <UpperBound name="video.height" value="2160" isRequired="true" />
        <UpperBound name="video.bitDepth" value="10" />
      </Limitations>
    </VideoCodec>
    <VideoCodec name="h264">
      <Limitations>
        <Match name="video.profile" list="baseline|main|high" />
      </Limitations>
    </VideoCodec>
    <VideoAudioCodec name="aac">
      <Limitations>
        <UpperBound name="audio.channels" value="8" />
      </Limitations>
    </VideoAudioCodec>
  </CodecProfiles>
</Client>
4 Likes

Curious I’ve been running custom profile similar to yours for a few weeks and I noticed it works as soon as I drop it in and then at some point it goes back to the original (the custom profile is still where I dropped it (/application support/plex media server/profile/ Android-SHIELD Android TV.xml).

Are you able to keep yours continually in use?

I wouldn’t say I’ve specifically looked to confirm, but I think I’d notice if I was suddenly transcoding again for subtitles or pretty much any video. I’ll try to pay attention and see. I can’t think of any reason it’d just stop using it if it worked. What OS? I’m doing this natively on Arch Linux.

My key issue is eAC3 and both Shield and my TV support it.

The profile posted by @fryfrog definitely does not work on my Shield Pro 2019. I have tried tinkering but keep getting “connection to this server has been lost”.

All video and audio direct plays/streams fine with Kodi/MrMC.

Is there any hope of Plex acknowledging this as a real issue and finally create an official profile for the Shield? It beggars belief there isn’t one yet considering how much nVidia and Plex collaborate!

@onizukaa, have you installed Tautulli to see better what is triggering the transcoding? The eac3 audio codec is part of most of them.

Indeed i have Tautaulli. It is basically anything that has eac3 audio. It seems like the 2019 SHIELD audio settings have no impact either, as i tried setting manually what my TV supports but still no luck.

It always says connection to the server has been lost if i use that profile though. I am not sure what changed in the 2019 model.

Again it goes back to why isn’t there a profile for the SHIELD from Plex themselves :slight_smile:

I have tried going step by step using the Android.xml file but still no luck. Things are fine on the 2017 SHIELD.

@onizukaa

Try changing this line

<VideoProfile container="mkv" codec="h264" audioCodec="aac" context="streaming" />

and make it like this:

<VideoProfile protocol="hls" container="mkv" codec="h264" audioCodec="aac" context="streaming" />

Should work now. Good luck.

1 Like

Thank you @ciss1 i will copy over the android.xml and give it a go!

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