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请求仍然可以被设备响应。