PLAYDECK API

PLAYDECK API 是一种允许任何人与 PLAYDECK 进行交互的接口。本文将介绍如何开始使用该 API 进行开发:

本文内容:
引言
示例
实现该 API


引言

PLAYDECK API 支持双向通信:您可以接收播放状态,也可以向 PLAYDECK 发送命令。.

该 API 基于 WebSockets:WebSockets 是 JavaScript 的一部分,因此您可以使用 JavaScript、Node.js 或 TypeScript 进行开发。WebSocket 端口固定为 11411,并在 PLAYDECK 中始终处于启用状态。.

我们决定采用 WebSockets,因为:

  • 它支持双向传输:从 PLAYDECK 发送和接收
  • 无需安装:使用任意文本编辑器
  • 无需特定的网络安全措施
  • 使用 HTML 轻松构建自己的用户界面或动画


PLAYDECK 支持接收哪些内容?

  • 触发或播放块、片段、叠加层或动作
  • 像流媒体一样开始/停止视频资源


PLAYDECK能提供什么?

  • 事件(例如:某个块或片段已开始)
  • 播出状态(例如:当前正在播放的内容以及剩余的播出时段)
  • 内容(例如包含模块和片段的完整播放列表)


示例

1) 伴侣

bitfocus Companion 在 PLAYDECK 模块中使用了 PLAYDECK API。这能让您快速体验该 API 的功能:
https://playdeck.tv/howto/companion/


2) 导演视角

该 API 也被 PLAYDECK 中的 Director View 所使用。您可以在此处找到 HTML 模板:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Director-View


3) HTML 叠加层

该 API 还被一些 HTML 概述示例所采用,您可以在这里找到这些示例:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Overlay-Templates


实现该 API

我们为您准备了一些示例,以便您快速了解一个可运行的脚本。请按顺序查看这些示例,因为它们是循序渐进的。.

提示 1: 您可以双击任何 HTML 文件,在浏览器中打开并运行脚本/API

提示 2: 您可以编辑文件“WebSocketSDK\Version.js”来更改 IP 地址


1) 原生连接(无需 API)

我们先从一个非常简约的例子开始:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleMinimalistic.html

这将使用原生 JavaScript 代码打开与 PLAYDECK 的 WebSocket 连接,并发送一条命令,以播放第一个区块中的第一个片段。.

另一个示例如下:您可以点击 HTML 中的按钮,在 PLAYDECK 中开始播放:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleUserInterface.html


2) 极简连接(支持 API)

本示例将介绍该 API:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleMinimalisticSDK.html

它使用了“WebSocketAPI”子文件夹,并包含其中的主脚本“AppInterface.js”,该脚本相当于整个API的“加载器”。.

现在,API 将自动处理您与 PLAYDECK 的 WebSocket 连接,因此您无需手动编写相关代码。该 API 还向 JavaScript 提供了模板框架。模板名称由文件名衍生而来,因此两者必须一致。 系统提供了若干预定义函数。在本示例中,我们仅使用“Start”函数:当与 PLAYDECK 的 WebSocket 连接成功建立后,API 将调用此函数。在本示例中,该函数将播放频道 1 的第一个片段。.


3) 更多框架功能

除了“Start”之外,还有许多其他框架函数可用:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SamplePlayRandomClip.html

有关所有可用函数的详细信息,请参阅 JS 文件中的注释。.

如果您打开浏览器控制台(通常按 F12 键),即可看到“console.log”语句的输出结果。.


4) 解析项目数据

要访问所有剪辑,可以使用“DataProject”函数,本示例演示了如何枚举项目数据:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleShowPlaylist.html


5) 自定义日程表示例

最后一个示例展示了一个完整的、可正常运行的脚本,用于在 PLAYDECK 外部进行自定义调度:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleWeeklySchedule.html