Server Version#: 1.26.2.5797
Player Version#: 9.2.3.32818 (966a0f23)
Recently I noticed that my server was transcoding 4K content to some remote clients, which is not suppose to happen as I have a 1080p copy of all 4K content that Plex should transcode instead. I first noticed this for some of my family members’ Roku devices (don’t have one to test with) and also on my Android phone. See the Android screenshot, where only a 4K version shows up. This doesn’t happen on my Windows PC using Firefox, which can see two versions and the 1080p version is used for transcoding as expected.
Is this a bug?
Android
Firefox
Sorry, not helpful, but just adding that I see this happen as well. (In my case the remote clients are using firesticks)
It has been an issue for quite a while.
It is really annoying as it puts so much load on the server, transcoding a 4k file down to 720.
1 Like
Except for Web, other clients do not show all the versions available on the preplay screen. You can manually pick a version by clicking on the … menu and selecting “Play Version”, you’ll then be given a menu of choices.
Some clients can automatically play a specific version, but it depends on the quality setting in the client and the bitrates of the videos available. I’m not positive if the Roku has this ability. It does not depend on the resolution. In your example, you have 20.4 Mbps and 7.4 Mbps. If your Roku is at the maximum setting of 20 Mbps, then it will choose to transcode the 20.4 Mbps version. If you lower the quality to 8 Mbps, then it will choose to direct play the 7.4 Mbps version.
In the example I gave in the original post, I have the remote stream quality set to 720p, 2 Mbps and still the server chooses to transcode the 4K version
Interesting info on the decision making process.
But it would seem more logical that if it decides it needs to transcode to lower resolution, then it should pick the source closest to the resolution it is going to transcode to.
And therein lies an additional part of the problem, there is zero indication that there might be multiple versions. So how is the user to know to click more and see if there is an option in there to choose a version.
(For TV Shows you can not even filter by resolution and on a tv show episode the “Play Version” option is the 6th option out of the 7 options)
Did you add the 7.3 Mbps version manually or did you use Plex’s Optimize feature? The server will not choose an optimized version as the source to transcode since it’s already been converted once and you’d lose even more quality with a transcode.
Alternatively, it’s possible the Roku doesn’t support this feature yet. If you can get me the log from the Roku with this playback attempt, I can check.
Resolution is not used for making nay determination. It’s all based on the bitrate to try and maintain a decent output.
There use to be an indicator, but we are switching to what you see in Web. It just hasn’t been done yet.
Ok, but not sure how helpful that will be with TV Shows, as who usually drills all the way down to to an episode preplay screen. I tend to just go to the list of episodes and play from there.
(I just checked on my shield and it does not seem to have individual episode preplay screens like web)
Anyways, I just got a user to test playing an episode I have in both 1080 and 4K with remote stream quality set to 720p on a firestick, It transcoded the 4K version. (I tried my Shield does work correctly and transcoded the 1080p version)
Sadly it was hard enough getting them to do that test, so getting logs would be a step too far, sorry. But it seemed to be easily reproducible.
The Fire TV and Shield both run the same Android TV app so they should behave the same. Let me see if I can reproduce on my Fire TV.
Manually.
I don’t have access to a Roku device but the problem presents itself on my phone (Android app). Logs are attached.
plex-log-jkurelek.zip (1009.4 KB)
Can you also send me the corresponding PMS log?
Plex Media Server Logs_2022-06-02_16-05-23.zip (6.2 MB)
As an aside, is private information automatically sanitized from the logs? If not, an option to do so would be a welcome feature.
According to your logs, it transcoded the correct file.
[WEBDL-1080p-H264]
If you are seeing something different, there may be a bug in what the Android app is showing you.
Edit - Oh wait. You have another playback attempt in there too. This one did pick the 4K version. Let me see what’s going on.
Ok, looks like the app or maybe the server is not doing what I was expecting. I’m bringing this up with the team to discuss.
Did we get anywhere with this?
Still seeing my users transcoding 4K down to 720
Ok sorry. I talked to the devs and I was mistaken. Plex will pick the lower versions but only for direct play. If a transcode is needed, it will still pick the best version, unless you specifically choose to “play version”, then it will use that version, even for transcoding. The app is currently unable to specify a version to transcode. We are looking to improve this in the future.
1 Like
Sorry, but that does not seem to be what is happening.
For example, on my Shield If i set my quality to 4 Mbps 720 HD (High) Then go to my library and Play a file that in the preplay screen shows as 4K.
Then in my Dashboard I see:
1080p (H.264) (hw)
720P (H264)—Transcode (hw)
So in this case it is not picking the 4K version to transcode
With the same settings on a firestick I see this:
4K (HEVC Main 10 HDR)
720P (H264)—Transcode (hw)
So I am struggling to understand why they should be different when they are both using the android TV app playing the same file from the same server.
1 Like
My situation is as exactly described by blim. I’d also like to add that I recall a time when this worked “as intended” for all devices, as knowing that 1080p versions would always be used for transcoding is what led me to start including 4K content into my main library.
Do you have the option enabled to automatically adjust bitrate? Is this off on the Fire TV?
Adjust Automatically is off on both (Shield and Firestick)
Hmm. I’m confused then. Yes, both devices use the same app and they both should be making the same decision. Let me do some more digging.