Synced content not playing on ios

Server Version#:1.20.1.3252
Player Version#:7.5

So, just got plex pass, discovered the problem that many others have had with the server transcoding EVERYTHING before syncing, fixed that with this;

With just an xml file name change to “iOS.xml” and a change to the profile replacing Android with iOS got it to sync files without a transcode.

But now it seams the file downloaded can not be played despite the file being playable on the device via other video players such as VLC. my theory being that just like the profiles being dirt old that the onboard local player is just as old and does not understand h.265? Also should note that the media does direct play both the video and audio from the server direct so… I don’t think its the file but the player used…

Any advice would be nice, thanks in advance.

Original quality isn’t intended to mean “copy the original file”. It remuxes the streams and repackages content as necessary for the Plex player on the target device. Video and audio can even still be transcoded if necessary.

If the profile XML is wrong that’s one thing. Plex would probably want to know if a new family of iPhones could play a new codec directly. That doesn’t mean lobotomizing it is likely to help.

What are the details of your file? Container, video codec and details, audio? Can you share the XML or mediainfo output?

VLC can play more things than Plex, it’s true. Different engines. So it’s not a helpful comparison, if your goal is to get files that are downloaded and play in Plex.

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="1" librarySectionTitle="TV Shows" librarySectionUUID="9bfcf32d-8bf6-41dd-a3de-00aeb7591fd0" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1598519402">
<Video ratingKey="39910" key="/library/metadata/39910" parentRatingKey="39895" grandparentRatingKey="39892" guid="com.plexapp.agents.thetvdb://82701/11/15?lang=en" parentGuid="com.plexapp.agents.thetvdb://82701/11?lang=en" grandparentGuid="com.plexapp.agents.thetvdb://82701?lang=en" type="episode" title="Strength of Bonds" grandparentKey="/library/metadata/39892" parentKey="/library/metadata/39895" librarySectionTitle="TV Shows" librarySectionID="1" librarySectionKey="/library/sections/1" grandparentTitle="Heartland (2007) (CA)" parentTitle="Season 11" contentRating="TV-PG" summary="As Thanksgiving approaches, Georgie puts her personal feelings about Peyton Westfield aside and convinces Amy to work with a high strung and dangerous jumping horse. Meanwhile, Jade returns from Texas for the holiday weekend and Tim is forced to admit why he was so adamant she accept the rodeo scholarship. Wyatt goes completely overboard trying to prove his affection for Georgie and it lands them in a comical but compromising situation. And when Lou can’t make it home for Thanksgiving, Jack and Lisa try to save tradition by coercing a secret family recipe out of her." index="15" parentIndex="11" rating="8.5" viewCount="1" lastViewedAt="1588984340" year="2018" thumb="/library/metadata/39910/thumb/1588310416" art="/library/metadata/39892/art/1587806989" parentThumb="/library/metadata/39895/thumb/1587806988" grandparentThumb="/library/metadata/39892/thumb/1587806989" grandparentArt="/library/metadata/39892/art/1587806989" grandparentTheme="/library/metadata/39892/theme/1587806989" duration="2645648" originallyAvailableAt="2018-03-11" addedAt="1580753141" updatedAt="1588310416" chapterSource="media">
<Media id="40130" duration="2645648" bitrate="1332" width="720" height="480" aspectRatio="1.78" audioChannels="6" audioCodec="ac3" videoCodec="hevc" videoResolution="480" container="mkv" videoFrameRate="NTSC" videoProfile="main">
<Part accessible="1" exists="1" id="40137" key="/library/parts/40137/1588281605/file.mkv" duration="2645648" file="/volume1/Media/Video/TV Shows/Heartland (2007) (CA)/Season 11/HeartLand (2007) (CA) - s11e15 - Strength of Bonds.mkv" size="440399588" container="mkv" deepAnalysisVersion="4" requiredBandwidths="1848,1519,1484,1484,1484,1484,1484,1484" videoProfile="main">
<Stream id="35419" streamType="1" default="1" codec="hevc" index="0" bitrate="724" anamorphic="1" bitDepth="8" chromaSubsampling="4:2:0" codedHeight="480" codedWidth="720" colorPrimaries="smpte170m" colorRange="tv" colorSpace="smpte170m" colorTrc="bt709" frameRate="29.970" height="480" level="90" pixelAspectRatio="32:27" profile="main" refFrames="1" requiredBandwidths="1233,904,878,878,878,878,878,878" width="720" displayTitle="480p (HEVC Main)" extendedDisplayTitle="480p (HEVC Main)"/>
<Stream id="35420" streamType="2" selected="1" default="1" codec="ac3" index="1" channels="6" bitrate="448" language="English" languageCode="eng" audioChannelLayout="5.1(side)" requiredBandwidths="448,448,448,448,448,448,448,448" samplingRate="48000" title="Surround 5.1" displayTitle="English (AC3 5.1)" extendedDisplayTitle="Surround 5.1 (English AC3)"/>
<Stream id="35421" streamType="2" codec="ac3" index="2" channels="2" bitrate="160" language="English" languageCode="eng" audioChannelLayout="stereo" requiredBandwidths="160,160,160,160,160,160,160,160" samplingRate="48000" title="Surround 5.1" displayTitle="English (AC3 Stereo)" extendedDisplayTitle="Surround 5.1 (English AC3 Stereo)"/>
<Stream id="49630" streamType="3" codec="vobsub" index="3" language="English" languageCode="eng" requiredBandwidths="9,9,9,9,9,9,9,9" displayTitle="English (VOBSUB)" extendedDisplayTitle="English (VOBSUB)"/>
</Part>
</Media>
<Writer id="21838" filter="writer=21838" tag="Ken Craw"/>
<Chapter id="20652" filter="thumb=20652" index="1" startTimeOffset="0" endTimeOffset="335168" thumb="/library/media/40130/chapterImages/1"/>
<Chapter id="20652" filter="thumb=20652" index="2" startTimeOffset="335168" endTimeOffset="764397" thumb="/library/media/40130/chapterImages/2"/>
<Chapter id="20652" filter="thumb=20652" index="3" startTimeOffset="764397" endTimeOffset="1242875" thumb="/library/media/40130/chapterImages/3"/>
<Chapter id="20652" filter="thumb=20652" index="4" startTimeOffset="1242875" endTimeOffset="1932297" thumb="/library/media/40130/chapterImages/4"/>
<Chapter id="20652" filter="thumb=20652" index="5" startTimeOffset="1932297" endTimeOffset="2335700" thumb="/library/media/40130/chapterImages/5"/>
<Chapter id="20652" filter="thumb=20652" index="6" startTimeOffset="2335700" endTimeOffset="2614779" thumb="/library/media/40130/chapterImages/6"/>
<Chapter id="20652" filter="thumb=20652" index="7" startTimeOffset="2614779" endTimeOffset="2645609" thumb="/library/media/40130/chapterImages/7"/>
<Extras size="0"> </Extras>
<Related> </Related>
</Video>
</MediaContainer>

