Allow sync without transcoding

nice info, simple solution, albeit could affect older devices that can’t play hevc.

2 Likes

yeah, I’m just guessing that people who seek the solution would already know their device capabilities. I guess I’ll modify the comment to make that explicit

1 Like

+1 for sync without transcoding

+1 for that feature, my server transcodes HVEC at ~ speed: x0.2 which is really annoying, all my devices support HEVC

VOTE for this feature here: Sync without transcoding

1 Like

So I just recently made the changes to my iOS sync file and holy crap. Sync now takes minutes instead of sometimes hours as no transcode. The fix was incredibly simple, throw in some extra formats in the allowed section and bam. I can’t believe I didn’t do this earlier. It’s especially handy as I always remux my files to m4v anyway so any of my devices can direct play. Plex devs. Get it together and make the changes to allow this for the masses

Can you maybe post your changes. I tried it myself sometime ago and the changes had no effect. Would be interested to understand what i did wrong. Using ipads/iphones that have hvec capabilities

Hey sure thing, below is what I added into my iOS.xml. I think I went a bit overboard with some of the codecs, but I’d rather have something in there I don’t need rather than miss something

<DirectPlayProfiles>
    <VideoProfile container="mkv,mov,mp4,m4v,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,mov_text,tx3g,ttxt,text,3gpp" />


and 

<Limitations>
        <UpperBound name="video.width" value="3840" isRequired="true" />
        <UpperBound name="video.height" value="2160" isRequired="true" />
        <UpperBound name="video.bitDepth" value="100" />
        <NotMatch name="video.separateFields" value="1" />
      </Limitations>

I then put it in Application Support>Plex Media Server>Profiles

that way updates wont overwrite my changes.

3 Likes

Here’s what I ended up changing my Android.xml profile to. Removed all the restrictions. Now I can sync everything without transcoding :wink:

<?xml version="1.0" encoding="utf-8"?>
<Client name="Android">
  <!-- Author: Plex Inc. -->
  <TranscodeTargets>
    <VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac" context="streaming" />
    <VideoProfile container="mp4" codec="h264" audioCodec="aac" context="static" />
    <MusicProfile container="mp3" codec="mp3" id="StereoMusicTranscodeProfile" />
    <PhotoProfile container="jpeg" />
  </TranscodeTargets>
  <DirectPlayProfiles>
    <VideoProfile container="mp4" codec="*" audioCodec="*" />
    <VideoProfile container="mkv" codec="*" audioCodec="*" />
    <MusicProfile container="mp4" codec="aac" />
    <MusicProfile container="mp3" codec="mp3" />
    <MusicProfile container="flac" codec="flac" />
    <MusicProfile container="ogg" codec="vorbis" />
    <PhotoProfile container="jpeg,gif,bmp,png" />
  </DirectPlayProfiles>
  <ContainerProfiles>
  </ContainerProfiles>
  <CodecProfiles>
  </CodecProfiles>
</Client>
3 Likes

Did you create a new Android.xml file and place it in Application Support>Plex Media Server>Profiles?

I didn’t have any profiles folder or any Android or iOS xml files, so I created the Android.xml file in Text Edit using your version above and placed it in that folder, but PMS doesn’t seem to like the format.

Here’s the error message from my console:

Aug 28, 2019 16:57:13.506 [0x70000b8df000] ERROR - Unable to read client profile file: /Users/anthony/Library/Application Support/Plex Media Server/Profiles/Android.xml

Thanks everyone for posting the workarounds. I made these changes to my iOS.xml file and I did get Plex to Sync without transcoding, but then I tested it with a few different files and had mixed results.

Sample 1: 1080p HEVC, 2.0 AAC (Sync and Playback Successful)
Sample 2: 1080p HEVC, 5.1 AAC (Sync Successful, Playback Unsuccessful - Missing Audio Track)

So anything with surround sound, the audio track somehow disappears. Plex iOS GUI shows “None” and debug overlay shows “null” for audio.

