xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Changes between Version 1 and Version 2 of Encodings

03/15/13 06:28:04 (9 years ago)
Antoine Martin



  • Encodings

    v1 v2  
    2727Quality/speed and minimum quality/speed can be set via the command line (and the latters can also be changed at runtime via the tray applet)
    2828Note that even when using the x264 encoding, some small screen updates may get sent as png or rgb24 to save time/bandwidth.
     30=== Profile ===
     31x264 supports the following profiles: {{{baseline}}}, {{{main}}}, {{{high}}}, {{{high10}}}, {{{high422}}} and {{{high444}}}
     32At present, we use {{{high}}} or better by default unless the client overrides it.
     35=== Quality Option ===
     36What this does should be obvious (in x264 speak, this controls the {{{rc.f_rf_constant}}} parameter), but it is more complicated than you think:
     37* we support 3 different colourspace modes: YUV420, YUV422 and YUV444 and this affects the quality of the picture too. (YUV420 is used for lowest quality settings). {{{YUV444}}} uses roughly twice as much bandwidth as {{{YUB420}}}.
     38Switching from one mode to another is expensive, as we then need to send a new key frame and re-initialize both the encoder and the decoder - so the thresholds for going up to the next mode are not the same as the thresholds for going down to the next mode (prevents a yoyo effect).
     39* not all modes are supported by all profiles, so we need to switch to a different profile to support {{{YUV422}}} (use {{{high422}}} or {{{high444}}}) and {{{YUV444}}} ({{{high444}}} only).
     40* some builds against older versions of libav/ffmpeg only support {{{YUV420}}},
     41 see [/browser/xpra/trunk/src/patches/x264-limited-csc.patch x264-limited-csc.patch]
     43=== Speed Option ===
     44This option, shown as "latency" via the tray menu, controls how hard the encoder is going to work at compressing the picture. Working harder means lower bandwidth, but higher latency.