xpra icon
Bug tracker and wiki

Opened 18 months ago

Closed 7 months ago

#2118 closed defect (worksforme)

dummy video encoder for testing

Reported by: Antoine Martin Owned by: Smo
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 (4)

comment:1 Changed 18 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 18 months ago by Antoine Martin (previous) (diff)

comment:2 Changed 17 months ago by Antoine Martin

Owner: changed from J. Max Mena to Jonathan Anthony

comment:3 Changed 11 months ago by Smo

Owner: changed from Jonathan Anthony to Smo

comment:4 Changed 7 months ago by Antoine Martin

Resolution: worksforme
Status: newclosed

Not heard back.

Note: See TracTickets for help on using tickets.