0

0

OBS WebSocket v5 中修改文本与图片源的正确方法

心靈之曲

心靈之曲

发布时间:2026-02-07 14:57:48

|

662人浏览过

|

来源于php中文网

原创

OBS WebSocket v5 中修改文本与图片源的正确方法

本文详解 obs 30 内置 websocket(v5)下如何通过 `obs-websocket-py` 动态更新文本和图像源内容,重点说明 `setinputsettings` 替代已废弃的 `setsourcesettings` 和 `settextgdiplusproperties` 的完整用法。

自 OBS 28 起,官方将 WebSocket 插件深度集成至核心,并升级为协议版本 5(v5)。该版本对 API 进行了重大重构:所有基于“Source”的旧请求(如 SetSourceSettings、SetTextGDIPlusProperties)均已移除,统一由更通用、语义更清晰的 SetInputSettings 接口替代。这意味着,无论目标是 GDI+ 文本、Browser 源、Image 源还是媒体源,只要其在 OBS 中被识别为 Input(即具有可配置属性的输入项),均需通过 inputName + inputSettings 方式进行设置。

以下是适配 OBS 30 + WebSocket v5 的完整、可运行代码示例:

from obswebsocket import obsws, requests

new_image_file_path = "image.png"
source_name_text = "text"      # OBS 中文本源的名称(非显示内容)
source_name_image = "image"    # OBS 中图像源的名称

def connect():
    host = "localhost"
    port = 4455
    password = "myPassword"
    ws = obsws(host, port, password)
    ws.connect()
    run(ws)

def run(ws):
    # ✅ 正确:使用 SetInputSettings 更新图像源路径
    ws.call(requests.SetInputSettings(
        inputName=source_name_image,
        inputSettings={"file": new_image_file_path}
    ))

    # ✅ 正确:使用 SetInputSettings 更新文本源内容
    ws.call(requests.SetInputSettings(
        inputName=source_name_text,
        inputSettings={"text": "Hello from WebSocket v5!"}
    ))

if __name__ == '__main__':
    connect()

⚠️ 关键注意事项:

影谱
影谱

汉语电影AI辅助创作平台

下载
  • 名称必须精确匹配:inputName 是 OBS 源列表中显示的 源名称(即你在“来源”面板右键重命名的那个名称),而非源类型(如 "Text GDI+")或文件名。
  • 字段名因输入类型而异:不同输入类型支持的 inputSettings 键不同。例如:
    • 图像源(Image Source):使用 "file";
    • GDI+/DirectWrite 文本源:使用 "text";
    • 浏览器源(Browser Source):常用 "url"、"width"、"height" 等;
    • 建议通过 OBS Studio → 工具 → WebSocket Server Settings → “Open API Reference” 查阅最新文档,或使用 GetInputSettings 先获取当前配置结构作为参考。
  • 无需重启或刷新:调用 SetInputSettings 后更改实时生效,无需切换场景或手动刷新。
  • 错误静默?检查日志:若无报错但未生效,请确认:
    • 源确实存在于当前场景中(SetInputSettings 不校验场景上下文,但目标源必须已存在);
    • OBS 日志(帮助 → 日志文件)中是否出现 Failed to find input 提示——这通常意味着 inputName 拼写错误或源已被删除。

总结:拥抱 WebSocket v5 的核心在于理解「一切皆 Input」的设计范式。摒弃旧版按源类型拆分的 API,转而使用统一、灵活的 SetInputSettings,不仅提升了 API 一致性,也为未来新增输入类型预留了良好扩展性。务必以 OBS 官方 API 文档为准,避免依赖过时的 v4 教程代码。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1294

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

276

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2200

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

34

2026.01.19

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

191

2023.11.24

Golang WebSocket与实时通信开发
Golang WebSocket与实时通信开发

本专题系统讲解 Golang 在 WebSocket 开发中的应用,涵盖 WebSocket 协议、连接管理、消息推送、心跳机制、群聊功能与广播系统的实现。通过构建实际的聊天应用或实时数据推送系统,帮助开发者掌握 如何使用 Golang 构建高效、可靠的实时通信系统,提高并发处理与系统的可扩展性。

26

2025.12.22

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

129

2026.01.19

1688阿里巴巴货源平台入口与批发采购指南
1688阿里巴巴货源平台入口与批发采购指南

本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。

60

2026.02.06

快手网页版入口与电脑端使用指南 快手官方短视频观看入口
快手网页版入口与电脑端使用指南 快手官方短视频观看入口

本专题汇总了快手网页版的最新入口地址和电脑版使用方法,详细提供快手官网直接访问链接、网页端操作教程,以及如何无需下载安装直接观看短视频的方式,帮助用户轻松浏览和观看快手短视频内容。

15

2026.02.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
如何进行WebSocket调试
如何进行WebSocket调试

共1课时 | 0.1万人学习

TypeScript全面解读课程
TypeScript全面解读课程

共26课时 | 5.1万人学习

前端工程化(ES6模块化和webpack打包)
前端工程化(ES6模块化和webpack打包)

共24课时 | 5.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号