GStreamer and Linux, screen recording works well on Xorg but not on Wayland.

Davide Perini perini.davide at dpsoftware.org
Fri Jul 14 10:09:38 UTC 2023


Thanks for the answer, I really appreciate it.

Is it possible to run a command to check if everything works?
I mean can I test it with a command like this before developing my 
integration in my software?

Isn't this command the right one to use?

gst-launch-1.0 pipewiresrc ! fd=%d path=%u ! videoconvert ! xvimagesink

If yes, how can retrieve the right fd and path variable to use using CLI?

I want to test it via CLI before developing a software for it if possible.

Thanks!!!
Davide



Il 13/07/2023 15:58, Nicolas Dufresne via gstreamer-devel ha scritto:
> Hi Davide,
>
> Le mardi 11 juillet 2023 à 23:45 +0200, Davide Perini via 
> gstreamer-devel a écrit :
>> Hi all,
>> I'm trying to use GStreamer on Wayland and it seems to have some 
>> problems...
>>
>> This pipeline:
>> gst-launch-1.0 ximagesrc startx=1 endx=3839 starty=0 endy=2159 ! 
>> video/x-raw,framerate=30/1 ! videoscale method=0 ! ximagesink
>>
>> works well on Xorg, but not on Wayland.
>
> ximagesrc will have very little use anyway on Wayland, as wayland have 
> built-in privacy security. Please consider using the appropriate 
> portal and pipewire streams for this purpose. The following link is an 
> example on how to do this in your own application.
>
> https://gitlab.gnome.org/-/snippets/19
>
> Nicolas
>
>>
>> On wayland I have this error:
>> Setting pipeline to PAUSED ... Pipeline is live and does not need 
>> PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... 
>> New clock: GstSystemClock Redistribute latency... WARNING: from 
>> element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Pipeline 
>> construction is invalid, please add queues. Additional debug info: 
>> ../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesink.c(1249): 
>> gst_base_sink_query_latency (): 
>> /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Not enough 
>> buffering available for the processing deadline of 0:00:00.015000000, 
>> add enough queues to buffer 0:00:00.015000000 additional data. 
>> Shortening processing latency to 0:00:00.000000000. WARNING: from 
>> element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Pipeline 
>> construction is invalid, please add queues. Additional debug info: 
>> ../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesink.c(1249): 
>> gst_base_sink_query_latency (): 
>> /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Not enough 
>> buffering available for the processing deadline of 0:00:00.015000000, 
>> add enough queues to buffer 0:00:00.015000000 additional data. 
>> Shortening processing latency to 0:00:00.000000000. X Error of failed 
>> request: BadMatch (invalid parameter attributes) Major opcode of 
>> failed request: 73 (X_GetImage) Serial number of failed request: 52 
>> Current serial number in output stream: 52 Is there any fix for this 
>> since Xorg is going to be deprecated everywhere? :) Thanks Davide
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230714/5e4244e9/attachment.htm>


More information about the gstreamer-devel mailing list