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

运维 系统运维
有 大量可用于 Linux 的屏幕录像机。但是当涉及到支持 Wayland 时,几乎所有的都不能用。这是个问题,因为许多新发布的版本都再次默认切换到 Wayland 显示管理器。

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

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

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

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

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

[[424912]]

使用 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” 列表下的 “+” 符号。 

Add screen capture source in OBS Studio

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

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 选项了。

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

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

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

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

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

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

  1. export QT_QPA_PLATFORM=wayland 

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

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

 

责任编辑:未丽燕 来源: Linux中国
相关推荐

2017-05-19 13:19:16

LinuxAsciinema终端会话

2023-05-25 18:05:59

LinuxWayland软件

2023-10-23 19:59:26

VLC屏幕录制

2021-06-22 10:30:42

Linuxpushdpopd

2018-09-05 09:00:00

2022-11-24 13:06:32

LinuxAudacity

2011-12-08 10:24:53

JavaNIO

2024-02-07 11:44:20

NestJSRxJS异步编程

2021-11-29 22:59:34

Go Dockertest集成

2023-10-28 16:22:21

Go接口

2013-05-14 10:13:06

WindowsLinux操作系统

2023-08-12 15:05:26

Linuxcp 命令

2023-07-04 16:36:03

Linuxcd 命令

2023-07-23 19:26:18

Linuxcat 命令

2009-02-27 17:15:05

XMLDOMXPath

2019-12-12 13:50:27

strace追踪系统调用Linux

2023-05-24 16:41:41

React前端

2015-09-01 10:32:11

2015-09-01 14:29:33

2020-12-07 06:25:14

Linux Truncate 命令
点赞
收藏

51CTO技术栈公众号