我们的NDI解码设备有一个非常实用的功能:Preset。Preset所表示的意义是:您可以将发现的NDI Source添加到由 1 ~ 9 所代表的9个Presets中,这是您的"收藏夹(Favorites)"。当您需要快速选择添加在Preset中的NDI Source进行解码时,您只需要指定Preset的ID (1~9)即可。
Preset可以为我们的NDI解码设备带来一些额外的功能优势,比如我们会在将来支持外接物理键盘,通过按键盘上的 1~9 数字键来完成快速切换。
NDI解码设备上还有一个特殊的Preset – 0。这个Preset代表的意义为Blank,用于为屏幕填充一个可自定义的颜色。
Module name: decoder/preset
Basic URL: /api/v1/decoder/preset/
文章目录
获得当前的Preset列表和状态
API URL
**/api/v1/decoder/preset/status**
Request
Method: **GET/POST**
Parameters: NONE
Response
Example:
{
"result": "ok",
"data": [
{
"id": "1",
"enable": 1, /*or 0*/
"group": "public",
"name": "Spark_IO-1916001002 (Channel 1)",
"device_name": "Spark_IO-1916001002",
"channel_name": "Channel 1",
"url": "192.168.100.168:5961",
"ip": "192.168.100.168",
"online": "on", /*or "off"*/
"current": true /*or false*/
},
/*...*/
{
"id": "0",
"current": true, /*or false*/
"color": "#000000"
}
],
"data_size": 10
}
Data字段说明:
"data"是一个JSON数组,"data_size"是一个辅助描述"data"数组大小的字段(也许你用不上它)。
数组中的每一个item代表一个Preset:
Field | Value | 说明 |
---|---|---|
id | [STRING] | 1 ~ 9 代表常规的NDI Source Preset;0 代表Blank |
enable | [INT] | 1: 这个Preset有定义 0: 这个Preset没有定义NDI Source;在这种情况下,所有后续的字段都没有意义 |
group | [STRING] | Preset所定义的NDI Source的Group name |
name | [STRING] | Preset所定义的NDI Source的名称 |
device_name | [STRING] | 从 name 字段中提取出来的NDI Source的Device Name |
channel_name | [STRING] | 从name 字段中提取出来的NDI Source的Channel Name |
url | [STRING] | NDI Source的原始URL |
ip | [STRING] | 从url 字段中提出来的NDI Source的IP地址 |
online | [STRING] | 根据网络NDI发现的结果,检测出这个Preset所定义的NDI Source的在线状态: on: 当前NDI Source在线(可被发现) off: 当前NDI Source不在线(不能发现) 请注意: online状态是由NDI Discovery的结果而决定的,并不代表NDI Source是否可以连接和获取视频数据。所以,它只提供参考意义,不能作为设备确定在线的依据。 |
current | [BOOLEAN] | true: 这个Preset是当前正在解码的NDI Source false: 这个Preset不是正在解码的NDI Source |
color | [STRING] | 仅对于id = "0" 有效。 对于Preset 0 (Blank),它不包括 enable , group , name , device_name , channel_name , url , ip , online 这些字段,而返回 color 代表当前的Blank填充颜色。具体格式请参见定义Preset 0 (Blank)的颜色 /api/v1/decoder/preset/set_blank 中的描述。 |
添加NDI Source到一个指定的Preset
API URL
**/api/v1/decoder/preset/add**
Request
Method: **GET/POST**
Parameter | Value | 说明 |
---|---|---|
id | [STRING], Required | 指定Preset ID,有效范围 1 ~ 9 |
name | [STRING], Required | NDI Source Name,您可以通过 API /api/v1/decoder/discovery/get 获取发现的NDI Sources列表,并从中提取name字段 |
url | [STRING], Required | NDI Source原始的URL,您可以通过 API /api/v1/decoder/discovery/get 获取发现的NDI Sources列表,并从中提取url字段 |
group | [STRING], Optional | NDI Source所在的NDI group name。 这个参数是可选的。但如果您能通过 API /api/v1/decoder/discovery/get 获取并从中提取group字段,作为参数传递进来,将最好不过。 |
请注意:如果您指定的Preset ID原先已有NDI Source定义,那么新添加的NDI Source将会覆盖老的定义。
Response
Example:
{
"result": "ok"
}
如果添加成功,将返回 result = "ok" 的消息;否则请参见HTTP响应和错误处理 的标准错误消息描述。
移除Preset的NDI Source定义
API URL
**/api/v1/decoder/preset/remove**
Request
Method: **GET/POST**
Parameter | Value | 说明 |
---|---|---|
id | [STRING], Required | 指定要移除的Preset ID,有效范围 1 ~ 9 |
Response
Example:
{
"result": "ok"
}
如果移除成功,将返回 result = "ok" 的消息;否则请参见HTTP响应和错误处理的标准错误消息描述。
定义Preset 0 (Blank)的颜色
API URL
**/api/v1/decoder/preset/set_blank**
Request
Method: **GET/POST**
Parameter | Value | 说明 |
---|---|---|
color | [STRING], Required | 指定Preset 0 (Blank)的颜色。颜色的描述格式与HTML中对颜色的描述是保持一致的,即: 1. 使用RGBA色彩 2. 以#开头、十六进制分别描述R、G、B和A 我们常见的色彩描述形式: 请注意:目前的版本不支持Alpha功能。 |
Response
Example:
{
"result": "ok"
}
如果设置成功,将返回 result = "ok" 的消息;否则请参见HTTP响应和错误处理 的标准错误消息描述。