如何通过OBS WebSocket向指定组添加输入?解决602错误
解决方法
OBS里的组虽属于特殊场景范畴,但WebSocket接口会明确区分组与普通场景,直接传入组名调用create_input会触发报错。正确操作需先获取组对应的内部场景名称,再用该名称执行输入创建操作:
方法一:直接通过组的内部场景创建输入
- 调用
get_group_scene接口传入组名,获取组对应的内部场景名称 - 将该内部场景名称作为
create_input的第一个参数使用
示例代码:
import obsws_python as obs cl = obs.ReqClient(host='localhost', port=4444, password='password', timeout=3) # 获取组对应的内部场景信息 group_scene_info = cl.get_group_scene("Group") # 向组的内部场景添加输入 cl.create_input(group_scene_info.scene_name, "media", "ffmpeg_source", {}, True)
方法二:先创建独立输入源,再添加到组中
若需更灵活的源管理,可分两步操作:
import obsws_python as obs cl = obs.ReqClient(host='localhost', port=4444, password='password', timeout=3) # 创建不关联任何场景的独立输入源 cl.create_source("media", "ffmpeg_source", {}, False) # 获取组对应的内部场景信息 group_scene_info = cl.get_group_scene("Group") # 将输入源添加到组的内部场景中 cl.add_scene_item(group_scene_info.scene_name, "media")
两种方法均可实现向指定组添加输入的需求,可根据实际场景选择。
内容的提问来源于stack exchange,提问作者Mark Wasfy
相关产品推荐
相关产品推荐

