xpra icon
Bug tracker and wiki

Opened 6 months ago

Last modified 5 months ago

#2118 new defect

dummy video encoder for testing

Reported by: Antoine Martin Owned by: Jonathan Anthony
Priority: major Milestone: 2.5
Component: android Version: 2.4.x
Keywords: Cc:


This encoder will just produce blank frames and consume no CPU.
Useful for testing, this will not be enabled by default.

Change History (2)

comment:1 Changed 6 months ago by Antoine Martin

Owner: changed from Antoine Martin to J. Max Mena

Done in r21457 for x264.

To use it:

  • --video-encoders=x264 to ensure no other encoders will be used
  • XPRA_X264_BLANK_VIDEO=1 to enable this code

We still use the x264 encoder, but it quickly figures out that there is nothing to compress and returns <1KB compressed data.

Things that differ from a real software / hardware encoder, and things we could do to improve things:

  • hardware encoders have to upload memory to the GPU (small cost)
  • hardware encoders then download the compressed bitstream from the GPU (small cost)
  • the packets we send to the client would normally be much bigger (CPU cost, bandwidth cost, etc)
  • the heuristics will find that we compress very well and very fast, that the client decompresses it very fast too - this will have an impact on the speed / quality / batch delay
  • we could do the same thing for vpx / x265 / etc
  • we could pause in the fake encoder to simulate compression
  • we could artificially create larger packets (ie: adding a dummy attribute in the metadata)

@max: please pass it on for server load testing to see if this makes enough of a difference to the maximum rated user density of your appliances.

Last edited 6 months ago by Antoine Martin (previous) (diff)

comment:2 Changed 5 months ago by Antoine Martin

Owner: changed from J. Max Mena to Jonathan Anthony
Note: See TracTickets for help on using tickets.