Re: GStreamer and Linux, screen recording works well on Xorg but not on Wayland.
Nicolas Dufresne via gstreamer-devel <[email protected]>
| Newsgroups | gmane.comp.video.gstreamer.devel |
|---|---|
| Message-ID | <CAKQmDh_78UvJeQmXHHM3vOdyJtAV0zHvVUFq92KeDqU8hzsxQg@mail.gmail.com> |
Le dim. 16 juill. 2023, 11 h 59, Davide Perini <[email protected]> a écrit : > Ok, that snippet return a path=79 > > python3 snippet.py > > it asks me if I want to record the screen full size or windowed, but there > is no screen recording. > should I see a file of the recorded video? what that snippet should do? > > I am even trying to do this command: > gst-launch-1.0 pipewiresrc path=79 ! videoconvert ! autovideosink > this command open a window, but there is no visible output. > Take your time, read the code. It will display the screen cast into xvimagesink, a bit ironic isn't it? You can edit with autovideosink if you want. The path is only valid while the portal is open. Nicolas Any further suggestions are appreciated. > > Thanks > Davide > > > Il 2023-07-15 12:51 Nicolas Dufresne via gstreamer-devel ha scritto: > > > > Le ven. 14 juill. 2023, 07 h 15, Davide Perini via gstreamer-devel < > [email protected]> a écrit : > > 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. > > > The attached program is in python and should just work. > > python3 snippet.py > > The path is return through a dbus IPC call. > > Nicolas > > > > > 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 > > > > > >