Open Broadcaster Software

来自 Arch Linux 中文维基

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

安装[编辑 | 编辑源代码]

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

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

配置[编辑 | 编辑源代码]

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

硬件加速[编辑 | 编辑源代码]

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

录制输出[编辑 | 编辑源代码]

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

热键[编辑 | 编辑源代码]

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

虚拟摄像机输出[编辑 | 编辑源代码]

从26.1版开始,OBS 支持 Linux 虚拟摄像机输出。要使用它,安装 v4l2loopback-dkms,并将用户加入video组,还需要为已安装的内核安装适当的头文件包,如 linux-headerslinux-lts-headers,然后 OBS 中会出现启动虚拟摄像机按钮。如果v4l2loopback包中的内核模块尚未加载,OBS 会自动尝试加载它,并要求获得管理权限(使用 pkexec(1))。

Wayland[编辑 | 编辑源代码]

由于 OBS 是一款 Qt 应用程序,请参见 Wayland#Qt 以使其在 Wayland 下工作。参见 PipeWire#WebRTC_屏幕共享以启用 Wayland 屏幕捕获。

KDE中全局快捷键无法使用[编辑 | 编辑源代码]

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

注意: obs-studio仍然缺少WebSocket支持 FS#76710,但Flatpak和一些AUR软件包具有此支持(例如obs-studio-gitAUR)。

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

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

原因:避免复杂的一行命令。(在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-tytan652AUR 是一款定制的客户端,提供浏览器插件以及浏览器停靠栏,还有其他改进。

通过 Vulkan/OpenGL 捕获[编辑 | 编辑源代码]

obs-vkcapture 插件增加通过直接连接到 VulkanOpenGL 的功能,而不是使用通用的 XorgWayland 窗口捕获 API。要使用它,安装 obs-vkcapture-gitAUR,以及 lib32-obs-vkcapture-gitAUR(如果捕获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

参见[编辑 | 编辑源代码]