xpra icon
Bug tracker and wiki

Opened 5 years ago

Last modified 12 months ago

#509 assigned enhancement

grab video using a video adapter rather than getting rgb pixels from pixmap

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: improbable
Component: core Version:
Keywords: Cc: rektide@…

Description (last modified by Antoine Martin)

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 Glamor? See 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

Change History (5)

comment:1 Changed 5 years ago by Antoine Martin

Description: modified (diff)
Status: newassigned

comment:2 Changed 5 years ago by Antoine Martin

Description: modified (diff)

comment:3 Changed 4 years ago by rektide

Cc: rektide@… added

comment:4 Changed 3 years ago by Antoine Martin

Milestone: future0.18

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.

comment:7 Changed 12 months ago by Antoine Martin

Milestone: 0.18improbable

Probably superseded by #387

Note: See TracTickets for help on using tickets.