Xpra: Ticket #509: grab video using a video adapter rather than getting rgb pixels from pixmap

Video players will try accelerated adapters first (xvideo, etc) then fallback to painting RGB. Since we want to compress the video as a video stream, there is no point having the video players convert their stream to RGB for us to convert it back to YUV straight after for encoding!

One solution to this is a Wayland-Xpra (#387), but Wayland isn't ready for prime time yet and won't cover X11 applications well enough (I don't think), at least for now.

A solution for X11 would be to implement a simple Xv adapter in the dummy driver (or via please enable Xv support on glamor for the Intel video driver).

The flash player doesn't use libva apparently, so #510 is not an option there, but maybe we can use a technique similar to libvdpau-va-gl and capture the YUV stream even before it is scaled up.

I'm not sure how userspace would then register/grab the YUV data from the dummy-Xv adapter, but this would make #410 (better sub-window encoding: detect regions and use sub video encoder) much easier to implement.

An even better solution would be #510, also related to #410

Sun, 02 Feb 2014 06:35:50 GMT - Antoine Martin: status, description changed

Mon, 03 Feb 2014 12:04:35 GMT - Antoine Martin: description changed

Mon, 13 Jul 2015 05:26:16 GMT - rektide: cc set

Fri, 17 Jun 2016 08:28:42 GMT - Antoine Martin: milestone changed

The xv interface added to Xephyr seems simple enough: https://github.com/XQuartz/xorg-server/blob/master/hw/kdrive/ephyr/ephyr_glamor_xv.c

I'm not sure if we can add this to the dummy driver or if this needs to be added somewhere else. Will try it out with mostly empty stubs.

Wed, 28 Mar 2018 06:02:11 GMT - Antoine Martin: milestone changed

Probably superseded by #387

Sat, 23 Jan 2021 04:57:48 GMT - migration script:

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