Peek: Investigate the use of pipewire for screen recording

Created on 17 Nov 2017  ·  6Comments  ·  Source: phw/peek

As I understand it pipewire could be used to record the screen. This probably would also solve the wayland issue and avoid the need to implement a screen recorder for every compositor.

It is not yet clear to me if this is already working or still work in progress.

enhancement

Most helpful comment

Update: Actually things are not so bleak after all :)

The new interface is at https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml

It is pipewire stream based, but it allows for selection of the area to record. So that's good. The interface is marked for private use and could break between releases. But meh, we need to use what we get here.

All 6 comments

Nice thing is that pipewire supports gstreamer, so in theory you could use a gstreamer pipeline to capture the screen into the file. In practice I was not yet able to figure it out :) Something like this is supposed to work:

gst-launch-1.0 pipewiresrc name=pipewiresrc path=10 ! videoconvert ! ximagesink

Not sure about the path, I could not get pipewire to list my screen.

looks like this would be the solution for fedora >= 33 ?

looks like this would be the solution for fedora >= 33 ?

I am not sure actually, depends on the interface GNOME now provides. The last time I checked it all moved into the direction where you can ask the DE to record the screen. The DE then let's you select a screen area and do the recording. That does not really fit with the UI of Peek, where you stage the recording area by moving the window in position. That requires that the application can specify the area to record.

If it is actually possible to request the exact location then this would work. It does not remove the limitation that you still need to run Peek on XWayland, though, because on pure wayland the client does not get it's actual screen coordinates :(

To be honest I see little future for the current user interface in a Wayland world. And at that point I kind of loose interest, because Peek was always about this very UI for recording small screen casts of partial UI. That's what I wanted to use and what I made it for. This obstacle is also part of the reason for the low updates on the tool (the other being me being low on time).

One way to rescue Peek over would be to reimagine its UI. Maybe turn it into a recording toolbar only, not tied to the recording area.

Anyway, I should still look at what current GNOME is doing. I have no GNOME 3.38 install yet.

Update: Actually things are not so bleak after all :)

The new interface is at https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml

It is pipewire stream based, but it allows for selection of the area to record. So that's good. The interface is marked for private use and could break between releases. But meh, we need to use what we get here.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ronjouch picture ronjouch  ·  6Comments

phw picture phw  ·  3Comments

grimmer-std picture grimmer-std  ·  6Comments

msongz picture msongz  ·  7Comments

ArsenArsen picture ArsenArsen  ·  3Comments