Open Broadcaster Software
Open Broadcaster Software (OBS) 是一款开源的跨平台视频录制和直播应用程序。它提供了一个易于上手且可扩展的工作流,具有可自定义的场景、混音器、过渡、滤镜等功能。
安装
安装以下软件包之一
- obs-studio — 最新版本的 OBS。
- 此外,为了支持 浏览器源 (browser source),请安装 obs-studio-plugin-browser 软件包(建议作为依赖安装)。
- obs-studio-browserAUR — 构建除 Twitch、Restream 和 YouTube 集成之外的所有功能。浏览器源插件是使用 打补丁后的 CEF 构建的。
- obs-studio-tytan652AUR — 额外应用了一些尚未合并的 PR 或后向移植的修复。
配置
为了方便配置,可以通过 工具 > 自动配置向导 快速设置录制和直播的基础设置。该向导会根据您的硬件(以及设置直播时的网络连接)自动选择码率、分辨率和编码器。
硬件视频加速
硬件加速编码和解码在性能、CPU/GPU 占用和质量方面表现最佳。可以在 设置 > 输出 > 推流 > 编码器 中更改编码器(可能需要先将 设置 > 输出 > 输出模式 设置为 高级)。如果未检测到硬件编码器,请参阅 硬件视频加速。
录制输出
默认情况下,OBS 将录制内容输出到用户主目录下,视频文件名包含空格,并选用与推流相同的编码器。输出路径、文件大小、文件格式、文件名样式等可以在 设置 > 输出 > 录像 中更改。
快捷键
默认情况下,OBS 不分配热键。所有在选择时以红色突出显示的成对热键可以使用相同的按键绑定来切换该对功能。
热键在 Wayland 中默认可能无法工作;请参阅 #Wayland 进行故障排除。
虚拟摄像机输出
从 26.1 版本开始,OBS 在 Linux 上支持虚拟摄像机输出。要使用此功能,请安装 v4l2loopback,随后 OBS 中会出现 启动虚拟摄像机 按钮。如果 v4l2loopback 内核模块 尚未加载,OBS 将尝试自动加载并请求管理权限(使用 pkexec(1))。
技巧与提示
通过 Vulkan/OpenGL 采集
obs-vkcapture 插件增加了通过直接挂钩 API 来采集 Vulkan 或 OpenGL 程序的能力,而不是使用通用的 Xorg 或 Wayland 窗口采集 API。要使用它,请安装 obs-vkcaptureAUR,如果需要采集 32 位应用程序,还需安装 lib32-obs-vkcaptureAUR。请参考 GitHub 仓库中的说明来使用该插件设置 游戏采集。
使用 GStreamer 编码
obs-gstreamer 是一个提供以下功能的项目:
- 一个用于使用 GStreamer 进行编码的编码器插件。
- 将 GStreamer 管线 (pipeline) 用作源、视频滤镜或音频滤镜的插件。这是一项高级功能,旨在供熟悉 GStreamer 使用的用户使用。
要使用 obs-gstreamer 进行编码,请安装 obs-gstreamerAUR(或 obs-vaapiAUR 以获取独立插件),并将 OBS 的编码器更改为 VAAPI H.26x/VPx/AV1 on <设备名称>。如果 OBS 提示编码器相关错误,您可能需要安装 gst-plugin-va 软件包。
手动安装插件
您可以手动将插件安装到 ~/.config/obs-studio/plugins/ 目录。文件夹结构示例为:
~/.config/obs-studio/plugins/plugin_name/bin/64bit/plugin_name.so ~/.config/obs-studio/plugins/plugin_name/data/locale/en-US.ini
录制矩形区域
在 KDE Plasma 上,可以使用辅助脚本 obs-rectangle-area-selector 来选择录制的矩形区域。
故障排除
Wayland
由于 OBS 是一个 Qt 应用程序,请参阅 Wayland#Qt 以使其在 Wayland 下工作。OBS 自 28 版本起已从 Qt 5 升级到 Qt 6,因此新版本需要安装 qt6-wayland。请参阅 PipeWire#WebRTC 屏幕共享 以启用 Wayland 屏幕采集。
全局快捷键
虽然 Wayland 应用程序可以通过 XDG desktop portal 设置全局快捷键,但 OBS 目前尚不支持此功能[1],这意味着在 OBS 中设置的全局快捷键仅在 OBS 处于聚焦状态时有效。
通过 XDG desktop portal 实现的快捷键
可以使用 obs-wayland-hotkeys 插件来提供 XDG desktop portal 功能。安装 obs-wayland-hotkeys-gitAUR 软件包后,OBS 在下次启动时应会提示注册全局快捷键。
通过 OBS WebSocket 实现的快捷键
可以通过 WebSocket 接口控制 OBS,在 OBS 中进入 工具 > WebSocket 服务器设置 并勾选 启用 WebSocket 服务器 即可启用。
WebSocket 密码和端口可以在 WebSocket 服务器设置 > 显示连接信息 中找到。
WebSocket 客户端
- obs-cmd — 用于 obs-websocket v5 的 OBS 命令行工具
- obs-websocket-py — 用于 OBS 快捷键的 Python 独立脚本
- obsws-python — 用于 OBS Studio WebSocket v5.0 的 Python SDK
然后根据您的环境将 WebSocket 客户端命令绑定到键盘快捷键 —— 例如在 KDE Plasma 中,前往 系统设置 > 快捷键 设置自定义快捷键。
QuickSync 返回 "Error creating a MFX session"
如果未安装正确的 Intel 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)。
插件加载错误:frontend-tools
如果启动 OBS 时出现以下消息
Plugin Load Error The following OBS plugins failed to load: frontend-tools Please update or remove these plugins.
请安装 luajit 可选依赖(建议安装原因为作为依赖)并重启 OBS。