本系列是一个没有废话的指南,用于创建一个简单的 Node.js 应用程序并使用它与开放广播软件 Websocket 进行交互。

在本文结束时,您应该有一个可以构建的工作模板,以及开始使用 WebSocket 的一些想法。

未来的文章将通过与 Twitch 聊天和 Twitch PubSub 集成来扩展本指南,以便我们可以使用 Stream 上发生的事件自动更新覆盖上的内容。

初始设置节点

我将使用 VS 代码作为我的 IDE,因此假设您安装了Node.js并为您的项目创建了一个新目录。

运行npm init并通过初始化问题进入以创建您的空白项目。

使用从这个 github 存储库安装 obs-websocket-js

npm install obs-websocket-js

在您的项目目录中创建一个名为app.js的新文件,这是我们将用于项目的主文件

快速输入console.log(`hello world`)并运行node app.js以确保到目前为止一切正常。

image.png

太好了,现在让我们继续准备 OBS 软件来托管 WebSocket 服务器。

初始设置OBS

从https://obsproject.com/forum/resources/obs-websocket-remote-control-obs-studio-from-websockets.466/下载并安装 OBS WebSocket 插件

按照安装说明打开OBS后,“工具”下应该有一个“Websocket服务器设置”选项

image.png

打开它并检查“启用 WebSockets 服务器”设置并添加端口号。现在不要担心身份验证。

image.png

我们现在准备将我们的 Node 应用程序连接到 OBS WebSocket 服务器,并尝试用它做一些事情。

连接WebSocket

通过在顶部添加这两行,将模块导入到我们的 app.js 脚本中。

const OBSWebSocket = require("obs-websocket-js");
const obs = new OBSWebSocket();

像这样创建 WebSocket 连接,添加运行 OBS 的计算机的 IP 地址和端口;

obs.connect({
    address: "127.0.0.1:4444",
  })
  .then(() => {
    console.log(`Success! We're connected & authenticated.`);
  });

现在使用node app.js运行您的应用程序

希望您获得“成功!我们已连接并已通过身份验证”的控制台日志。

image.png

伟大的!现在进入本文的最后一步。我们将从 Websocket 服务器发出一个简单的请求,并查看响应。

发送请求

让我们做一个“获取源列表”,然后将数据记录到控制台;

obs.connect({
    address: "127.0.0.1:4444",
  })
  .then(() => console.log(`Success! We're connected & authenticated.`))
  .then(() => obs.send("GetSourcesList"))
  .then((data) => {
    console.log(data);
  });

image.png

伟大的!我的 OBS WebSocket 返回了所有源。

这就是本文的内容,但请务必遵循,因为下一次我们将向 WebSocket 发送一些指令并让一些很酷的事情发生,例如;

  • 显示和隐藏源

  • 改变过渡效果

  • 更改大小/形状/url等来源的属性

  • 在屏幕周围移动源

第 2 部分:OBS WebSocket 使用 Node.js 续

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