I have tried many different versions of an edited iOS.xml and can’t get it to work, however these files both 1) Direct Stream video and audio perfectly when streaming and 2) Download directly with the Infuse app logged into my Plex server and playback perfectly on the device offline.

Any help would be appreciated. The main reason I have Plex Pass Lifetime is to allow my users to download for offline playback, but having them go thru other apps and workarounds is not a good experience.

For the file that didn’t sync correctly. Did you check it doesn’t have multiple audio tracks and a format wasn’t listed in the XML file? Also embedded subtitles tricked me up on testing some files which is why I added extra subtitles formats to my XML file. Best to open the offending video file in QuickTime or VLC and look at the media info and make sure it’s fully captured in the XML. Post you media info details here and your full XML file so we can help

Just pulled the trigger on a plex pass, and this is already my first regret. i’m not running the latest and greatest cpu to transcode so it takes ages to convert a simple file. I’ts faster to use a network finder and move the files from the plex server to my phone then to use this option. Hopefully this will be sorted out as soon as possible.

Update:
Tested the conversion speed on a 8700k 4.9ghz. And it still took well over 15 minutes for a 2gb episode of 30 minutes to be converted.

For those of you experimenting with custom profiles, I stumbled upon this. Seems like someone with more experience has been tinkering around. I’m testing it now…

For stuff that I know is HEVC, I manually set the quality to Original when syncing. The one show I have is HEVC 1080p and seems to work very well on my iPhone8. Plex doesn’t even attempt to transcode, the file just shoots across wifi almost instantly.

I’ve also tried to force Plex to transcode from h264 to HEVC by removing references to h264 in the transcode target but that has resulted in sync failure errors. I was doing this to try and save space as I’ve got HW transcoding enabled and don’t mind the additional delay in exchange for storage efficiency.

I think the Plex team is doing a pretty great job when I imagine how many different platforms they support and how difficult it must be to figure this stuff out for each and every device out on the market. HEVC is a minefield of support and licensing issues that even web browsers and OS’s struggle to support. Hopefully things will get easier over time.

1 Like

Soon as possible? Dude…you do realize that we have been waiting for this since like 2013, right? One can hope…

Not really. All they have to do is implement a ‘download’ option in addition to ‘sync.’ The problem is they are trying to make sync cover everything and be stupid-proof. But, like most software that tries to assume too much…

Also, the problem with these hacks (if I understand) is that they are all or nothing. I might want it to sync/transcode at some points, while other times, I just want to quickly load up a device with raw content. There really needs to be two options.

This should be taking them 5 hours, not 5 years.

Have you tried with HDR content?
I have the same xml you have.
It doesn’t seem to work for me with an hevc hdr video. The player refuse to play the video.

Any update on this Plex?

3 Likes

The fact that Plex hasn’t added this is ridiculous. Instead I’ll just have to ftp myself or use google drive which kinda sucks. I was looking to buy a Plex Pass but I’ll definitely be grabbing an Emby Premiere in the future despite using Plex for years. Like I said in my own thread, it’s 2020. People have been re-encoding videos for their phone for almost 20 years, since the iPods and PSP came out and people made easy conversion software. Our phones can play 4k Blu-ray Remuxes without using any CPU on the Plex Server to transcode. Transcoding my media to sync isn’t even a viable solution. With a high-end 8th gen i7 some videos don’t even transcode at 0.5x speed on the ultra fast setting. I literally encode Blu-Ray 2160p Remuxes (30-50GB files) to 2160p h265 faster than Plex can transcode my 1080p movies for mobile syncing.

2 Likes

2020 seven years.

1 Like

im looking for years on direct play and sync topics @devices which support all codecs and formats and give up. Plex has definitiv not users like us in focus. I realize this years ago and never bought a life time pass. another point is waisting energy for unnecessary transcoding actions.

dear Plex team do something for the pro users and against the unnecessary wastage of energy. it’s 2020

We need:

  • Direct Play on devices which can handle all formats and codes
  • Direct Sync without transcoding on devices which can handle all formats and codes
  • Maybe a own Player for iOS and Android which support more formats like VLC/ Infuse

Its the right way! :slight_smile:

4 Likes