介绍
本文通过对该中控控制API指令的功能说明和语法的详细介绍,使阅读人员能够快速了解中控控制模块的相关功能,并能指导开发人员完成后续的开发编码工作。能够根据说明完成与yealink VCS 产品的网络模式的控制主机的开发。
快速入门
网络模式配置
设备支持网络模式对主机设备进行控制,采用TCP协议建立连接,客户端需要知道主机的ip地址和端口号才能连接主机端。
以下是网络模式需要配置的参数:
CT200/CT300的Socket模式的控制端口配置为:6024
IP地址可以根据实际情况填写即可
密码鉴权
如果CT200/CT300的Socket模式开启了密码鉴权,通过TCP协议建立连接时,需要输入密码并鉴权通过后,才能正常执行中控指令。输入密码格式为 "XXXX\r\n" ,其中XXXX为正确的密码。
例如:建立TCP连接后,收到"Password:\r\n"信息,即提示需要输入鉴权密码。
当前输入错误的密码,连接会返回"Invalid Password!\r\nPassword:\r\n",提示需要重新输入密码进行鉴权。
只要输入正确的密码,连接会返回"welcome yealink centralcontrol"。
API指令
基本语法说明
本介绍设备中控API指令说明文件,为了便于说明API指令语法,对API书写的格式做如下声明与约定:
指令单词均为小写
指令基本结构:命令+参数
参数组成:参数名+参数值,以 (:) 号分隔,指令参数同HTTP API格式,以json字串形式传输
存在部分特殊参数使用 key:value 的形式进行传参。
基本数据包格式说明
发送格式说明: 采用\r\n (回车换行符)作为结束标识符,所有API 指令发送最后都需要加入\r\n结束的标识符
返回格式说明:采用\r\n作为结束标识符,所有返回包都会带有\r\n的结束标识符
指令基本格式:
Command + \r\n(无参数类型)
Command + 空格 + json字符串 + \r\n(带参数类型)
Command + 空格 + key:value + \r\n(带关键信息)
Command + 空格 + key:value + 空格 + json字符串 + \r\n(带参数及关键信息)
基础API
获取设备信息列表
指令
system get devices
返回参数
参数
数据类型
描述
id
String
设备UUID
name
String
设备名称
model
String
设备型号
type
String
设备类型
Encoder
Decoder
ipAddress
String
设备IP地址
macAddress
String
macAddress
status
String
设备状态
Online
Offline
发送示例
system get devices\r\n
返回示例
system get devices {"data":{"list":[{"createTime":1770195884834,"deviceId":5,"firmwareVersion":"316.435.254.103","groupId":"CONTROL_DEFAULT_DEVICE_GROUP","id":"EN300_44dbd2dde825","ipAddress":"10.57.20.69","macAddress":"44DBD2DDE825","model":"EN300","modifyTime":1770195884834,"name":"EN300-DDE825","status":"Offline","tag":"","type":"Encoder"},{"createTime":1770889453212,"deviceId":9,"firmwareVersion":"343.435.254.68","groupId":"CONTROL_DEFAULT_DEVICE_GROUP","id":"DE300_44dbd2dde614","ipAddress":"10.57.20.45","macAddress":"44DBD2DDE614","model":"DE300","modifyTime":1770889453212,"name":"DE300-DDE614","status":"Offline","tag":"DE300-TV-1","type":"Decoder"}]},"error":null,"ret":1}
设置音视频路由
指令
set audio and video routing
请求参数
参数
参数类型
数据类型
是否必需
描述
transmitterMac
Body
String
是
发送端的MAC地址
receiverMac
Body
String
是
接收端的MAC地址
signal
Body
String
是
路由信号
Audio/Video
Video
Audio
action
Body
String
是
区分signal操作是开启还是关闭。
open
close
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>=0
发送示例
set audio and video routing {"transmitterMac":"44DBD2DDE744","receiverMac":"44DBD2CAD485","signal":"Audio/Video","action":"open"}\r\n
返回示例
set audio and video routing {"data":null,"error":null,"ret":0}\r\n
获取音视频路由状态
指令
get audio and video routing info
返回参数
参数
数据类型
描述
groupId
String
分组ID
transmitterMac
String
发送端的MAC地址
receiverMac
String
接收端的MAC地址
signal
String
路由信号
Audio/Video
Video
Audio
发送示例
get audio and video routing info\r\n
返回示例
get audio and video routing info {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","routing":[]},"error":null,"ret":1}\r\n
获取音视频预置路由列表
指令
get audio and video matrix preset list
返回参数
参数
数据类型
描述
groupId
String
分组ID
presetId
String
路由ID
name
String
路由名称
enable
Integer
是否应用
0-未应用
1-应用
发送示例
get audio and video matrix preset list\r\n
返回示例
get audio and video matrix preset list {"data":{"presetList":[]},"error":null,"ret":1}\r\n
调用音视频预置路由
指令
apply audio and video matrix preset
请求参数
参数
参数类型
数据类型
是否必需
描述
presetId
Body
String
是
路由ID
返回参数
参数
数据类型
描述
presetId
String
路由ID
发送示例
apply audio and video matrix preset {"presetId":"9af5249f-45dd-b71d-d59c-e7a0d58c1824"}\r\n
返回示例
apply audio and video matrix preset {"ret":1,"data":{"presetId":"1e65020e-6064-9bd0-1d6b-8de77400c884"},"error":null}\r\n
设置USB路由(包含取消路由)
指令
set usb routing
请求参数
参数
参数类型
数据类型
是否必需
描述
mode
Body
String
是
usb路由模式: Manual
routing
Body
Array
是
路由列表
transmitterMac
Body
String
是
传输器MAC地址
transmitterIp
Body
String
是
传输器IP地址
receiverMac
Body
String
是
接收器MAC地址
receiverIp
Body
String
是
接收器IP地址
signal
Body
String
是
信号类型
Audio/Video
None (取消路由)
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>0
发送示例
set usb routing {"mode":"Manual","routing":[{"transmitterMac":"2458122467125568","transmitterIp":"10.60.26.16","receiverMac":"5468124591324158","receiverIp":"10.60.26.17","signal":"Audio/Video"}]}\r\n
返回示例
set usb routing {"ret":0,"data":null,"error":null}\r\n
获取USB路由列表
指令
get usb routing list
返回参数
参数
数据类型
描述
groupId
String
分组ID
mode
String
usb路由模式: Manual
routing
Array
路由列表
transmitterMac
String
传输器MAC地址
receiverMac
String
接收器MAC地址
发送示例
get usb routing list\r\n
返回示例
get usb routing list {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","mode":"Manual","routing":[]},"error":null,"ret":1}\r\n
获取自动路由列表
指令
get auto routing list
返回参数
参数
数据类型
描述
groupId
String
分组ID
autoId
String
自动路由组ID
name
String
路由名称
enable
Integer
是否应用
0 - 未应用
1 - 应用
发送示例
get auto routing list\r\n
返回示例
get auto routing list {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","presetList":[{"autoId":"1a99bc39-07f7-11f1-9b41-e08b94b34d19","createTime":1772264772182,"enable":1,"modifyTime":1772264772182,"name":"Auto DE300-TV-1","routing":[{"enable":0,"receiverId":"DE300_44dbd2dde614","receiverIp":"","receiverMac":"44DBD2DDE614","receiverName":"DE300-1","receiverType":"decoder","transmitterId":"","transmitterIp":"","transmitterMac":"","transmitterName":"EN300-1","transmitterType":"encoder"}]}]},"error":null,"ret":1}\r\n
启动自动路由
指令
enable auto routing
请求参数
参数
参数类型
数据类型
是否必需
描述
autoId
Body
String
是
自动路由组ID
返回参数
参数
数据类型
描述
autoId
String
自动路由组ID
发送示例
enable auto routing {"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"}\r\n
返回示例
enable auto routing {"ret":1,"data":{"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"},"error":null}\r\n
关闭自动路由
指令
disable auto routing
请求参数
参数
参数类型
数据类型
是否必需
描述
autoId
Body
String
是
自动路由组ID
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>0
发送示例
disable auto routing {"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"}\r\n
返回示例
disable auto routing {"ret":0,"data":null,"error":null}\r\n
编解码器API
设置编解码器视频矩阵配置
指令
set video matrix
请求参数
参数
参数类型
数据类型
是否必需
描述
batchConfig
Body
Object
否
批量配置参数
batchList
Body
Array
否
批量配置的设备UUID列表
singleList
Body
Array
否
单台配置参数列表
model
Body
String
是
设备类型
mac
Body
String
是
设备mac地址
ENCODER
lanOut
Body
String
是
LAN out输出视频源,默认为usb-c
lanOutSwitching
Body
String
是
LAN out自动转换的开关
1-开启
0-关闭
loopOut
Body
String
是
Loop out输出视频源,默认为usb-c
loopOutSwitching
Body
String
是
Loop out自动转换的开关
1-开启
0-关闭
DECODER
autoSwitching
Body
Integer
是
功能自动切换的开关
1-开启
0-关闭
hdmiOut
Body
String
是
可选:
none
hdmi input1
lan in
videoCaptureOut
Body
String
是
可选:
none
hdmi input1
lan in
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>0
发送示例
set video matrix {"singleList":[{"model":"EN300","mac":"44DBD2CE2D06","lanOut":"usb-c","lanOutSwitching":1,"loopOut":"usb-c","loopOutSwitching":1}]}\r\n
返回示例
set video matrix {"ret":0,"data":null,"error":null}\r\n
获取编解码器视频矩阵配置
指令
get video matrix info
请求参数
参数
参数类型
数据类型
是否必需
描述
list
Body
Array
是
设备UUID列表
model
Body
String
是
设备型号
mac
Body
String
是
设备mac地址
返回参数
参数
数据类型
描述
reqFinish
Integer
请求是否结束标志
1-停止请求
0-继续请求
id
String
设备UUID
type
String
设备类型
encoder-编码器
decoder-解码器
name
String
设备名
model
String
设备型号
ENCODER
lanOut
String
LAN out输出视频源,默认为usb-c
lanOutSwitching
String
LAN out自动转换的开关
1-开启
0-关闭
loopOut
String
Loop out输出视频源,默认为usb-c
loopOutSwitching
String
Loop out自动转换的开关
1-开启
0-关闭
DECODER
autoSwitching
Integer
功能自动切换的开关
1-开启
0-关闭
hdmiOut
String
可选
none
hdmi input1
lan in
videoCaptureOut
String
可选
none
hdmi input1
lan in
发送示例
get video matrix info {"list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
get video matrix info {"ret":1,"data":{"reqFinish":1,"list":[{"id":"EN300_44dbd2dde744","type":"encoder","name":"VP59","model":"VP59","lanOut":"usb-c","lanOutSwitching":1,"loopOut":"usb-c","loopOutSwitching":1}]},"error":null}\r\n
设置编解码器USB配置
指令
set usb
请求参数
参数
参数类型
数据类型
是否必需
描述
usbMode
Body
String
是
USB信号模式
transmitter
receiver
usbSwitch
Body
String
是
本地USB Switch模式
follow_video
manual
usbHost
Body
String
是
手动manual模式下选择
usb_host1
usb_host2
usb_c
list
Body
Array
是
设备UUID列表
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>0
发送示例
set usb {"usbMode":"transmitter","usbSwitch":"manual","usbHost":"usb_c","list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
set usb {"ret":0,"data":null,"error":null}\r\n
获取编解码器USB配置
指令
get usb info
请求参数
参数
参数类型
数据类型
是否必需
描述
model
Path
String
是
设备型号
mac
Path
String
是
设备Mac地址
返回参数
参数
数据类型
描述
usbMode
String
USB信号模式
transmitter
receiver
usbSwitch
String
本地USB Switch模式
follow_video
manual
usbHost
String
手动manual模式下选择,
usb_host1
usb_host2
usb_c
发送示例
get usb info model:EN300 mac:44DBD2DDE744\r\n
返回示例
get usb info {"ret":1,"data":{"usbMode":"transmitter","usbSwitch":"manual","usbHost":"usb_c"},"error":null}\r\n
设置编解码器Audio配置
指令
devices set audio
请求参数
参数
参数类型
数据类型
是否必需
描述
batchConfig
Body
Object
否
批量配置参数
batchList
Body
Array
否
批量配置的设备UUID列表
singleList
Body
Array
No
单台配置参数列表
model
Body
String
是
设备类型
mac
Body
String
是
设备mac地址
analogAudioOut
Body
Integer
是
HDMI Out音频输出开关
1-开启
0-关闭
audioOutVolume
Body
String
是
音频输出音量,0-100
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>0
发送示例
devices set audio {"singleList":[{"model":"EN300","mac":"44DBD2DDE744","analogAudioOut":1,"audioOutVolume":80}]}\r\n
返回示例
devices set audio {"ret":0,"data":null,"error":null}\r\n
获取编解码器Audio配置
指令
get audio config info
请求参数
参数
参数类型
数据类型
是否必需
描述
list
Body
Array
是
设备列表
model
Body
String
是
设备型号
mac
Body
String
是
设备mac地址
返回参数
参数
数据类型
描述
reqFinish
Integer
请求是否结束标志
1-停止请求
0-继续请求
id
String
设备UUID
type
String
设备类型
encoder-编码器
decoder-解码器
name
String
设备名
model
String
设备型号
analogAudioOut
Integer
HDMI Out音频输出开关
1-开启
0-关闭
audioOutVolume
Integer
音频输出音量,0-100
发送示例
get audio config info {"list":[{"model":"DE300","mac":"249AD85A5BE2"}]}\r\n
返回示例
get audio config info {"ret":1,"data":{"reqFinish":1,"list":[{"id":"DE300_249ad85a5be2","type":"decoder","name":"VP59","model":"VP59","analogAudioOut":1,"audioOutVolume":80}]},"error":null}\r\n
调试编解码器显示控制
指令
devices set advanced display control test
请求参数
参数
参数类型
数据类型
是否必需
描述
controlType
Body
String
是
控制类型,默认CEC
Off
CEC
RS232
IR
commandType
Body
String
是
命令类型
hex
ascii
commandString
Body
String
是
命令字符串
serial
Body
String
是
RS232串口的配置,如果当前controlType不是RS232,则不用传
- baudRate
Body
Integer
是
波特率,默认9600
300
600
1200
2400
4800
9600
19200
38400
57600
115200
- dataBits
Body
Integer
是
数据位,7-8
- parity
Body
String
是
校验位
none
odd
even
- stopBits
Body
Integer
是
停止位,1-2
- flowControl
Body
String
是
控制流
none
dtr_dsr
rts_cts
xon_xoff
list
Body
Array
是
设备列表
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>=0
发送示例
devices set advanced display control test {"controlType":"RS232","commandType":"hex","commandString":"xxxxxxxxxxx","serial":{"baudRate":9600,"dataBits":8,"parity":"none","stopBits":1,"flowControl":"none"},"list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
devices set advanced display control test {"ret":0,"data":null,"error":null}\r\n
界面设计API
预设动作集列表查询
指令
ctrl get macros page
请求参数
参数
参数类型
数据类型
是否必需
描述
skip
Body
Int
是
跳过的数据条数
limit
Body
Int
是
限制显示的数据条数
返回参数
参数
数据类型
描述
total
Int
数据总数
id
String
预设动作集ID
name
String
预设动作集名称
发送示例
ctrl get macros page {"skip":0,"limit":50}\r\n
返回示例
ctrl get macros page {"data":{"limit":50,"list":[{"id":"1a99bc3a-07f7-11f1-9b41-e08b94b34d19","name":"Room1 Latest Input Source"}],"skip":0,"spaceId":"13e571ef-07f7-11f1-9b41-e08b94b34d19","total":1},"error":null,"ret":1}\r\n
自动化列表查询
指令
ctrl get monitors page
请求参数
参数
参数类型
数据类型
是否必需
描述
skip
Body
Int
是
跳过的数据条数
limit
Body
Int
是
限制显示的数据条数
返回参数
参数
数据类型
描述
total
Int
数据总数
id
String
自动化ID
name
String
自动化名称
enable
Boolean
启用状态
发送示例
ctrl get monitors page {"skip":0,"limit":50}\r\n
返回示例
ctrl get monitors page {"ret":1,"data":{"skip":0,"limit":50,"spaceId":"04cc5185-d823-497b-97ae-dc1d934bd6f0","total":1,"list":[{"id":"6a670bb3-65b1-44c0-ba90-d63f733aa188","name":"Monitorname1","enable":true}]},"error":null}\r\n
自动路由列表查询
指令
ctrl get auto routings page
请求参数
参数
参数类型
数据类型
是否必需
描述
skip
Body
Int
是
跳过的数据条数
limit
Body
Int
是
限制显示的数据条数
返回参数
参数
数据类型
描述
total
Int
数据总数
id
String
自动路由ID
name
String
自动路由名称
enable
Boolean
启用状态
发送示例
ctrl get auto routings page {"skip":0,"limit":50}\r\n
返回示例
ctrl get auto routings page {"ret":1,"data":{"skip":0,"limit":50,"spaceId":"04cc5185-d823-497b-97ae-dc1d934bd6f0","total":1,"list":[{"id":"6a670bb3-65b1-44c0-ba90-d63f733aa188","name":"AutoRouting name 1","enable":true}]},"error":null}\r\n
调用预设动作集
指令
ctrl set macro invoke
请求参数
参数
参数类型
数据类型
是否必需
描述
macroId
Body
String
是
预设动作集ID
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>=0
发送示例
ctrl set macro invoke {"macroId":"1a99bc3a-07f7-11f1-9b41-e08b94b34d19"}\r\n
返回示例
ctrl set macro invoke
禁用/启用自动化
指令
ctrl set monitor
请求参数
参数
参数类型
数据类型
是否必需
描述
monitorId
Body
String
是
自动化ID
enable
Body
Boolean
是
自动化启用/禁用状态,true为启用
返回参数
参数
数据类型
描述
ret
Integer
操作失败返回-1,成功返回>=0
发送示例
ctrl set monitor {"monitorId":"1a99bc3c-07f7-11f1-9b41-e08b94b34d19","enable":true}\r\n
返回示例
ctrl set monitor {"ret":0,"data":null,"error":null}\r\n