get-channels接口
获取协议流转换列表。如查询请求中指定协议流ID,则返回指定协议流的详细信息。
协议流包含输入视频流和输出视频流。
输入视频流支持类型:
1) RTMP/RTMPS
2) SRT Listener
输出视频流支持类型:
1) RTMP/RTMPS
2) SRT Caller
3) SRT Listener
接口原型
协议 |
HTTP/HTTPS GET |
URL |
ip[:port]/sc_cloud/scapi/get-channels[?id=xx] |
数据格式 |
响应消息:Content-Type: application/json |
请求URL参数
参数 |
是否必选 |
描述 |
id |
否 |
协议流ID。- 携带ID:获取指定协议流的详细信息。
- 不携带ID:获取协议流转换列表。
|
下面以请求URL不携带ID举例。
请求Cookies
名称 |
描述 |
mwcloud-sid |
用于标识当前登录的字符串 |
mwcloud-uid |
当前登录用户名 |
请求示例
GET /sc_cloud/scapi/get-channels HTTP/1.1
Accept: application/json, text/plain, */*
Connection: keep-alive
Cookie: mwcloud-sid=OCXWUMGEYPGIAWWOETYXPNMVHDZIAZJP; mwcloud-uid=Admin;
响应参数
参数 |
描述 |
Content-Type |
取值为:'application/json; charset=UTF-8' |
Response Body
channels
参数 |
描述 |
id |
协议流ID。 |
is-enable |
协议流是否启动。 |
name |
协议流名称。字符限制如下:- 1~32个字符。
- 仅支持大小写字母、数字、特殊符号._-+'[]()和空格。
- 不能以空格开头或结束。
|
source |
输入视频流详情。 |
sink |
输出视频流详情。 |
source
参数 |
描述 |
id |
输入视频流ID。 |
is-enable |
输入视频流是否启动。 |
name |
输入视频流名称。暂不支持修改,默认值:def-channel-src-name。 |
type |
协议流类型。取值如下:- 1:RTMP/RTMPS
- 2:SRT Caller
- 3:SRT Listener
|
status |
连接状态。 |
uptime |
运行时间,单位为ms。 |
bitrate |
传输比特率,单位为bps。 |
rtmp |
type取值为1时,此项有效,表示输入视频流为RTMP/RTMPS类型。 |
srt |
type取值为3时,此项有效,表示输入视频流为SRT Listener类型。 |
sink
sink是一个Object类型。需要对对象做属性遍历,才能获取到sink下的输出视频流列表。
参数 |
描述 |
id |
输出视频流ID。 |
is-enable |
输出视频流是否启动。 |
name |
输出视频流名称。字符限制如下:- 1~32个字符。
- 仅支持大小写字母、数字、特殊符号._-+'[]()和空格。
- 不能以空格开头或结束。
|
type |
协议流类型。取值如下:- 1:RTMP/RTMPS
- 2:SRT Caller
- 3:SRT Listener
|
status |
连接状态。 |
uptime |
运行时间,单位为ms。 |
bitrate |
传输比特率,单位为bps。 |
rtmp |
type取值为1时,此项有效,表示输出视频流为RTMP/RTMPS类型。 |
srt |
type取值为3时,此项有效,表示输出视频流为SRT Listener类型。 type取值为2时,此项有效,表示输出视频流为SRT Caller类型。
|
rtmp
参数 |
描述 |
type |
常量值:1。 |
url |
服务器地址。 |
key |
流密钥。 |
is-auth |
认证状态。 |
user |
用户名。 |
passwd |
密码。 |
srt
参数 |
描述 |
ip |
IP地址或域名。仅SRT Caller类型,才输入Listener端地址。 |
port |
端口号,取值范围是1~65535。 |
latency |
延迟时间。取值范围是20ms~8000ms,默认为120ms。 |
bandwidth |
SRT开销占总带宽的比例。取值范围是5%~100%,默认值为25%。 |
stream-id |
流ID。 仅SRT Caller类型有此属性。 取值范围是0~256个字符。必须与发送端的Stream ID一致。 |
enc-type |
加密类型,默认不加密。取值对应关系如下:- 0:不使用加密
- 16:AES-128
- 24:AES-192
- 32:AES-256
|
enc-pass |
加密密码。enc-type取值不为0时,需要输入10~79位字符的密码。 |
输入/输出视频流连接状态码
状态值 |
说明 |
0 |
空闲。当前没有连接。 |
1 |
正在解析域名。 |
2 |
正在连接。 |
3 |
正在握手。 |
4 |
连接数据流。 |
5 |
连接就绪。 |
6 |
状态异常。 |
7 |
域名解析失败。 |
8 |
TCP端口连接失败。 |
9 |
握手失败。 |
10 |
连接失败。 |
11 |
授权失败。 |
100 |
监听端口失败。 |
101 |
连接已断开。 |
102 |
远端拒绝连接请求。 |
响应示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": 0,
"channels": [
{
"id": 6,
"is-enable": 1,
"name": "Stream Conversion 0001",
"source": {
"id": 8,
"is-enable": 1,
"name": "def-channel-src-name",
"type": 3,
"status": 5,
"bitrate": 0,
"uptime": 0,
"rtmp": {
"type": 0, "url": "", "key": "",
"is-auth": 0, "user": "", "passwd": "", "param": ""
},
"srt": {
"ip": "0.0.0.0", "port": 8666, "latency": 120, "bandwidth": 0,
"stream-id": "", "enc-type": 0, "enc-pass": "", "Param": ""
}
},
"sink": {
"19": {
"id": 19,
"is-enable": 1,
"name": "rtmp",
"type": 1,
"status": 0,
"bitrate": 0,
"uptime": 0,
"rtmp": {
"type": 1, "url": "rtmps://10.0.1.32/live", "key": "234",
"is-auth": 0, "user": "", "passwd": "", "param": ""
},
"srt": {
"ip": "", "port": 0, "latency": 0, "bandwidth": 0,
"stream-id": "", "enc-type": 0, "enc-pass": "", "Param": ""
}
}
}
},
{
"id": 8,
"is-enable": 1,
"name": "Stream Conversion 0002",
"source": {
"id": 10,
"is-enable": 1,
"name": "def-channel-src-name",
"type": 1,
"status": 5,
"bitrate": 0,
"uptime": 1698,
"rtmp": {
"type": 1, "url": "rtmps://10.0.1.32:1936/live", "key": "22",
"is-auth": 0, "user": "", "passwd": "", "param": ""
},
"srt": {
"ip": "", "port": 0, "latency": 0, "bandwidth": 0,
"stream-id": "", "enc-type": 0, "enc-pass": "", "Param": ""
}
},
"sink": {
"11": {
"id": 11,
"is-enable": 1,
"name": "rtmp",
"type": 1,
"status": 0,
"bitrate": 0,
"uptime": 0,
"rtmp": {
"type": 1, "url": "rtmps://10.0.1.32:1936/live", "key": "12",
"is-auth": 0, "user": "", "passwd": "", "param": ""
},
"srt": {
"ip": "", "port": 0, "latency": 0, "bandwidth": 0,
"stream-id": "", "enc-type": 0, "enc-pass": "", "Param": ""
}
},
"16": {
"id": 16,
"is-enable": 0,
"name": "SRT Caller",
"type": 2,
"status": 0,
"bitrate": 0,
"uptime": 0,
"rtmp": {
"type": 0, "url": "", "key": "",
"is-auth": 0, "user": "", "passwd": "", "param": ""
},
"srt": {
"ip": "10.10.11.105", "port": 6666, "latency": 120, "bandwidth": 25,
"stream-id": "", "enc-type": 0, "enc-pass": "", "Param": ""
}
},
"20": {
"id": 20,
"is-enable": 1,
"name": "SRT Listener",
"type": 3,
"status": 0,
"bitrate": 0,
"uptime": 0,
"rtmp": {
"type": 0, "url": "", "key": "",
"is-auth": 0, "user": "", "passwd": "", "param": ""
},
"srt": {
"ip": "0.0.0.0", "port": 5236, "latency": 120, "bandwidth": 0,
"stream-id": "", "enc-type": 0, "enc-pass": "", "Param": ""
}
}
}
}
]
}