Say i have a particular tv episode in three formats as they became available: SD, 720p and 1080p. The SD version is around 350 kbps, the 720p version is around 2500 kbps, and the 1080p version is around 6000 kbps. I have my server setup with a 20 mbps overall upload and 4 mbps per stream. I also created an optimized version designed for ‘Universal TV’ set at 4 mbps.
while testing various settings remotely through a VPN i found out that Plex will first choose which file to start with based on the clients quality setting and then transcode from there “if needed”. If the client had a quality setting of 4 mbps it would choose the 720p version, if it was set to unlimited then it would choose the 1080p file.
side note: when creating the optimized version Plex will choose the starting file based on the same information; if you are targeting a 4 mbps optimized version and have both 4 and 7 mbps files available, it will choose the one closest to your target instead of the highest quality available.
In the end i wound up with 4 files, SD, 720p, 720p optimized and a 1080p version. The 1080p was for direct play inside my network, the 720p and optimized are for streaming remotely and the SD was for archival. However, when i went to play the episode Plex would never automatically use the optimized version to stream remotely and instead it would choose the original 720p and start transcoding despite the lower bitrate. Why transcode for a 4 mbps connection when the file is already 2.5 mbps?
I tried deleting the 720p version and re-optimizing the 1080p. When i went to play it under ‘original’ quality it still chose the 1080p file and transcoded it instead of using the pre-optimized version. Only when i deleted the 720p versions and set the quality to 4 mbps (before playing) did it auto-select the optimized version.
This seems incredibly counter productive if there is a perfect file just waiting to be used at the requested bitrate. Am i doing something wrong or is Plex not smart enough to select the correct file? Its almost impossible to debug non-technical remote users to adjust their quality settings or select the optimized version (since all Plex interfaces are different) so they are left taxing my CPU for a lower quality version of something that’s already been optimized for them.
All i want is for Plex to optimize the highest quality available (if a higher is added later then re-optimize) and to select that optimized file first when it fits the target bitrate for both client and server.