使用 Claude、Codex、Github Copilot 或其他编码 AI?
查看 mimoLive API 参考. .将其放入您最喜欢的人工智能编码代理中,即可正确使用 mimoLive API。.
一般
ǞǞǞ API,当启用时,可在 "http://localhost:8989/api/v1"。这是基础 URL 必须在每个方法前加上 URL 下面列出的。
如果一项资源是在最初推出的 HTTP API,该方法被标记为 已有 信息。
/
支持的方法:"争取"
重定向到"/documents "的开放文件列表。
/devices
支持的方法: “GET”
返回主机系统上当前可用设备(视频和音频)的列表。每个设备包括连接状态、类型标志,以及音频设备的可用输入通道。
/devices/(设备 ID)
支持的方法: "GET"
返回"(DeviceID) "指定的设备的详细信息,包括其名称和属性。
{
"type": "devices",
"id": "BuiltInMicrophoneDevice",
"attributes": {
"name": "MacBook Pro Microphone",
"connected": true,
"video": false,
"audio": true,
"device-type": "com.boinx.devicetype.avfoundation",
"tally-state": "off",
"input-channels": ["Ch. 1"]
}
}
The input-channels array lists the names of all available input channels on the audio device. Use these names when setting the channel-map on a source.
文件
查询文件
/documents
支持的方法:"争取"
结果是一个打开的文档列表。关于返回的对象包含哪些信息,请看文档的数据类型。
/documents/(DocumentID)
支持的方法:"争取”, "拨出"
返回由"(DocumentID)"指定的单个文档。在响应的包含部分,该文档使用的所有 "层 "对象和该文档包含的所有 "源 "对象也将被返回(侧向加载)。有关返回数据的更多信息,请参见文档数据类型。
PUT 可更新文档级属性,如节目输出主卷和节目元数据(标题、作者、分辨率、帧频、采样率等)。只发送您想更改的字段。.
/documents/(DocumentID)/programOut
支持的方法:"争取"
由"(DocumentID)"指定的文件当前产生的程序输出。
采取与源预览相同的参数。
文件行动
/documents/(DocumentID)/setLive
支持的方法:"争取""帖文"
启动一个节目/文件并触发所有相关的事件。在一个已经运行的文档上调用这个不会导致错误。更新的文档对象将被返回。
/documents/(DocumentID)/setOff
支持的方法:"争取""帖文"
停止一个节目/文件。在一个已经停止的节目上调用这个不会导致错误。更新的文档对象将被返回。
因为在你调用这个方法后,文档可以决定继续运行,返回的图层对象可能处于 "关闭 "而不是 "关闭 "状态。
/documents/(DocumentID)/toggleLive
支持的方法:"争取""帖文"
将一个节目/文件在直播和关闭之间切换。
分层
创建图层
POST /documents/(DocumentID)/layers
根据图层模板创建新图层,并将其插入文档的图层堆栈。通过图层标识符指定模板,并可选择设置图层在堆栈中的位置、名称和初始输入值。返回新创建的图层对象。
curl -X POST "http://localhost:8989/api/v1/documents/(DocumentID)/layers" \
-H "Content-Type: application/json" \
-d '{
"layer-identifier": "com.boinx.mimoLive.layer.lowerthird",
"index": 4,
"name": "My Lower Third"
}'
查询图层
GET /documents/(DocumentID)/layers
返回一个由"(DocumentID) "指定的文档的图层列表。关于返回的对象的信息,请看图层数据类型。
/documents/(DocumentID)/layers/(LayerID)。
支持的方法:"争取", "拨出"
返回由"(DocumentID) "指定的文件中由"(LayerID) "指定的单个图层。在响应的 "包含 "部分,所有与该层相关的 "变体 "对象也将被返回(侧向加载)。有关返回数据的更多信息,请参见图层数据类型。请记住,来自图层端点的 "输入值 "反映了相关 "liveVariant "变量的 "输入值"。
修改一个图层
支持的方法:"争取", "拨出"
要设置层的名称、音频音量或输入值,请执行"拨出"的请求,并有一个 JSON 编码的对象到层端点。或者,你可以使用一个"争取"的请求,加入 JSON 数据到 URL 钥匙为"?update="。在这种情况下,该 JSON 数据必须是 URL 编码。
你不想改变的值应该被简单地排除在 JSON 数据。例子:
{
"name": "New name of the Layer",
"volume": 0.5,
"input-values": {
"tvGroup_Content__Subtitle": "This is a Test"
}
}
更新数值后,mimoLive会以更新的图层对象回应。请记住,并不是所有的值都可以立即应用,或可能只有在另一个渲染周期后才会有效果。
注意:"音量 "属性是在mimoLive 5.6中添加的,在早期的版本中或如果该层没有音量控制,则会被忽略。值将被剪切到(0,1),其中0是无声,1是全音量。
删除图层
DELETE /documents/(DocumentID)/layers/(LayerID)
从文档中删除指定图层。成功时返回 204 无内容。如果图层是必需的演示图层,删除将被拒绝。.
图层操作
/documents/(DocumentID)/layers/(LayerID)/setLive
支持的方法:"争取""帖文"
激活一个图层,当直接在图层上调用这个功能时,将使用最后选择的图层变量。在一个已经激活的图层上调用这个命令不会导致错误。更新的图层对象将被返回。
/documents/(DocumentID)/layers/(LayerID)/setOff
支持的方法:"争取""帖文"
停用一个图层。在一个已经停用的图层上调用这个命令不会导致错误。更新的图层对象将被返回。
因为在你调用这个方法后,一个图层可以决定做一些动画,返回的图层对象可能处于 "关闭 "状态,而不是 "关闭"。
/documents/(DocumentID)/layers/(LayerID)/toggleLive
支持的方法:"争取""帖文"
在 "直播 "和 "关闭 "之间切换一个层。
/documents/(DocumentID)/layers/(LayerID)/signal/(SignalID)
支持的方法:"争取""帖文"
在当前的 "实时变量 "中,或者如果该层在 "活动变量 "中不是实时的,触发由"(SignalID)"指定的信号。你可以从图层的 "输入值 "字段(由键后缀"_TypeSignal "标识)中获得"(信号ID)"。
/documents/(DocumentID)/layers/(LayerID)/cycleThroughVariants
支持的方法:"争取""帖文"
可用的时间: mimoLive 5.6
选择层"(LayerID) "的当前活动变量之后的下一个变量,作为该层的新活动变量。这可以用来选择应该上线的变量(例如下三层的变量)。 下一个.
如果该层目前是活的,调用这个端点不会干扰你的表演。该效果只在之后该层被设置为直播时显示。
/documents/(DocumentID)/layers/(LayerID)/cycleThroughVariantsBackwards
支持的方法: "GET" "POST"
选择上一个变体(/cycleThroughVariants的反向),而不影响当前的实时状态。当图层或所选变体设置为实时时,效果将变得可见。
/documents/(DocumentID)/layers/(LayerID)/setLiveFirstVariant
支持的方法: "GET" "POST"
激活层的第一个变量并设置层的实时状态。
/documents/(DocumentID)/layers/(LayerID)/setLiveLastVariant
支持的方法: "GET" "POST"
激活层的最后变量并设置层的实时状态。
/documents/(DocumentID)/layers/(LayerID)/inputs/(SourceInputKey)/mediacontrol/(MediaControlCommand)
支持的方法: "GET" "POST"
向绑定到指定层的"(SourceInputKey) "输入的媒体发送媒体控制命令。请注意,输入的源会报告其支持哪些命令;请参阅/documents/(DocumentID)/sources/(SourceID)。
| 媒体控制指令 | 描述 |
| 游戏 | 开始媒体播放。 |
| 暂停 | 暂停当前播放,但不重置位置。 |
| 停止 | 停止播放并将媒体位置重置为起始位置。 |
| 反向 | 反向播放媒体。 |
| 倒转 | 向后移动播放速度,通常比正常速度快。 |
| 快进 | 快速向前播放。 |
| 跳过开始 | 跳转到媒体开头。 |
| 略过结束 | 跳转到媒体末端。 |
| 跳回 | 向后跳 10 秒钟。 |
| skipahead | 间隔 10 秒向前跳转。 |
| 记录 | 开始记录媒体输入。 |
| 洗牌 | 切换媒体项目的随机播放顺序。 |
| 复 | 重复当前媒体。 |
变体
查询变体
/documents/(DocumentID)/layers/(LayerID)/variants
支持的方法:"争取"
返回由"(LayerID) "指定的层和由"(DocumentID) "指定的文档的变体列表。关于返回的对象的信息,见 "variants "数据类型。
/documents/(DocumentID)/layers/(LayerID)/variants/(VariantID)。
支持的方法:"争取", "拨出"
返回由"(DocumentID) "指定的文件中由"(VariantID) "和"(LayerID) "指定的单一变体。有关返回数据的更多信息,请参见 "variants "数据类型。
修改一个变体
要设置变体的名称或输入值,请执行"拨出"的请求,并有一个 JSON 编码的对象到变体端点。你不想改变的值应该被简单地排除在 JSON 你"拨出".例子:
{
"name": "New name of the Variant",
"input-values": {
"tvGroup_Content__Subtitle": "This is a Test"
}
}
更新数值后,mimoLive会以更新的变体对象回应。请记住,并不是所有的值都可以立即应用,或可能只有在另一个渲染周期后才会有效果。
变体行动
/documents/(DocumentID)/layers/(LayerID)/variants/(VariantID)/setLive
支持的方法:"争取""帖文"
激活一个变体,如果拥有的层不是实时的,它也会被切换为实时的。在一个已经激活的变体上调用这个命令不会导致错误。更新的变体对象将被返回。
/documents/(DocumentID)/layers/(LayerID)/variants/(VariantID)/setOff
支持的方法:"争取""帖文"
停用一个变体。这也将导致拥有的层被关闭。
/documents/(DocumentID)/layers/(LayerID)/variants/(VariantID)/toggleLive
支持的方法:"争取""帖文"
在活体和非活体之间切换一个变体。
/documents/(DocumentID)/layers/(LayerID)/variants/(VariantID)/signals/(SignalID)
支持的方法:"争取""帖文"
触发变量上由"(SignalID)"指定的信号。你可以从层的 "输入值 "字段(由键的后缀"_TypeSignal "标识)获得"(SignalID)"。
资料来源
创建资源
POST /documents/(DocumentID)/sources
根据给定的源类型在文档中创建新源。通过 source-type 指定类型(例如 com.boinx.mimoLive.sources.deviceVideoSource),可选择提供显示名称和所有可通过 HTTP API 更新的参数。返回新创建的源对象。.
curl -X POST "http://localhost:8989/api/v1/documents/(DocumentID)/sources" \
-H "Content-Type: application/json" \
-d '{
"source-type": "com.boinx.mimoLive.sources.deviceVideoSource",
"name": "Main Camera"
}'
Valid source type identifiers:
| 源类型标识符 | 来源 |
| com.boinx.mimoLive.sources.webBrowserSource | 网络浏览器 |
| com.boinx.mimoLive.sources.screenCaptureSource | 屏幕捕捉 |
| com.boinx.mimoLive.sources.ffmpegSource | NDI / 视频采集 |
| com.boinx.mimoLive.sources.webRTCSource | 呼叫(mimoCall |
| com.boinx.mimoLive.sources.windowCaptureSource | 窗口捕捉 |
| com.boinx.mimoLive.sources.deviceAudioSource | 音频设备 |
| com.boinx.mimoLive.sources.deviceVideoSource | 视频和音频组合设备(摄像机) |
| com.boinx.mimoLive.sources.lastRecordingSource | 最后一次录音 |
| com.boinx.mimoLive.sources.zoomparticipant | 缩放参与者 |
| 以及更多... | |
查询来源
/documents/(DocumentID)/sources
支持的方法:"争取"
返回由"(DocumentID) "指定的文档的来源列表。关于返回的对象的信息,见 "sources layer "数据类型。
/documents/(DocumentID)/sources/(SourceID)。
支持的方法:"争取", "拨出"
在"(DocumentID) "指定的文档中返回由"(SourceID) "指定的单个源。在响应的包含部分,所有与该源相关的 "过滤器 "对象也将被返回(侧向加载)。有关返回数据的更多信息,请参见 "来源 "数据类型。
/documents/(DocumentID)/sources/(SourceID)/preview
支持的方法:"争取"
返回"(SourceID) "所指定的源在"(DocumentID) "所指定的文档中的图形预览。该端点支持以下参数:
| 参数 | 默认情况下 | 描述 |
|---|---|---|
| 格式 | 绘画 | 返回预览的格式。允许的值:png, jpeg, mjpeg, mpng |
| fps | 10 | 运动图像预览的帧速率。只适用于mjpeg和mpng格式。请注意,1帧大致相当于1%的 CPU 利用。 |
| 宽度 | (文件宽度) | 预览的最大宽度。图像将被缩小以适应给定的宽度。 |
| 高度 | (文件宽度) | 预览的最大高度。图像将被缩小以适应给定的高度。 |
/documents/(DocumentID)/sources/(SourceID)/mediacontrol/(MediaControlCommand)
支持的方法: "GET" "POST"
控制媒体功能源(如媒体文件/播放列表)的播放。支持的命令取决于源类型。请参阅 /documents/(DocumentID)/layers/(LayerID)/inputs/(SourceInputKey)/mediacontrol/(MediaControlCommand) 。
/documents/(DocumentID)/sources/(SourceID)/openwebbrowser
支持的方法: "GET"
如果源是网络浏览器捕获源,此操作将打开相应的网络浏览器窗口。
注意:保留此端点是为了向后兼容。新集成应使用通用操作端点:/documents/(DocumentID)/sources/(SourceID)/actions/openwebbrowser。
修改一个来源
要设置源的名称或输入值(只有当源有任何名称时,例如它是一个合成源),执行"拨出"的请求,并有一个 JSON 编码的对象到源端点。你不想改变的值应该被简单地排除在 JSON 你"拨出".例子:
{
"name": "New name of the Source",
"gain": 1.25,
"input-values": {
"tvGroup_Content__Subtitle": "This is a Test"
}
}
如果音源没有增益控制,增益(数字)属性将被忽略。该值将被削为 (0,2),其中 0 为静音,1 为默认值,2 约为音量的两倍。.
channel-map (数组) - 设置哪些设备输入通道映射到音源的左右声道。每个条目可以是
- A 字符串 - 设备的
输入通道例如."第 3 章") - 一个 整数 - 基于零的频道索引(例如.
2为第三个通道)
如果在设备上找不到任何通道名,更新将被静默忽略。.
# Set left channel to "Ch. 3" and right channel to "Ch. 4" (by name):
curl -X PUT "http://127.0.0.1:8989/api/v1/documents/{docID}/sources/{sourceID}" \
-H "Content-Type: application/json" \
-d '{"channel-map": ["Ch. 3", "Ch. 4"]}'
# Same thing using zero-based indices:
curl -X PUT "http://127.0.0.1:8989/api/v1/documents/{docID}/sources/{sourceID}" \
-H "Content-Type: application/json" \
-d '{"channel-map": [2, 3]}'
The video-device-id (string) and video-device-name (string) attributes select the video device of a camera/device source, by its unique identifier or by its display name respectively. The available identifiers and names are listed by the GET /api/v1/devices endpoint. Pass the special value none (case-insensitive) for either attribute to detach the video device, which is the equivalent of choosing "No Video Device" in the user interface. An unknown identifier or name leaves the current device unchanged.
The audio-device-id (string) and audio-device-name (string) attributes work the same way for the audio device of the source. Pass none to detach the audio device, equivalent to "No Audio Device" in the user interface.
Detach the video device:
curl -X PUT "http://127.0.0.1:8989/api/v1/documents/(DocumentID)/sources/(SourceID)" \
-d '{"video-device-id": "none"}'
断开音频设备连接:
curl -X PUT "http://127.0.0.1:8989/api/v1/documents/(DocumentID)/sources/(SourceID)" \
-d '{"audio-device-id": "none"}'
通过传入其标识符或名称,再次选择特定设备:
curl -X PUT "http://127.0.0.1:8989/api/v1/documents/(DocumentID)/sources/(SourceID)" \
-d '{"video-device-name": "Logitech StreamCam"}'
mimoCall 源属性
自: mimoLive 6.18 起可用
mimoCall 源(com.boinx.mimoLive.sources.webRTCSource)暴露了可通过 GET 读取和通过 PUT/PATCH 修改的附加属性:
| 属性 | 类型 | 描述 |
|---|---|---|
视频编解码器 | 字符串 | 首选视频编解码器: ”自动”, ”h264”或 ”vp9”. |
喜欢高质量音频 | 布尔 | 启用立体声并为高质量音频预留带宽 |
合作伙伴 | 反对 | mimoCall 合作伙伴看到的视频(见下文)。. |
伙伴听 | 反对 | mimoCall 合作伙伴听到的音频(见下文)。. |
可用行动 | 矩阵 | 可通过操作端点触发的操作(例如. [“重新连接”]). |
partner-sees 对象格式:</strong
| 类型 | JSON | 描述 |
|---|---|---|
| 程序输出 | {“类型”:“程序输出”} | 合作伙伴看到程序输出。. |
| 视频来源 | {“类型”:“源”,“源 ID”:“(SourceID)”} | 合作伙伴看到特定的视频源。. |
| 上层 | {“类型”:“层以上”,“层索引”:3} | 伙伴会看到给定索引上方的层堆栈。. |
| 无 | {“类型”:“无”} | 未向合作伙伴发送视频。. |
partner-hears 对象格式:</strong
| 类型 | JSON | 描述 |
|---|---|---|
| 混合-减去 | {“类型”:“混合-减号”} | 节目混音减去搭档自己的音频(默认值)。. |
| 主混音 | {“类型”:“主混音”} | 完整的母带混音. |
| 自定义混合 | {“类型”:“自定义混音”,“混音名称”:“音频混音 2”} | 指定的自定义音频混音。. |
| 独奏源 | {“类型”:“独奏-源”,“源 ID”:“(SourceID)”} | 音频仅来自单一音源。. |
例如 - 更改编解码器,合作伙伴会看到什么:
curl -X PATCH “http://localhost:8989/api/v1/documents/(DocumentID)/sources/(SourceID)” \
-H “Content-Type: application/json” \
-d '{“video-codec”: “h264”, “partner-sees”: {“type”: “program-output”}}'
删除源
DELETE /documents/(DocumentID)/sources/(SourceID)
从文档中删除指定来源。成功时返回 204 无内容。.
来源行动
/documents/(DocumentID)/sources/(SourceID)/signals/(SignalID)。
支持的方法:"争取""帖文"
触发信号源上的"(SignalID) "所指定的信号(只有当信号源有 "输入值 "时,例如它是一个合成源)。你可以从源的 "输入值 "字段(由键的后缀"_TypeSignal "标识)获得"(SignalID)"。
/documents/(DocumentID)/sources/(SourceID)/actions/(ActionName)
支持的方法: “GET”
自: mimoLive 6.18 起可用
触发源上的指定操作。可用的操作取决于源类型,并列在每个源对象的 available-actions 属性中。成功时返回更新后的源对象,如果不支持该操作或操作失败,则返回 “409 冲突”。.
例如
curl “http://localhost:8989/api/v1/documents/(DocumentID)/sources/(SourceID)/actions/reconnect”
按来源类型分列的可用操作:</strong
| 来源类型 | 行动名称 | 描述 |
|---|---|---|
mimoCall (com.boinx.mimoLive.sources.webRTCSource) | 重新连接 | 断开并重新连接 mimoCall 合作伙伴。. |
网络浏览器 (com.boinx.mimoLive.sources.webBrowserSource) | 打开网页浏览器 | 打开相应的网络浏览器窗口。. |
过滤器
查询过滤器
/documents/(DocumentID)/sources/(SourceID)/filters
支持的方法:"争取"
返回由"(SourceID) "指定的源和由"(DocumentID) "指定的文档的过滤器列表。关于返回的对象的信息,见 "过滤器 "数据类型。
/documents/(DocumentID)/sources/(SourceID)/filters/(FilterID)。
支持的方法:"争取", "拨出"
返回由"(FilterID) "和"(SourceID) "指定的文档中的单个过滤器。参见 "过滤器 "数据类型,以了解更多关于返回数据的信息。
修改一个过滤器
要设置输入值,请执行"拨出"的请求,并有一个 JSON 编码的对象到过滤器端点。你不想改变的值应该被简单地排除在 JSON 你"拨出".例子:
{
"input-values": {
"tvGroup_Content__Subtitle": "This is a Test"
}
}
/documents/(DocumentID)/sources/(SourceID)/filters/(FilterID)/signals/(SignalID)。
支持的方法:"争取""帖文"
触发过滤器上由"(SignalID)"指定的信号。你可以从过滤器的 "input-values "字段(由键的后缀"_TypeSignal "标识)获得"(SignalID)"。
输出目的地
创建输出目的地
POST /documents/(DocumentID)/output-destinations
在文档中创建一个新的输出目的地。通过 output-destination-type 指定类型,并通过索引设置位置和可通过 HTTP API 更新的参数。返回新创建的输出目标对象。.
输出目的地标识符 | 输出目的地 |
|---|---|
com.boinx.mimoLive.outputDestination.liveStreaming | 实时流媒体(RTMP 等) |
com.boinx.mimoLive.outputDestination.fileRecording | 文件记录 |
com.boinx.mimoLive.outputDestination.blackmagicDesign | 播放(Blackmagic SDI/HDMI) |
com.boinx.mimoLive.outputDestination.ndi | NDI 输出 |
com.boinx.mimoLive.outputDestination.fullscreen | 全屏输出 |
com.boinx.mimoLive.outputDestination.virtualCamera | 虚拟摄像机 |
com.boinx.mimoLive.outputDestination.mimoCall | 呼叫(mimoCall |
com.boinx.mimoLive.outputDestination.audioMonitor | 音频监控 |
com.boinx.mimoLive.outputDestination.imageSequence | 图像作家 |
com.boinx.mimoLive.outputDestination.fileUploader | 文件上传器 |
curl -X POST "http://localhost:8989/api/v1/documents/(DocumentID)/output-destinations" \
-H "Content-Type: application/json" \
-d '{
"output-destination-type": "com.boinx.mimoLive.outputDestination.fileRecording",
"index": 0
}'
查询输出目的地
/documents/(DocumentID)/output-destinations
支持的方法:"争取"
列出指定文档的所有输出目的地。
关于返回的对象的信息,请参见""output-destinations "数据类型":{TOPIC-链接+data-typesh1(}. section-output-destinations)。
/documents/(DocumentID)/output-destinations/(OutputDestinationID)。
支持的方法"GET
返回由"(OutputDestinationID)"指定的输出目的地。
关于返回的对象的信息,请参见""output-destinations "数据类型":{TOPIC-链接+data-typesh1(}. section-output-destinations)。
修改一个输出目的地
/documents/(DocumentID)/output-destinations/(OutputDestinationID)。
支持的方法:"PUT"、"PATCH"
更新由"(OutputDestinationID)"指定的输出目的地的选定属性。
返回最新的输出目的地。
以下属性是可以修改的:
- "标题"
- "开始-显示"
- "随同演出而停止"
- "设置 "对象的内容(见 设置说明.节-个人-设置)的更多信息)
更新说明必须在 JSON:API更新格式 .crud-updating)。例子:
{
"data": {
"type": "output-destinations",
"id": "4FF003EA-D071-43FD-845F-DCD4A25DFA00",
"attributes": {
"title": "Our Recording",
"starts-with-show": true,
"settings": {
"location": "~/Movies"
}
}
}
}
输出目的地行动
/documents/(DocumentID)/output-destinations/(OutputDestinationID)/setLive
支持的方法:"争取""帖文"
导致由"(OutputDestinationID) "指定的输出目的地上线,如果它被正确配置并允许上线(例如基于mimoLive许可状态)。
如果输出目的地能够上线,将返回具有新的 "上线状态 "的输出目的地,否则将返回 "409冲突 "错误。
因为输出目的地在直播前可能需要执行一些工作(例如,联系外部服务以创建直播流),返回的输出目的地对象可能处于 "启动 "状态,而不是 "直播 "状态。
/documents/(DocumentID)/output-destinations/(OutputDestinationID)/setOff
支持的方法:"争取""帖文"
导致由"(OutputDestinationID)"指定的输出目的地停止。
如果输出目的地被允许停止,则返回输出目的地,否则返回 "409冲突 "错误。
因为一个输出目的地可能需要在停止操作之前执行一些工作,返回的输出目的地可能处于 "关闭 "状态,而不是 "预览 "状态(这将是一个配置良好的输出目的地的默认状态)。
图层组
mimoLive 5.0 引入了图层集,允许同时设置多个图层的实时状态,从而为节目中的不同情况创建轻量级场景。.
创建图层集
POST /documents/(DocumentID)/layer-sets
在文档中创建一个新的图层集。图层集是保存的操作集合,在调用图层集时将应用于一个或多个图层。您可以为每个图层指定一个操作:“启用”(启用,可选择特定变体)、“关闭”(优雅关闭)或 “强制关闭”(立即关闭)。您还可以设置 "节目开始时调用 "和 "节目结束时调用",以便在节目开始或结束时自动调用图层集。返回新创建的图层集对象。.
curl -X POST "http://localhost:8989/api/v1/documents/(DocumentID)/layer-sets" \
-H "Content-Type: application/json" \
-d '{
"data": {
"attributes": {
"name": "Interview Scene",
"recall-on-show-start": false,
"recall-on-show-end": false,
"layers": [
{
"layer-id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"action": "live",
"variant": "edit-variant"
},
{
"layer-id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"action": "off"
},
{
"layer-id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"action": "force-off"
}
]
}
}
}'
查询图层集
/documents/(DocumentID)/layer-sets
支持的方法:"争取"
列出指定文档的所有图层集。
有关返回对象的信息,请参阅 “层集 ”数据类型”。.
/documents/(DocumentID)/layer-set/(LayerSetID)。
支持的方法"GET
返回由"(LayerSetID)"指定的图层集。
关于返回的对象的信息,见""layer-sets "数据类型":{TOPIC-链接+data-typesh1(}. section-layer-sets)。
修改图层集
/documents/(DocumentID)/layer-set/(LayerSetID)。
支持的方法:"PUT"、"PATCH"
更新现有图层集。您可以重新命名、更改其自动调用行为或替换其图层操作条目。只包含您要更改的属性。返回更新后的图层集对象。
curl -X PUT "http://localhost:8989/api/v1/documents/(DocumentID)/layer-sets/(LayerSetID)" \
-H "Content-Type: application/json" \
-d '{
"data": {
"attributes": {
"name": "Wide Shot Scene",
"layers": [
{
"layer-id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"action": "live",
"variant": "VVVVVVVV-VVVV-VVVV-VVVV-VVVVVVVVVVVV"
},
{
"layer-id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"action": "force-off"
}
]
}
}
}'
删除一个图层集
DELETE /documents/(DocumentID)/layer-sets/(LayerSetID)
从文档中永久删除指定图层集。成功时返回 204 无内容。.
图层集操作
/documents/(DocumentID)/layer-set/(LayerSetID)/recall
支持的方法:"争取""帖文"
调用(激活)由"(LayerSetID)"指定的图层集,使所有图层承担记录在图层集中的实时状态。
返回召回后的图层集,即 "active == true"。
数据存储
/documents/(DocumentID)/datastores/(StoreID)。
支持的方法:"争取", "拨出", "DELETE"
mimoLive提供了将你提供的数据储存在文件文件内的能力,例如在以后的时间恢复一个状态。你可以自己选择一个 "StoreID",但要注意没有办法列出所有与文件相关的数据存储(不过,你可以创建某种形式的 指数 存储器,用于跟踪你的其他动态命名的存储器)。
创建/更新一个数据存储
要创建或更新一个数据存储,请发送一个"拨出"请求到您选择的 "StoreID",并在您的请求正文中提供相关数据。如果操作成功,mimoLive会以 "200 OK "状态回应。
读取一个数据存储的内容
要读取一个先前存储的数据存储,只需通过""请求即可。争取".数据将完全按照你在""中提供的内容返回。拨出"请求来存储它。如果没有找到这个文件的ID的数据存储,mimoLive将返回一个 "404 Not Found "错误。
删除一个现有的数据存储
当你不再需要一个数据存储时,要删除它,只需发出一个"DELETE"你想删除的 "StoreID" 的请求。如果数据商店一开始就不存在,mimoLive会回应 "404 Not Found "错误。
Zoom 会议
这些端点可控制 mimoLive 内置的 Zoom 客户端集成。
/zoom/join
支持的方法: "GET" "POST"
加入 Zoom 会议。典型参数(对于 POST,以 JSON body 发送;对于 GET,以 ?param=value 发送):
| 参数 | 价值类型 | 描述 |
meetingid | 字符串 | Zoom 会议编号(如果要加入 mimoLive 演示会议,请使用 “演示会议 ID) |
通过码 | 字符串,可选 | 会议密码 |
网络会议令牌 | 字符串,可选 | 如果您想参加网络研讨会,您需要提供网络研讨会令牌 |
显示名称 | 字符串, 可选 | 将出现在会议上的姓名 |
放大帐户名 | 字符串 | mimoLive Zoom 帐户设置中显示的 Zoom 帐户名称 |
| 虚拟摄像机 | 字符串,可选 | 设置为 “true ”时,mimoLive 会将节目作为视频馈送发送到 Zoom |
返回一个状态对象,表示连接进度或成功。
/zoom/leave
支持的方法: "GET" "POST"
离开当前加入的会议。返回状态对象。
/zoom/end
支持的方法: "GET" "POST"
尝试结束/终止当前 Zoom 会议(仅主机操作)。如果会议已结束,则返回成功;如果客户端没有权限,则返回冲突。
/zoom/participants
支持的方法: "GET" "POST"
返回已加入会议的当前与会者列表(姓名、ID 和基本状态)。
| 值键 | 价值类型 | 描述 |
| 名称 | 字符串 | Zoom 参与者姓名 |
| 本我 | 整数 | Zoom 参与者的用户 ID |
| 用户角色 | 字符串 | |
| 是主机 | Bool | 如果用户是会议主持人,则为 true |
| isCoHost | Bool | 如果用户是会议的共同主持人,则为 true |
| isVideoOn | Bool | 如果用户已启用视频功能,则为 true |
| isAudioOn | Bool | 如果用户已启用音频,则为 true |
| isTalking | Bool | 如果用户当前正在通话,则为 true |
| isRaisingHand | Bool | 如果用户当前正在松手,则为 true |
/zoom/meetingaction
执行会议范围内的操作。通过 JSON 主体或查询字符串提供 action 和可选参数。
| 参数 | 价值类型 | 描述 |
| 指挥部 | 字符串 | 从以下列表中选择一条命令 |
| 用户名 | 字符串,可选 | 某些命令需要用户 ID |
| 屏幕类型 | 字符串,可选 | 某些命令需要输入屏幕类型 |
| 指挥 | 描述 |
| 请求录音许可 | 发送本地录音许可申请。 |
| 静音视频 | 将用户的视频静音。(需要 userid 参数) |
| 静音视频 | 解除用户视频的静音。(需要 userid 参数) |
| 静音 | 将用户的音频静音。(需要 userid 参数) |
| 静音 | 取消用户音频的静音。(需要 userid 参数) |
| 启用自行静音 | 启用用户在静音时可自行取消静音的功能,该功能仅适用于主机/共同主机。 |
| 禁用自行静音 | 禁用用户在静音时无法自行取消静音的功能,该功能仅适用于主机/共同主机。 |
| 全部静音 | 将会议中的所有与会者静音,只有主持人/共同主持人可以使用。 |
| 全部静音 | 取消会议中所有与会者的静音,只有主持人/共同主持人可以使用。 |
| 锁定会议 | 锁定会议,只有主持人/共同主持人可以使用。一旦锁定,新与会者就不能再加入。 |
| 解锁会议 | 解锁会议,只有东道主/共同东道主才能使用。 |
| 降低所有手数 | 将所有参与者的手放下,只有主持人/共同主持人可以使用。 |
| 共享合适的窗口模式 | 调整显示大小以适应窗口。 |
| 暂停共享 | 暂停分享。 |
| 简历共享 | 简历共享。 |
| 加入语音 | 通过网络电话参加会议 |
| 离开语音信箱 | 从会议中断开网络电话。 |
| 允许参与者聊天 | 启用用户可以相互聊天的功能。 |
| 禁止参与者聊天 | 禁用用户之间的聊天功能。 |
| 允许参与者共享 | 启用用户共享屏幕的功能。 |
| 禁止参与者共享 | 禁用用户共享屏幕的功能。 |
| 允许与会者开始观看视频 | 启用用户启动视频的功能。 |
| 禁止参与者开始视频 | 禁用用户启动视频的功能。 |
| 允许与会者共享白板 | 启用用户共享白板的功能。 |
| 禁止与会者共享白板 | 禁用用户共享白板的功能。 |
| 启用自动允许本地录音请求 | 启用自动接受用户录音请求的功能。 |
| 禁用自动允许本地录音请求 | 禁用自动接受用户录音请求的功能。 |
| 允许对参与者进行重命名 | 启用用户可以重新命名自己的功能。 |
| 禁止对参与者进行重命名 | 禁用用户可以重新命名自己的功能。 |
| 显示参赛者简介图片 | 打开显示参与者资料图片的选项。 |
| 隐藏参赛者简介图片 | 关闭显示参与者个人资料图片的选项。 |
使用示例
mimoLive HTTP API 的这些端点可以多种方式使用。请参阅 API 使用示例 部分了解更多信息。