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

本文详解 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()

⚠️ 关键注意事项:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » OBS WebSocket v5 中修改文本与图片源的正确方法-Python教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4032433+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4032434+
  • 本周更新: 0+
  • 最后更新: 2026-03-16