开始使用
  • English
  • 简体中文
前往官网
开始使用
  • English
  • 简体中文
前往官网
  • 开始使用
  • 核心概念
  • 开发指南
  • 设备能力与事件参考
  • API 参考
    • 公共约定
    • HTTP 开发规范
    • accessToken(管理员 Token)
    • API 请求示例
    • 错误码
    • 接口调用限额
    • 账号与授权
    • 设备接口
    • 直播地址
      • batchModifyLivePlan(批量修改直播计划时间)
      • bindDeviceLive(创建设备源直播地址)
      • createDeviceFlvLive(创建设备 FLV 直播:实况与录像回放)
      • createDeviceRecordHls(根据设备录像片段生成 HLS 直播地址)
      • createDeviceRtmpLive(创建 RTMP 协议直播地址)
      • deleteDeviceFlvLive(删除设备 FLV 实况直播)
      • deleteDeviceRtmpLive(删除 RTMP 协议直播地址)
      • getLiveStreamInfo(查询设备通道直播地址信息)
      • liveList(获取直播列表)
      • modifyLivePlan(修改直播计划时间)
      • modifyLivePlanStatus(设置直播计划开关)
      • queryDeviceFlvLive(查询设备 FLV 实况直播)
      • queryDeviceRtmpLive(查询 RTMP 协议直播地址)
      • queryLiveStatus(查询直播状态)
      • unbindLive(删除直播地址)
    • 推送配置
    • 云存储
    • 资源池额度管理
    • 旧版接口(不再维护)
  • SDK 与工具
  • 方案
  • 平台与支持
本页目录
功能说明
请求地址
请求格式
请求参数
请求示例
返回 data 字段
响应示例
错误码
相关参考

liveList(获取直播列表)

liveList:获取直播列表

功能说明

分页获取当前开发者账号下已创建的直播详情列表,包括直播地址、直播状态与直播计划。

须先通过 bindDeviceLive 创建直播地址,否则无法获取直播信息。

请求地址

https://openapi-[DataCenter].easy4ip.com/openapi/liveList

请求格式

POST JSON 请求体见 请求约定;签名见 签名。

请求参数

参数名参数类型是否必填默认值合法取值参数说明
tokenString是管理员 accessToken
queryRangeString是查询区间,形如 [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 字段

字段名字段类型字段说明
countInteger本次返回的直播条数
lives.liveTokenString直播 token
lives.liveStatusInteger直播状态(1:开启;2:暂停;3:流量不足)
lives.liveTypeInteger直播源类型(1:设备;2:流地址)
lives.deviceIdString[可选] 设备序列号
lives.channelIdInteger通道号
lives.coverUpdateInteger封面更新频率(单位:秒)
lives.streams.hlsStringHLS 直播访问地址
lives.streams.coverUrlString视频封面 URL
lives.streams.streamIdInteger码流类型(0:高清主码流;1:标清子码流;RTSP 源生成的地址可能无此字段)
lives.job.statusBoolean直播计划开关(true:开;false:关)
lives.job.periodString生效周期
lives.job.beginTimeString开始时间
lives.job.endTimeString结束时间

响应示例

{
 "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
TK1002token 无效或过期重新获取 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。

相关参考

  • 开发规范
  • 公共约定
  • 本模块索引
getLiveStreamInfo(查询设备通道直播地址信息)
modifyLivePlan(修改直播计划时间)