Xpra: Ticket #1957: preemptive use of the bandwidth-limit in video encoders

The bandwidth-limit is used to raise the batch delay (variable refresh rate) so that we stay within budget (and that in turns has an effect on quality and speed), but we should pass the information down to the video encoders so that they can be tuned adequately earlier.

This bitrate constraint overrules the speed and quality settings so this should only be applied when the bandwidth-limit is relatively low.

Somewhat related to #1951, #1840, #1952



Wed, 12 Sep 2018 08:46:55 GMT - Antoine Martin: owner, description changed

Done in r20399 for x264 and vpx. We only use the bandwidth-limit value when speed and quality are on "auto" and when min-quality is lower than 50%.

The change also improves the amount of x264 encoder configuration details shown in xpra info, so we can see which "rc-method" is in use, ie trimmed:

client.window.2.encoder=x264
client.window.2.encoder.b-frames=1
client.window.2.encoder.bandwidth-limit=2000000
client.window.2.encoder.content-type=video
client.window.2.encoder.fps=159
client.window.2.encoder.ms_per_frame=3
client.window.2.encoder.params.rc.bitrate=1953
client.window.2.encoder.params.rc.rc-method=ABR
client.window.2.encoder.params.rc.vbv_buffer_init=1.0
client.window.2.encoder.params.rc.vbv_buffer_size=1953
client.window.2.encoder.params.rc.vbv_max_bitrate=3906
client.window.2.encoder.preset=fast
client.window.2.encoder.profile=high10
client.window.2.encoder.tune=film

Wed, 19 Dec 2018 18:23:11 GMT - Antoine Martin:

Regression introduced by r20399 is fixed: ticket:2087#comment:4


Wed, 19 Dec 2018 18:36:32 GMT - Antoine Martin:

Summary: this new code should allow the video encoders to be better tuned for the amount of bandwidth available, lowering the picture quality (sometimes drastically - see #2087 for what a 2Mbps limit does) but allowing for a higher refresh rate and a better quality for the non-video areas around it.


Sat, 09 Feb 2019 03:42:21 GMT - Antoine Martin: owner changed


Thu, 01 Aug 2019 12:00:44 GMT - Smo: owner changed


Thu, 12 Dec 2019 08:07:28 GMT - Antoine Martin: status changed; resolution set

Not heard back.


Sat, 23 Jan 2021 05:38:19 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1957