phw / peek

Simple animated GIF screen recorder with an easy to use interface
GNU General Public License v3.0
10.3k stars 321 forks source link

Support new recording interface for GNOME 3.38 #681

Closed eminfedar closed 1 year ago

eminfedar commented 3 years ago

There is only black screen on Debian Testing, Gnome Wayland, 1.5.1 version. Can't record anything.

Santinell commented 3 years ago

Have the same problem. My system Manjaro Gnome Looks like Wayland became default for Gnome DE

adrm commented 3 years ago

Same in Fedora Silverblue 33 with the flatpak version. It only records a black screen and the mouse pointer.

emanuelhfarias commented 3 years ago

same with Fedora 33 installed via RPM. Fedora 33 uses wayland by default.

plowpath commented 3 years ago

i have the same issue with ffmpeg backend. i would recommend people here to use peek --backend=gnome-shell in the meantime

adrm commented 3 years ago

@plowpath wow, I didn't know about that issue. That means it's working when launching from the terminal with that command. Is there a way to set that backend as the default? Peek's preferences do not allow that setting. I suppose editing the desktop file would work, but is there anything GUI-user-friendly?

phw commented 3 years ago

The problem is that the latest GNOME release ditched the old DBus interface for screen recording and provides a new one. This is not yet reported. The only workaround currently would be to run with Xorg instead of Wayland and use the ffmpeg backend.

digitalethics commented 3 years ago

i have the same issue with ffmpeg backend. i would recommend people here to use peek --backend=gnome-shell in the meantime

What is the default recording backend on Wayland? Is there a terminal command to check for what recording backend peek was configured by a particular distro?

openscript commented 3 years ago

I ran in the same issue on Arch with Wayland. Only the cursor is recorded. The workaround peek --backend=gnome-shell does the job for me too.

bphd commented 3 years ago

i have the same issue with ffmpeg backend. i would recommend people here to use peek --backend=gnome-shell in the meantime

Failed to initialize recorder: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying

And without arguments I only got the cursor at recording

taoqf commented 3 years ago

even record mp4 with peek --backend=gnome-shell will blocked before recording. fedora 33 https://github.com/phw/peek/issues/695

cbix commented 3 years ago

Might be an idea to send a feature request to ffmpeg to support the Wayland / PipeWire / xdg-desktop-portal way of screencapture and/or this custom GNOME interface.

For those who want to set --backend=gnome-shell for the desktop launchers, do cp /usr/share/applications/com.uploadedlobster.peek.desktop ~/.local/share/applications/; cp /usr/share/dbus-1/services/com.uploadedlobster.peek.service ~/.local/share/dbus-1/services/ and then change these local files adding --backend=gnome-shell to the Exec=... line.


Failed to initialize recorder: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying

And without arguments I only got the cursor at recording

@bphd do you have gst-plugin-gtk and gst-plugins-ugly installed? What's your gnome-shell version?

mattwelke commented 3 years ago

Works for me on Ubuntu 20.10 with GNOME 3.38. Just recorded a GIF after installing via PPA and the saved GIF looks good.

~ > cat /usr/share/gnome/gnome-version.xml
<?xml version="1.0"?>
<gnome-version>
 <platform>3</platform>
 <minor>38</minor>
 <micro>3</micro>
 <distributor>Ubuntu</distributor>
 <!--<date></date>-->
Gotterbild commented 2 years ago

peek --backend=gnome-shell doesn't work for me on Manjaro with Gnome 41.3 on Wayland

App starts fine. But as soon as recording starts, it just hangs. In some time the dialog appears with info that app is not responding.

That is for both app versions from official Manjaro repositories and Flatpak.

Update: Looks like my experiments with backends interfered with results for Flatpak version. After rebooting and starting fresh Flatpak version of app, as soon as recording starts, I get ffmpeg error:

Command "ffmpeg -f x11grab -show_region 0 -framerate 10 -video_size 525x349 -i :99.0+367,112 -filter:v scale=iw/1:-1 -codec:v libvpx-vp9 -lossless 1 -r 10 -y /home/user/.var/app/com.uploadedlobster.peek/cache/peek/peekNO0UG1.webm" failed with status 256 (received signal 0).

Output:
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers  built with gcc 10.2.0 (GCC)  configuration: --prefix=/app --disable-debug --disable-static --enable-gpl --enable-libvpx --enable-libx264 --enable-shared --enable-libxcb --enable-libxcb-xfixes --disable-libxcb-shape --disable-ffplay --disable-ffprobe --disable-doc --disable-everything --enable-bsf=vp9_superframe --enable-decoder=libvpx_vp9 --enable-decoder=png --enable-decoder=rawvideo --enable-encoder=apng --enable-encoder=ffvhuff --enable-encoder=gif --enable-encoder=libvpx_vp9 --enable-encoder=libx264 --enable-encoder=png --enable-demuxer=image2 --enable-demuxer=matroska --enable-muxer=apng --enable-muxer=gif --enable-muxer=image2 --enable-muxer=mp4 --enable-muxer=webm --enable-filter=crop --enable-filter=fps --enable-filter=palettegen --enable-filter=paletteuse --enable-filter=scale --enable-protocol=file --enable-indev=xcbgrab  libavutil      56. 51.100 / 56. 51.100  libavcodec     58. 91.100 / 58. 91.100  libavformat    58. 45.100 / 58. 45.100  libavdevice    58. 10.100 / 58. 10.100  libavfilter     7. 85.100 /  7. 85.100  libswscale      5.  7.100 /  5.  7.100  libswresample   3.  7.100 /  3.  7.100  libpostproc    55.  7.100 / 55.  7.100Input #0, x11grab, from ':99.0+367,112':  Duration: N/A, start: 1643878059.929486, bitrate: 58632 kb/s    Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 525x349, 58632 kb/s, 10 fps, 10 tbr, 1000k tbn, 1000k tbcStream mapping:  Stream #0:0 -> #0:0 (rawvideo (native) -> vp9 (libvpx-vp9))Press [q] to stop, [?] for help[libvpx-vp9 @ 0x5636a9bd5840] v1.10.0[libvpx-vp9 @ 0x5636a9bd5840] Failed to initialize encoder: ABI version mismatchError initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or heightConversion failed!
bphd commented 1 year ago

From what I've understood it's not "not planned". It's not for WayLand but for Gnome, so planned for that issue

openscript commented 1 year ago

Maybe an alternative: https://github.com/SeaDve/Kooha