here is an XML of one file that does not work, almost all other files use the same codecs and such so they would be similar, also the thing that was done in the fix is meant to just pass EVERYTHING as compatible in essence to kind of force no transcode, that’s the idea behind it, and that part works even, it just cant play the file after its downloaded.

so again the point being I know the phone can play it hardware wise but why is it that the plex app is incapable of playing it ONLY when it downloaded, streaming it works fine and is a direct play

and yes I know they use different code and the like but the point being that the phone can play the files in there original form, and plex can play them in there original form IF STEAMED, but why cant it if its downloaded?

also of note just to see what the server was transcoding it to I restored the original profile that i changed… and it made the file mp4, removed the subtitles and second audio track, and changed the video codec to mpeg2… so the now VERY old profiles are defiantly a problem…

yes and that’s a good thing… if the players on the devices are updated witch I’m thinking is not happening at all right now…

So I think the subject of this forum topic is overly broad. Synced content plays fine, but not after the modification you made to the XML file. :slight_smile:

Comparing on my end - especially for H.265, I 100% agree that stuff is being transcoded unnecessarily.

Most of my media is H.264, because it’s most compatible … and that does download, fast, without conversion.

I do see H.265 downloads getting transcoded to H.264, slowly, because my server is super slow. But I agree that it can Direct Play and so transcoding should be unnecessary.

I can’t make it do MPEG2, that’s … that’s just weird.

I have a theory that maybe the “Direct Play” part of the streaming brain/MDE doesn’t get invoked for “Download” and “Optimize” jobs, since they’re all based around H.264. Maybe that’s why.

I think that’s a great enhancement request. “Allow Directly Playable Streams to be used for downloads, as they are for playback.”

That would be different from the requests to download the original files.

Note that I’ve had trouble when “Disable video stream transcoding” is enabled on the server. I’m pretty sure there’s a bug, because it causes optimization jobs to behave differently. I wonder if that’s related, here. If you have that enabled, you could try disabling it.

You might also try this profile, instead of renaming the Android one:

GitHub - classicjazz/plex-client-profiles: Custom client profiles for Plex
But I’m not advocating for messing with .xml.

I will try this one moment

so… tried the different XML, still does not play, downloads fine but wont play, also just in case I’m blind where is the setting for enabling the experimental player? looked everywhere and cant find it… the only thing i could fine is a toggle for “use old video player” so does that mean that there was just an update that has the new player as the main now?

Yes, exactly. It’s no longer experimental, it’s the default.

ah good to know for the future, though I still don’t know why this is a problem… like I’m pretty sure my iPhone XS can play it fine but yet it wont play…

I do like the XML you shared though much better than my hackjob conversion… it have more options than just do nothing, though with that said it still does not play bringing me back to my original problem… I don’t think its the XML or the Device, but plex (or more specifically the player in plex) that’s the issue… not sure what to do about this at this point but complain about it… but plex seams to have decided to not have a way to directly contact them AT ALL so…

They read a ton of forum posts, but they don’t always give as much feedback as might be nice. It’s very rare to get “here are future plans”.

I suspect that there’s something additional going on when the file is played from the server, vs. played back locally. There may be some amount of conversion or “massaging” of the file going on, and it was bypassed when you forced the download. Or when playing back local media it might assume it’s H.264, because “all downloads are H.264” - or something to that effect.

I agree it would be a nice enhancement and is a bit surprising that it doesn’t exist already. This is one minor reason that I keep most of my media in H.264 today.

Can Infuse download media? It might be worth the $15 or $26 or even the $60, however the heck much it costs. Certainly worth it vs. copying files manually to play back with VLC.

I also agree… but h.265 is SO much smaller when you have like 8TB of video files…

It’s smaller for sure. And H.265 is the right option for 4K and/or HDR content (or at least H.264 isn’t) but that’s a different barrel of monkeys.

You could test creating an Optimize...'d version for iOS in advance, (Custom -> iOS), and then doing a download and seeing if Plex uses that version for the download.

If that works it would be useful to do the slow/hard transcoding work in advance, but not useful for conserving space on server or client.

exactly…

ok well now I think that the download player on at least iOS is just broken as even after restoring everything to the defaults and even making a temporary server to check if I’m crazy or not, NO downloaded files play… NONE, even with a server side transcode…

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