I’ve noticed that in both automatic streaming conversion and even on pre-rendered optimized versions, the quality doesn’t match the actual profiles selected. What am I doing wrong?
For reference here is an optimized version (exactly same problem in live transcoding also) for reference - notice how the optimized file isn’t using the Mbps available.
if you look at the original file, it was already less than 3Mbit to begin with, video was 1.6Mbit and Audio was 224Kbit = 1.8Mbit. And now it’s using that same source, to go down to 1280x720, can’t be certain, but I would venture to say that has at least something to do with it.
You should try with a larger input file, say something in the 25-40Mbit (BluRay) range, and see if you get the same result, I’d imagine, you end up with something closer to 3Mbit at that point.
This is a cartoon so it looks very nice (perfect?) even at the source bitrate, but it is a great example to highlight this situation. There is no reason to compress the video to .5 Mbit when there is 3Mbit available.
I could accept it staying with same bitrate at a lower resolution as that would just mean better quality per frame although it was transcoded, but I see no logical reason to decrease the bitrate in this example.
I suspect that there is a “formula” when going down in resolution to also decrease bitrate without looking at the source bitrate and the available bits in the desired profile - but this is pure speculation and I’d prefer someone with proper knowledge shedding some light on this.
You are correct. If you specifically choose a lower resolution, Plex will drop the bitrate so that the bits:pixel ratio remains about the same as the original. If you want to squeeze more bits per pixel, you’re gonna need to do it outside of Plex.
Where do I suggest a small tweak that allows the bitrate to remain the same if the source is within the maximum bitrate of the chosen profile?
Also perhaps encoding to a constant bitrate from a variable bitrate source doesn’t seem the smartest choice, perhaps defaulting to variable for optimized content makes more sense
If you want to maintain the bitrate, why are you choosing a lower resolution. Unless your original is 4K, there isn’t a need to specify a lower bitrate. I’m pretty sure all devices can handle scaling the 1080 video in-device.
The transcoder does not use a constant bitrate. It is still variable. The value you choose is the parameter used for the average, just like your original.
Yes the device can easily handle the scaling, but Plex forces the transcode because the maximum profile set in the device is 3Mbit (which Plex sets at 720p). I did enable play smaller files directly, but because the resolution follows the bitrate limitation, lower bitrate but higher resolution files are being transcoded, which they shouldn’t in my opinion.
The constant bitrate is the “optimized” pre-encodes done in Plex. Below is the video summary from Mediainfo of the Plex optimized video (Android, 3Mbit profile) and below that the original file.
Both cases apply in this situation. I just tested the media optimizer to see if it acted differently and it didn’t.
It would be ideal if the server could define their own profiles or Plex decoupled bitrate and resolution maximum in the remote streaming profile settings of the client.
Can you provide me the xml from Plex. I’m thinking it has to do with this:
Bit rate : 1 688 kb/s
Maximum bit rate : 15.0 Mb/s
PMS will analyze your file and determine what bandwidth is needed to correctly play your file. With such a high max, there are probably spikes in the stream which is causing the bitrate to get reduced a lot.
Got the info. I think I see the issue. It’s something another user had reported before. Your file has embedded closed captions. This is throwing off the logic of the transcoder because technically it is graphical text so it’s bitrate is being included as part of the input but then not correctly being used as part of the output, so the resulting video is lower than expected.
You’re not doing anything wrong, we need a PMS fix. If you try this with a file that doesn’t have embedded closed captions, you should see things working correctly.