1. 主页
  2. 文档
  3. NDI 设备 HTTP API(Version 1.0)
  4. 3. 编码和解码模式的状态及切换

3. 编码和解码模式的状态及切换

Module name: mode

Basic URL: /api/v1/mode/

某些NDI设备同时具备Encoder和Decoder的能力(例如Connect Spark IO),您可以在这两者之间进行切换。但是Connect Spark Plus / TCMI4KUHD 只有Encoder的能力,在这种情况下,模式切换将不起作用。

获取当前编码/解码工作模式


API URL

**/api/v1/mode/get**

Request

Method: **GET/POST**

Parameters: NONE

Response

Example:

{
    "result": "ok",
    "data": {
        "mode": "encoder" /*Or "decoder"*/
    }
}

Data字段说明:

Field Value 说明
mode [STRING] "encoder""decoder"
返回 "encoder"表示设备工作在Encoder模式;"decoder"表示设备工作在Decoder模式

切换编码/解码工作模式


API URL

**/api/v1/mode/switch**

Request

Method: **GET/POST**
参数 Value 说明
mode [STRING] , Required "encoder" 或 "decoder"
指定要切换到encoder或decoder模式。

Response

Example:

{
    "result": "ok"
}

如果切换失败,参见HTTP响应和错误处理中关于错误消息的描述。

注意:如果某些设备型号不支持encoder/decoder模式切换,本操作将不起作用,并返回相应的错误消息。切换Encoder/Decoder模式需要等待较长的时间,因此,如果您需要特别处理HTTP请求/响应的超时,请注意该请求的执行时间最长可能需要5秒。所以您需要特别设置该API的请求超时,以免因为过短的超时而导致API请求意外失败。如果您需要完全确认Encoder/Decoder模式是否正常工作,即使调用本API切换成功返回后,您还需要进一步尝试调用 /api/v1/mode/status 来确认NDI Device的工作状态。这里之所以看上去这么奇怪,是因为Encoder/Decoder模式的切换需要设备内部执行一次快速的Reboot动作。

查询编码/解码模式是否就绪


当您执行了 Encoder/Decoder 模式的切换操作后,由于设备内部执行了一次快速的Reboot动作,如果您需要确认切换的模式是否正常进入工作状态,你可能需要周期性地持续调用本API,直到返回的结果告诉您它已经进入工作模式为止。通常,从切换到进入工作状态,它可能需要10~15秒。

您不必担心,您当前的Session ID和Authorization Token在切换编码/解码模式、设备内部执行快速Reboot后,它们仍然有效。

API URL

**/api/v1/mode/status**

Request

Method: **GET/POST**

Parameters: NONE

Response

如果编码/解码模式工作就绪,将返回:

{
    "result": "ok",
    "data": {
        "mode": "encoder", /*Or "decoder"*/
        "status": "ready"
    }
}

如果模式尚未处于就绪状态,将返回错误:

{
    "result": "error",
    "reason": "not-ready",
    "msg": "...error message..."
}

请注意:"reason": "not-ready" 不是任何时候都可能存在。简单地说,如果设备正在执行内部的Reboot过程中、出现程序临时性地无法访问时,"reason"字段将不会存在。但是,即使是Reboot的过程中,您的HTTP请求仍然可以被设备响应。

我们要如何帮助您?