Hi All,
I tried to follow the recommendation here to edit my iOS.xml profile to allow for direct sync of my 4k content without transcoding, but I am having no luck. Here is what I have modified my iOS.xml profile to:
<?xml version="1.0" encoding="utf-8"?>
<Client name="iOS">
<!-- Author: Plex Inc. -->
<!-- This profile is used by A5 and higher devices (starting with iPhone 4S and iPad 3) -->
<Settings>
<Setting name="DirectPlayStreamSelection" value="true" />
<Setting name="StreamUnselectedIncompatibleAudioStreams" value="true" />
</Settings>
<TranscodeTargets>
<VideoProfile container="mp4" codec="h264" audioCodec="aac" subtitleCodec="mov_text" context="static" />
<VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac,mp3" subtitleCodec="eia_608_embedded" context="streaming">
<Setting name="HlsExtraMultiChannelAudioStream" value="ac3" />
</VideoProfile>
<MusicProfile container="mp3" codec="mp3" />
<PhotoProfile container="jpeg" />
<SubtitleProfile protocol="hls" container="webvtt" subtitleCodec="webvtt"/>
</TranscodeTargets>
<DirectPlayProfiles>
<VideoProfile container="mkv,mov,mp4,mpegts,mpeg,mpegvideo,avi,flv,ogg" codec="h264,hevc,vp8,vp9,h263,mpeg1video,mpeg2video,mpeg4,vc1" audioCodec="aac,aac_latm,ac3,alac,flac,dca,vorbis,opus,eac3,mp1,mp2,mp3" subtitleCodec="ass,dvb_subtitle,vobsub,eia_608,pgs,microdvd,movtext,ssa,srt" />
<!-- Allow Direct Play of HLS content -->
<VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac" />
<MusicProfile container="mp3" codec="mp3" />
<MusicProfile container="mp4" codec="aac" />
<MusicProfile container="mp4" codec="alac" />
<MusicProfile container="flac" codec="flac" />
<PhotoProfile container="jpeg" />
</DirectPlayProfiles>
<CodecProfiles>
<VideoCodec name="h264">
<Limitations>
<UpperBound name="video.width" value="3840" />
<UpperBound name="video.height" value="2160" />
<UpperBound name="video.bitDepth" value="10" />
</Limitations>
</VideoCodec>
<VideoAudioCodec name="*">
<Limitations>
<UpperBound name="audio.channels" value="2" onlyTranscodes="true" />
</Limitations>
</VideoAudioCodec>
</CodecProfiles>
</Client>
Is this not the right place to get support from the Plex team?
Digging through the logs, it looks like my updated profile is being ignored, as I am seeing these two errors…
“non-selected embedded subtitle stream 9610 cannot be direct-played”
“video.width limitation applies: 3840 > 1920”
Is there some sort of cache for the profiles?
@ChuckPa is this post still relevant? Writing profiles for DLNA devices
I have modified my iOS.xml profile and placed it in the correct directory, but seems to be getting ignored, as noted in my previous post.
Ok, finally got this working and wanted to put down everything I did so maybe it helps someone else down the line, since the Plex team is of no help.
First, I modified the ORIGINAL iOS.xml as follows:
<?xml version="1.0" encoding="utf-8"?>
<Client name="iOS">
<!-- Author: Plex Inc. -->
<!-- This profile is used by A5 and higher devices (starting with iPhone 4S and iPad 3) -->
<Settings>
<Setting name="DirectPlayStreamSelection" value="true" />
<Setting name="StreamUnselectedIncompatibleAudioStreams" value="true" />
</Settings>
<TranscodeTargets>
<VideoProfile container="mp4" codec="h264" audioCodec="aac,ac3" subtitleCodec="mov_text" context="static" /> <!-- EDIT: added ac3 -->
<VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac,mp3" subtitleCodec="eia_608_embedded" context="streaming">
<Setting name="HlsExtraMultiChannelAudioStream" value="ac3" />
</VideoProfile>
<MusicProfile container="mp3" codec="mp3" />
<PhotoProfile container="jpeg" />
<SubtitleProfile protocol="hls" container="webvtt" subtitleCodec="webvtt"/>
</TranscodeTargets>
<DirectPlayProfiles>
<VideoProfile container="mp4,mov,mkv,m4v" codec="h264,mpeg4,hevc" audioCodec="aac,ac3,eac3" subtitleCodec="mov_text,tx3g,ttxt,text" /><!-- EDIT: added mkv,m4v,hevc,eac3 -->
<!-- Allow Direct Play of HLS content -->
<VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac" />
<MusicProfile container="mp3" codec="mp3" />
<MusicProfile container="mp4" codec="aac" />
<MusicProfile container="mp4" codec="alac" />
<MusicProfile container="flac" codec="flac" />
<PhotoProfile container="jpeg" />
</DirectPlayProfiles>
<CodecProfiles>
<VideoCodec name="*"><!-- EDIT: changed from h264 to * -->
<Limitations>
<UpperBound name="video.width" value="3840" isRequired="true" /> <!-- EDIT: changed for 4k -->
<UpperBound name="video.height" value="2160" isRequired="true" /> <!-- EDIT: changed for 4k -->
<UpperBound name="video.bitDepth" value="10" /> <!-- EDIT: changed from 8 for HDR -->
</Limitations>
</VideoCodec>
<VideoAudioCodec name="*"><!-- EDIT: removed audio limitations -->
</VideoAudioCodec>
</CodecProfiles>
</Client>
To be honest, this was a lot of trial an error so I don’t really know which modifications exactly fixed it, but I made notes of all the modifications I made to the original iOS.xml. Note: I edited the original file at /usr/lib/plexmediaserver/Resources/Profiles/iOS.xml. I am aware that this file will be overwritten every time I upgrade, but creating a user profile at /Library/Application Support/Plex/Profiles did not work.
In addition, in Plex I had to go to Settings > Transcoder and check “Disable video stream transcoding”.
I hope this helps someone.
1 Like
system
Closed
July 18, 2020, 1:34am
5
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.