OBS Websocket: 远程控制OBS Studio的WebSocket插件入门指南
1. 项目介绍
OBS Websocket 是一个强大的工具,允许通过WebSocket协议远程控制OBS Studio(Open Broadcasting Software)。它提供了丰富的API功能,使用户能够从任何支持WebSocket的设备上对正在运行的OBS实例进行实时的操控和管理。
主要特性:
- 场景切换: 使用外部程序(如自动脚本或脚踏板)来切换直播场景。
- 宏命令: 触发一系列预定义的操作。
- 图形更新: 根据当前场景动态更改流媒体覆盖图或图形元素。
- 自动化: 自动化整个直播流程,减少人工干预需求。
支持平台:
OBS Websocket在Windows、macOS和Linux平台上均可用。
2. 快速启动
为了安装并配置OBS Websocket,首先确保你的系统中已经安装了最新版本的OBS Studio。然后,请遵循以下步骤:
步骤1: 下载并安装插件
访问Releases页面下载适用于你操作系统的OBS Websocket版本。解压下载的文件包。
步骤2: 安装插件
将解压缩后的插件文件拖放到OBS Studio的插件目录中。对于大多数用户,这通常是 C:\Program Files\OBS\64bit\Plugins (取决于你的OBS安装位置)。
步骤3: 配置插件
打开OBS Studio,在“工具”菜单下选择 “OBS Websocket 设置”。在这里,你可以启用或禁用认证,设置密码以保护WebSocket服务器免受未经授权的访问,默认情况下它运行在端口4455上。
# Example command line overrides if you prefer managing these via the CLI.
--websocket_port=4455 --websocket_password="YourPasswordHere"
3. 应用案例和最佳实践
场景切换示例
假设你想通过HTTP请求触发场景切换:
import asyncio
from simpleobsws import obsws, requests as obsrequests
async def switch_scene(scene_name):
host = 'localhost'
port = 4455
password = 'YourPasswordHere'
ws = obsws(host, port, password)
await ws.connect()
response = await ws.call(obsrequests.SetCurrentSceneRequest(sceneName=scene_name))
print(response)
await ws.disconnect()
# Replace 'TestScene' with your actual scene name
asyncio.run(switch_scene('TestScene'))
最佳实践
- 确保设置强密码防止未授权访问。
- 监控API调用情况,及时检测异常活动。
4. 典型生态项目
- Stream Deck: 用于自定义按钮布局,轻松地控制各种场景切换和动作。
- Twitchat: 实时聊天控制界面,观众可以参与并影响直播的内容。
- MacroGraph: 图形化界面创建复杂的操作流。
以上项目仅仅是OBS Websocket生态系统中的冰山一角,它们利用Websocket的强大能力创造出更加丰富和互动的直播体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



