Is 720p 2Mbps a pipe dream?

My most active users don’t happen to have very fast connections so I try to have everything they watch in a low enough bitrate with HD video.

After a while, instead of bringing in files that are pre-encoded I decided to let Plex optimize my HD (1080p or 4K) media to 720p at 2Mbps. I never actually inspected the files ever since but recently when looking at the dashboard I noticed that even those files were being transcoded to SD. When I looked at the file info, the newer ones were optimized to 720p at 2.1Mbps so won’t pass Plex’s own default for some players of 720p 2Mbps although looking at those that I optimized a long time ago are actually 1.9Mbps at 720p so they direct play for even those slower connections.


Video transcoded some 2 years ago showing 1.9Mbps for the optimized version

image
More recently optimized file showing 2.1Mbps for the 720p optimized version

In another case, I wanted to transcode a file locally while watching from a very high bitrate 720p so I told the player to transcode to 720p 2Mbps and the dashboard showed that it’s giving me 480p instead. Choosing 720p 3Mbps however worked as intended and I got 720p output.

I have fiddled with the transcoding settings and turned off hardware transcoding and selected “Make My CPU hurt” to see if that would work but the only difference was that my CPU usage spiked… still giving 480p video.

So given that for some reason these days pre optimizing the video generates a file that is 2.1Mbps that won’t pass the lower bandwidth limit set on some clients and transcoding on the fly gives a 480p video I’m wondering if it’s worth it to even try using that resolution and bitrate combo at all?

Does anyone know a converter I could use to do it outside Plex to get a file that works if there is no way around it.

Plex is only using H.264 (AVC) as video encoder during “optimize”.
Because of this, I’d say 720p at 2mbps is indeed a pipe dream.

Even if you use an external encoder (Handbrake, ffmpeg etc) and force it to produce a stream at 2mbps with 720 resolution, the result won’t look much better than the SD version produced by Plex.

(All of the above is only valid if you use pure software encoding. Hardware encoding at bitrates this low produces inferior results.)
If you want to get the maximum quality out of Plex’s optimizer, you need to set
Settings - Server - Transcoder - ‘Show Advanced’ - “Background transcoding x264 preset”
to at least “Slow”, or better “Slower”.
This setting does only affect Optimize and Downloads, not realtime streams.

Happiness! :grinning: I have one viewer who binges on Saturdays and Sundays so I just took the episode ahead of what she’s watching right now, deleted the existing 2.1 Mbps optimized file, set the x264 preset to “Very slow” and now I have a 1.9Mbps 720p that doesn’t look too bad.

image
Managed to get something below 2Mbps

I still have 4 minutes before the next episode starts. Can’t decide if I should wait for that to start and report back or post now and edit when the next episode starts. So I decided to wait for the next episode to start and we have achieved direct play, albeit for a low bitrate but slightly respectable 720p stream. Thanks

The Background transcoding x264 preset settings produce slightly different file sizes, but Plex uses the same bitrate control for all of them. I’m surprised changing the preset made much difference.

Very slow doesn’t always [1] produce smaller files than Very fast - depending on the video, Very fast may produce the smallest files! At these low bitrates you may prefer the slower presets simply for the better quality.

When choosing 2 Mbps, 720p, that’s the video buffer bitrate limit:

  • Video can spike up to that bitrate limit, but it will average less
  • Audio isn’t included in that value; audio requires additional bandwidth

Universal TV encodes 5.1 audio, requiring 579k of additional bandwidth.

Universal Mobile encodes stereo, requiring 193k of additional bandwidth.

They have the same video quality. Try Universal Mobile - it’s much more likely to produce a file with the desired total bitrate.

[1] FFmpeg preset comparison x264 2019; Encode speed and file size

Thanks @Volts for your input. I’ll try the Universal Mobile since most users don’t have a surround setup of any kind.

Since the bitrate is pretty much fixed in this use case, the encoding speed is primarily about cramming more quality into the same file size.

2 Likes

This makes sense. Also, I ran the optimization on the same file as I did but in Universal Mobile and got a 720p 1.7Mbps file. I wondered if it had to do with the source file so I ran both Universal TV and Universal Mobile on a 4K HDR file that had no other versions and got 1.9 and 1.7Mbps versions respectively.

Quick question while we’re still here… loosely related. Does the encoding that happens when downloading use software or hardware encoding/decoding? I’ve never checked the dashboard while downloading things before travelling.

I can’t answer that. I never use HW transcoding on my server, since it’s running as a system service.

Agreed.

That comment was really directed at Plex’s help text for that option.

The suggestion that slower presets produce smaller files is wrong in general, and because of the bitrate control, it’s doubly wrong for Plex.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.