Open Broadcaster Software - Arch Linux 中文维基

跳转到内容

# Open Broadcaster Software

来自 Arch Linux 中文维基

相关文章

- FFmpeg

翻译状态：

- 本文（或部分内容）译自 Open Broadcaster Software，最近一次同步于 2022-11-27，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

Open Broadcaster Software（OBS）是一款开源的跨平台视频录制和直播应用程序。它提供一项容易上手和可扩展的工作流程，具有可定制的场景、音量混合器、转场、过滤器等功能。

## 安装

可选择 obs-studio包 或 obs-studio-gitAUR 开发版本安装。

提供其他功能的客户端也可以使用。

- obs-studio-tytan652AUR
- obs-studio-browserAUR
- obs-vaapiAUR

## 配置

为方便配置，工具 > 自动配置向导可以快速设置录制和直播功能。该向导根据你的硬件（如果设置流媒体，还包括网络连接）自动选择比特率、分辨率和编码器。

### 硬件加速

硬件加速的编码和解码在性能、CPU/GPU 使用和质量方面是最好的。编码器可以在设置 > 输出 > 流媒体 > 编码器中改变（可能要先将设置 > 输出 > 输出模式为高级）。如果没有检测到硬件编码器，请参阅硬件视频加速。

### 录制输出

OBS 默认在用户的家目录中输出录像，视频文件名中带有空格，并选择相同的编码器用于流媒体。输出路径、文件大小、文件格式、文件名样式等可以在设置 > 输出 > 录制中改变。

### 热键

OBS 默认没有指定热键。所有的热键对在选择时以红色显示，可以使用相同的键来切换热键对的功能。

### 虚拟摄像机输出

从26.1版开始，OBS 支持 Linux 虚拟摄像机输出。要使用它，安装 v4l2loopback，然后 OBS 中会出现启动虚拟摄像机按钮。如果`v4l2loopback`包中的内核模块尚未加载，OBS 会自动尝试加载它，并要求获得管理权限（使用 pkexec(1)）。

### Wayland

由于 OBS 是一款 Qt 应用程序，请参见 Wayland#Qt 以使其在 Wayland 下工作。OBS 从版本 28 开始从 Qt5 更新到了 Qt6，因此更新的版本需要安装 qt6-wayland包。参见 PipeWire#WebRTC_屏幕共享以启用 Wayland 屏幕捕获。

#### KDE中全局快捷键无法使用

在OBS中设置的全局快捷键只有在OBS处于焦点状态时才有效。作为解决方法，您可以通过OBS的WebSocket接口来控制它，该接口可以在OBS中启用，方法是转到工具 > WebSocket服务器设置，然后选择启用WebSocket服务器。

注意：`obs-studio`仍然缺少WebSocket支持 FS#76710，但Flatpak和一些AUR软件包具有此支持（例如obs-studio-gitAUR）。

然后可以使用`obsws-python`或`obs-websocket-py`（版本>=1.0）来控制WebSocket。可以使用pip安装其中任何一个。然后在系统设置 > 快捷键中，您可以为`obsws-python`添加以下命令，以设置自定义快捷键以切换录制：

本文或本章节的语言、语法或风格需要改进。参考：帮助:风格

原因：避免复杂的一行命令。（在Talk:Open Broadcaster Software讨论）

    python -c "import obsws_python;obsws_python.ReqClient(host='localhost',port=4455,password=yourwebsocketpassword).toggle_record()"

或者，如果您使用`obs-websocket-py`，则使用以下命令：

    python -c "from obswebsocket import obsws,requests;c=obsws('localhost',4455,yourwebsocketpassword);c.connect();c.call(requests.ToggleRecord());c.disconnect()"

WebSocket密码和端口可以在WebSocket服务器设置 > 显示连接信息中找到。

如果您希望避免复杂的一行命令，请使用recording-toggle.py脚本。

## 提示和技巧

### 浏览器来源

obs-browser 插件提供在画布中使用网页的功能，通常用于基于网络的覆盖。该网页可以交互，并像其他源类型一样工作。

默认的 obs-studio包 不提供这个插件，但可以通过其他客户端或插件包添加。

- obs-studio-gitAUR 使用浏览器插件进行编译。

- obs-studio-tytan652AUR 是一款定制的客户端，提供浏览器插件以及浏览器停靠栏，还有其他改进。

### 通过 Vulkan/OpenGL 捕获

obs-vkcapture 插件增加通过直接连接到 Vulkan 或 OpenGL 的功能，而不是使用通用的 Xorg 或 Wayland 窗口捕获 API。要使用它，安装 obs-vkcaptureAUR，以及 lib32-obs-vkcaptureAUR（如果捕获32位应用程序）。按照 GitHub 仓库中的说明，使用该插件设置游戏捕获。

### 使用 GStreamer 进行编码

obs-gstreamer 项目提供：

- 使用 GStreamer 进行编码的编码器插件。
- 使用 GStreamer pipeline 作为源、视频过滤器或音频过滤器的插件。这是个高级功能，提供给熟悉使用 GStreamer 的用户。

AMD GPU 用户报告说，通过 GStreamer 的 VA-API 胜过 OBS 默认的 VA-API 视频编码能力。要使用 obs-gstreamer 进行编码，安装 obs-gstreamerAUR 并将 OBS 的编码器改为GStreamer 编码器。如果 OBS 在编码器方面出现错误，你可能需要安装 gstreamer-vaapi包。

### 手动插件安装

可以将插件手动安装到 `~/.config/obs-studio/plugins/`. 目录结构如下:

    ~/.config/obs-studio/plugins/plugin_name/bin/64-bit/plugin_name.so
    ~/.config/obs-studio/plugins/plugin_name/data/locale/en-US.ini

### 录制矩形区域

在 KDE 上，您可以用 obs-rectangle-area-selector 脚本选择并录制一块矩形区域。

## 疑难解答

### QuickSync 提示 "Error creating a MFX session"

该错误会在没有安装正确的英特尔 QuickSync 驱动时发生。

    [AVHWDeviceContext @ 0x6111a37c1040] Error creating a MFX session: -9.
    Device creation failed: -1313558101.

要使用 QuickSync，请为 Iron Lake (Gen5) 到 Ice Lake (Gen10) 的GPU 安装 intel-media-sdk包，对于 Tiger Lake (Gen11) 及更新的 GPU，请安装 vpl-gpu-rt包。

关于更多信息，请参阅 FFmpeg#Intel QuickSync (QSV)。

## 参见

- OBS Wiki
- 修复 Arch Linux 缺失的 OBS 功能

分类：​

- 多媒体
- 串流
- 视频
- 使用“模板:风格”标记的页面或章节

Open Broadcaster Software
添加话题