有没有适用于GNOME和Wayland的屏幕录制工具?

我正在使用Ubuntu 18.04.01 LTS。我花了很多时间寻找适用于Ubuntu GNOME Wayland的屏幕录制程序。

我已经尝试过几个屏幕录制程序,例如Simple Screen RecorderVokoscreen,但结果只有一个带光标的空白屏幕。

有什么建议吗?


1也许 Shift-Ctrl-Alt-R 就足够了吧?参见 https://askubuntu.com/a/1013746/504066(虽然与问题关系不大,但显示了快捷键) - PerlDuck
2是的,但我觉得它只适合录制短暂的屏幕录像。对于我来说,我需要更长的时间或者可以自定义录制教程视频的时长。如果有一种方法可以改变它的默认时长,那将非常棒。 - fsevenm
这只是一个想法。我很惊讶地看到Ubuntu已经附带了一个非常简单的录音机。没关系。 - PerlDuck
4个回答

Green Recorder声称支持Wayland。

它是如何工作的?

它使用D-Bus API连接到GNOME Shell中内置的屏幕录制工具。它使用这个工具来录制视频。为了录制音频,它在后台启动一个ffmpeg实例。录制完成后,它将两个文件合并成WebM文件。

对于Xorg,它只使用ffmpeg来处理音频和视频。

默认情况下,在Wayland上,Green Recorder使用V8编码器而不是GNOME Shell中的默认V9编码器,因为V9存在CPU和RAM消耗问题。现在,这也应该提供更好的性能。在Xorg上,每种格式都使用自己的默认编码器。

您可以通过运行以下命令从"FOSS Project"团队的PPA安装:

sudo add-apt-repository ppa:fossproject/ppa
sudo apt update
sudo apt install green-recorder

1谢谢。我尝试安装了Green Recorder,它运行良好。但目前只支持webm格式,就像你也说的一样。也许我可以将webm转换为mp4格式。总体而言,它很好用,我认为这是在Wayland会话中录制屏幕的唯一解决方案。 - fsevenm
2项目已经停止了:/ - funder7
请编辑以明确指出此解决方案不再适用。该软件包已被移除。 - MappaM


2我的录音中没有声音。 - chovy
2对我来说不起作用。Ubuntu 21.04 和 Wayland。 - Advait
这个方法有点取巧,但是为了获取音频,我手动运行Audacity和这个程序,然后在最后运行ffmpeg -i audacity_audio.wav -i screen_record.webm out.mp4。当然,我希望不用这样做,但是它确实有效。 - undefined

抱歉可能有点晚,但您可以通过在终端中运行此命令来增加内置的时长:

gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 600

将600替换为您想要录制的秒数。
我对此一直很感兴趣,并找到了禁用Wayland的方法!运行以下命令:
sudo nano /etc/gdm3/daemon.conf

找到 #WayLandEnabled=false

移除 # 符号。然后按下 Ctrl + X,再点击 y,最后按下回车键。 重新启动你的电脑。 完成!你现在又可以使用 DirectX 了。所有的屏幕录制软件应该都能正常工作。对于旧款笔记本电脑来说,内置的屏幕录制器 (Ctrl+Alt+Shift+R) 也应该更加流畅了。


我找不到一个适用于Wayland的好屏幕录制工具。所以我自己做了一个。 https://github.com/HasinduLanka/screencorder 它在Wayland上非常稳定且运行良好。
如果你对HTML/JS很熟悉,你可以为改进前端做出贡献。

这个屏幕录制工具在Wayland上是如何工作的?

大多数屏幕录制工具都无法在Wayland上工作。为什么呢?
因为Wayland比旧的X11更安全。Wayland不允许每个程序看到其他程序正在做什么。获取访问权限要困难一些。 但是像Chromium这样的网络浏览器已经正确处理了这些安全特性。这就是为什么我们使用本地渐进式Web应用作为前端,以及用Go编写的后端。渐进式Web应用将屏幕录制并将其作为Blob发送到后端。后端记录系统声音并实时合并所有内容。