在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

时间:2021-11-26 17:25:05

有 大量可用于 Linux 的屏幕录像机。但是当涉及到支持 Wayland 时,几乎所有的都不能用。

这是个问题,因为许多新发布的版本都再次默认切换到 Wayland 显示管理器。而如果像屏幕录像机这样基本的东西不能工作,就会给人留下不好的体验。

GNOME 的内置屏幕录像机 可以工作,但它是隐藏的,没有 GUI,也没有办法配置和控制记录内容。此外,还有一个叫 Kooha 的工具,但它一直在屏幕上显示一个计时器。

只是为了录制屏幕而 在 Xorg 和 Wayland 之间切换,这不是很方便。

这种情况下,我很高兴地得知,由于 Pipewire 的帮助,在 OBS Studio v27 中支持了 Wayland。但即使是这样,也不是很简单,因此我将向你展示使用 OBS Studio 在 Wayland 上录制屏幕的步骤。

在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

使用 OBS 在 Wayland 上进行屏幕录制

让我们来看看它是如何完成的。

第一步:安装 OBS Studio

你应该先安装 OBS Studio v27。它已经包含在 Ubuntu 21.10 中,我会在本教程中使用它。

要在 Ubuntu 18.04、20.04、Linux Mint 20 等系统上安装 OBS Studio 27,请使用 官方的 OBS Studio PPA。

打开终端,逐一使用以下命令:

  1. sudo add-apt-repository ppa:obsproject/obs-studio 
  2. sudo apt update 
  3. sudo apt install obs-studio 

如果已经安装了 OBS Studio 的旧版本,它将被升级到较新的版本。

对于 Fedora、Arch 和其他发行版,请检查你的包管理器或非官方仓库以安装最新版本的 OBS Studio。

第二步:检查 Wayland 捕获是否工作

请确认你正在使用 Wayland。现在启动 OBS Studio,查看它在第一次运行时显示的所有内容。我不打算展示这些。

主要步骤是添加 Pipewire 作为屏幕捕捉源。点击 “Sources” 列表下的 “+” 符号。

在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

Add screen capture source in OBS Studio

你有没有看到 “Screen Capture (PipeWire)” 的字样?

在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

Do you see PipeWire option in the screen sources? 

如果没看到,请退出 OBS Studio。这很正常。至少在 Ubuntu 下,OBS Studio 不会自动切换到使用 Wayland。对此有一个修复方法。

打开一个终端,使用以下命令:

  1. export QT_QPA_PLATFORM=wayland 

在同一个终端,运行以下命令,启动 OBS Studio:

  1. obs 

它将在终端上显示一些信息。不要理会它们。你的注意力应该放在 OBS Studio GUI 上。再次尝试添加屏幕捕捉。你现在应该看到 PipeWire 选项了。

在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

你这次用 QT_QPA_PLATFORM 变量明确要求 OBS Studio 使用 Wayland。

选择 PipeWire 作为源,然后它要求你选择一个显示屏幕。选择它并点击分享按钮。

在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

现在它应该无限次递归地显示你的屏幕。如果你看到了,你现在就可以开始在 Wayland 中录制屏幕了。

在 Linux 中使用 OBS 和 Wayland 进行屏幕录制

第三步:让改变成为永久性的

这很好。你刚刚验证了你可以在 Wayland 上录制屏幕。但每次设置环境变量并从终端启动 OBS 并不方便。

你可以做的是把这个变量导出到你的 ~/.bash_profile(对你而言)或 /etc/profile(对系统中的所有用户而言)。

  1. export QT_QPA_PLATFORM=wayland 

退出并重新登录。现在 OBS 会自动开始使用这个参数,你可以用它来录制 Wayland 的屏幕。

我希望这个快速技巧对你有帮助。如果你还有问题或建议,请在评论区告诉我。

原文地址:https://linux.cn/article-13802-1.html