liveList(获取直播列表)
liveList:获取直播列表
功能说明
分页获取当前开发者账号下已创建的直播详情列表,包括直播地址、直播状态与直播计划。
须先通过 bindDeviceLive 创建直播地址,否则无法获取直播信息。
请求地址
https://openapi-[DataCenter].easy4ip.com/openapi/liveList
请求格式
请求参数
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法取值 | 参数说明 |
|---|---|---|---|---|---|
| token | String | 是 | 管理员 accessToken | ||
| queryRange | String | 是 | 查询区间,形如 [1,N](N 为正整数且 N>1);区间长度取值范围为 [0,99] |
请求示例
{
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time":1603367402,
"nonce":"10ba3958-b861-4284-acfe-28cf5f3955dd"
},
"id":"1cd43fdb-810b-44f4-8652-9d232dd95f1b",
"params":{
"token":"At_00000ad9e6e87f0142eb92e207aec46a",
"queryRange":"1-10"
}
}
返回 data 字段
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| count | Integer | 本次返回的直播条数 |
| lives.liveToken | String | 直播 token |
| lives.liveStatus | Integer | 直播状态(1:开启;2:暂停;3:流量不足) |
| lives.liveType | Integer | 直播源类型(1:设备;2:流地址) |
| lives.deviceId | String | [可选] 设备序列号 |
| lives.channelId | Integer | 通道号 |
| lives.coverUpdate | Integer | 封面更新频率(单位:秒) |
| lives.streams.hls | String | HLS 直播访问地址 |
| lives.streams.coverUrl | String | 视频封面 URL |
| lives.streams.streamId | Integer | 码流类型(0:高清主码流;1:标清子码流;RTSP 源生成的地址可能无此字段) |
| lives.job.status | Boolean | 直播计划开关(true:开;false:关) |
| lives.job.period | String | 生效周期 |
| lives.job.beginTime | String | 开始时间 |
| lives.job.endTime | String | 结束时间 |
响应示例
{
"result":{
"msg":"操作成功.",
"code":"0",
"data":{
"lives":[
{
"liveType":2,
"coverUpdate":90,
"streams":[
{
"coverUrl":"http://alhlscdn.lechange.com/LCO/3f35d2d41758dc707e614c2999f8b922/20190429155036/stream_20190429155036_71e53mz34pcaprgb.jpg",
"hls":"http://alhlsgw.lechange.com:9001/LCO/3f35d2d41758dc707e614c2999f8b922/20190429155036/stream_20190429155036_71e53mz34pcaprgb.m3u8"
}
],
"liveToken":"stream_20190429155036_71e53mz34pcaprgb",
"job":[
{
"period":"always",
"status":true
}
],
"liveStatus":1
},
{
"liveType":2,
"coverUpdate":90,
"streams":[
{
"coverUrl":"http://alhlscdn.lechange.com/LCO/aaf71e228f1da90232c0ac87803ce4b6/20191023171615/stream_20191023171615_qahzm4ml2bk93l72.jpg",
"hls":"http://alhlsgw.lechange.com:9001/LCO/aaf71e228f1da90232c0ac87803ce4b6/20191023171615/stream_20191023171615_qahzm4ml2bk93l72.m3u8"
}
],
"liveToken":"stream_20191023171615_qahzm4ml2bk93l72",
"job":[
{
"period":"always",
"status":true
}
],
"liveStatus":1
},
{
"liveType":1,
"coverUpdate":90,
"streams":[
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/0/20200907T032254/dev_TESTQWERXXXX_20200907T032254.jpg",
"streamId":0,
"hls":"https://cmgw-vpc.lechange.com:8890/LCO/TESTQWERXXXX/0/0/20200907T032254/dev_TESTQWERXXXX_20200907T032254.m3u8?proto=https"
},
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/0/20200907T032254/dev_TESTQWERXXXX_20200907T032254.jpg",
"streamId":1,
"hls":"https://cmgw-vpc.lechange.com:8890/LCO/TESTQWERXXXX/0/1/20200907T032254/dev_TESTQWERXXXX_20200907T032254.m3u8?proto=https"
},
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/0/20200907T032254/dev_TESTQWERXXXX_20200907T032254.jpg",
"streamId":0,
"hls":"http://cmgw-vpc.lechange.com:8888/LCO/TESTQWERXXXX/0/0/20200907T032254/dev_TESTQWERXXXX_20200907T032254.m3u8"
},
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/0/20200907T032254/dev_TESTQWERXXXX_20200907T032254.jpg",
"streamId":1,
"hls":"http://cmgw-vpc.lechange.com:8888/LCO/TESTQWERXXXX/0/1/20200907T032254/dev_TESTQWERXXXX_20200907T032254.m3u8"
}
],
"liveToken":"63813c4aa4b442069748437c1bd0b749",
"job":[
{
"period":"always",
"status":true
}
],
"deviceId":"TESTQWERXXXX",
"liveStatus":1,
"channelId":"0"
},
{
"liveType":1,
"coverUpdate":90,
"streams":[
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/1/20201022T113914/dev_TESTQWERXXXX_20201022T113914.jpg",
"streamId":1,
"hls":"http://cmgw-vpc.lechange.com:8888/LCO/TESTQWERXXXX/0/1/20201022T113914/dev_TESTQWERXXXX_20201022T113914.m3u8"
},
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/1/20201022T113914/dev_TESTQWERXXXX_20201022T113914.jpg",
"streamId":0,
"hls":"http://cmgw-vpc.lechange.com:8888/LCO/TESTQWERXXXX/0/0/20201022T113914/dev_TESTQWERXXXX_20201022T113914.m3u8"
},
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/1/20201022T113914/dev_TESTQWERXXXX_20201022T113914.jpg",
"streamId":1,
"hls":"https://cmgw-vpc.lechange.com:8890/LCO/TESTQWERXXXX/0/1/20201022T113914/dev_TESTQWERXXXX_20201022T113914.m3u8?proto=https"
},
{
"coverUrl":"http://livecloudpic.lechange.com/LCO/TESTQWERXXXX/0/1/20201022T113914/dev_TESTQWERXXXX_20201022T113914.jpg",
"streamId":0,
"hls":"https://cmgw-vpc.lechange.com:8890/LCO/TESTQWERXXXX/0/0/20201022T113914/dev_TESTQWERXXXX_20201022T113914.m3u8?proto=https"
}
],
"liveToken":"57877dd6774f4cbeb657568be0b7a621",
"job":[
{
"period":"always",
"status":true
}
],
"deviceId":"TESTQWERXXXX",
"liveStatus":1,
"channelId":"0"
}
],
"count":4
}
},
"id":"1cd43fdb-810b-44f4-8652-9d232dd95f1b"
}
错误码
网关与鉴权(SN / TK / OP)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SN1001 | 签名校验异常 | 按 HTTP 开发规范 核对 sign |
TK1002 | token 无效或过期 | 重新获取 accessToken |
OP1002 | 缺少必填参数 | 补必填字段 |
OP1003 | 参数不合法 | 按本页参数表核对 |
OP1009 | 权限不足 | 核对 token 与设备绑定/分享权限 |
OP1013 | 接口总次数超限 | 降低调用频率 |
OP1014 | 接口日限额超限 | 见 接口调用限额 |
DV1007 | 设备离线 | 等设备上线 |
更多见 错误码 · OP/SN/TK。
子账号(SUB)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SUB1001–SUB1002 | 子账号无接口权限 | 在 addPolicy 中补策略 |
SUB1005 | 子账号 token 过期 | 重新 subAccountToken |
SUB1006 | 子账号与设备无授权 | 核对 Resource 与设备序列号 |
SUB1008 | 子账号未绑定应用 | 先创建并绑定子账号 |
更多见 错误码 · SUB。
设备访问与通道(DV10xx)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
DV1007 | 设备离线或超时 | 等设备上线 |
DV1009 | 设备正忙 | 稍后重试 |
DV1012 | 分享/授权设备权限不足 | 核对子账号 Permission / Resource |
DV1019 | 能力集不支持 | 确认型号与能力列表 |
DV1020 | 通道离线 | 检查通道状态 |
DV1026 | 不支持此功能 | 换接口或升级固件 |
DV1028 | 未绑定或通道不存在 | 核对 deviceId / channelId |
更多见 错误码 · DV。
直播绑定(LV)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
LV1001 | 直播已存在 | 先 unbindLive 或换源 |
| :--- | :--- | :--- |
LV1002 | 直播不存在 | 先创建直播 |
| :--- | :--- | :--- |
LV1005 | 直播信息不存在 | 核对直播 id |
| :--- | :--- | :--- |
LV1006 | 同 rtsp 源当日仅可绑一次 | 次日再绑 |
| :--- | :--- | :--- |
LV1008 | 需实名认证 | 在开放平台完善主体信息 |
| :--- | :--- | :--- |
LV1020 | 已绑定直播无法删除 | 先解绑 |
| :--- | :--- | :--- |
OP1021 | 获取播放地址失败 | 检查直播状态与套餐 |
| :--- | :--- | :--- |
OP1022 | 需开启云解码授权 | 按返回说明在 App 中授权 |
更多见 错误码 · LV。
