-
-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gstreamer shadow capture #3750
Comments
For Windows, you should use d3d11screencapturesrc. Both others are officially legacy. Not sure about Mac. |
@ehfd yes, that's the one I meant. So far, this seems to work pretty well, just needs more work:
Perhaps we should use the same gstreamer pipeline for compression (at least as an option) - if that gives us some zero-copy benefits. |
We now have the ability to screencast existing (wayland / X11) desktop sessions that support org.freedesktop.portal.ScreenCast - via gstreamer / pipewire. To get a full remote wayland desktop (#387), we need a lot more APIs from org.freedesktop.portal.RemoteDesktop or libei |
for both the plain encoder and the capture-and-encode one, also try to find a common encoding, not just 'h264' every time, expose the 'profile' and other key attributes to the client
The difficulty is generating pipelines that:
It's not clear which buffer uses what format - Other issues:
Here are some useful links to tune this further:
We don't need the muxer, or the queue?
|
@totaam Our configuration for the encoder isn't really optimized. Any findings on your side? |
@ehfd not yet optimized either: #3706 (comment) |
@m1k1o Adding Neko to the discussion. |
5963153 disables d3d11 capture when running under VirtualBox. |
Will follow up in #4284 |
Based on #3706, provide a codec we can use with a gstreamer pipeline to capture the display(s) via gstreamer.
This should work for:
applemedia
fromgst-plugins-bad
seems to requiregst-plugins-gl
which has not had a release in 10 years! (and no commits since 2014) Also tries to build against GStreamer 0.10!Main difficulty is going to be the integration of events with the pull interface currently used by the base shadow server class.
Later on we can consider doing the whole pipeline in gstreamer, which will be a lot quicker than extracting the data (assuming we can even get zerocopy buffers out of GStreamer via
appsink
) then compressing it in xpra... Downside is that we no longer control the encoder flow rate.The text was updated successfully, but these errors were encountered: