Optimizer/Automatic Version Selection

I’ve searched a bit - but not finding the answer to this question: is Plex capable of selecting the best version of an optimized video to stream to clients?

I have friends who use my server - there’s no way I can realistically expect them to select specific versions from the UI. I have set up optimized versions (one for TV, one for Mobile) for everything recently added to the server. However, when my friends start playing a media item - Plex always transcodes from the original, full size files. Is there no way that Plex could automatically prioritize the best version to transcode from or stream?

i.e. if the user is requesting a 720p stream, select the 720p optimized file as the source for the session, instead of the 1080p bluray source.

I want to second this, with a small twist. I have both a 1080p H264 (blu-ray rip) and 4k HDR HEVC (UHD rip) copies of some movies. Locally I direct play the 4k versions, and all is good. But today I noticed that for a remote user that’s requesting a 720p stream, Plex is choosing the 4k version as the source to transcode (I can tell, because it’s HEVC, and my CPU usage is through the roof). It would be much better if Plex chose the 1080p version (both versions are definitely sufficient quality to satisfy the client’s request), and used hardware decoding. Even if hardware decoding isn’t available, software decoding H264 1080p is much less resource intensive than HEVC 4k.

It just seems like automatic version selection is just filtering to files that can be direct played based on codec and container support (regardless of bandwidth/resolution limitations), and then chooses the highest bitrate to ensure the highest quality (regardless of if it chose from the “direct play” or “transcode” bucket), when it should take into account other factors, finding a matching resolution first (presumably if someone pre-encoded to a target resolution, they would have chosen settings that would result in better quality than on-the-fly encoding will produce), or not putting undue load on the server (sure, if you’re asking for 720p, by all means use a 1080p version over a 480p version to not lose quality, but there’s no need to choose a 4k version when a 1080p version is available. Or if you’re looking exclusively at bitrates, if the client wants 4Mbps, transcode the 30Mbps version instead of serving the 2Mbps version, but don’t bother trying to transcode the 90Mbps version).

Oh one more thing in my case - it’s especially important to choose the 1080p version as the source of transcoding, because Plex does not properly do tone mapping of 10-bit source content when transcoding at this time. So it all just looks washed out. It’s pretty terrible.

+1 So much this

I need this too, especially the tone mapping. Just now I have a separate library for 4k HDR movies but It’s not an ideal solution.

Nice idea !

Is there any other solution for this? It’s a real pain to have a separate library for 4k stuff.

+1 I’d like to get this as well. I only make “Optimized for TV” versions, but I think the system could pick the right optimized version if there were many depending on the requesting device. iPad request - check for an “Optimized for Mobile” version. LG TV - check for an “Optimized for TV” version.

1 Like

!!!

Is this #9490 exactly what we need??

YES!!! My iPhone, when on WiFi Direct Streamed the 4k/HDR/HEVC version, but when I took it off WiFi, it automatically selected the 1080p/AVC version of a movie. That should definitely mean AppleTV does the same (same iOS client). I don’t have a Roku to test with, but hopefully it does the same.