CDN加速

文档中心 直播分发 直播相关信息查询 多域名下多个直播流的流量带宽查询API

多域名下多个直播流的流量带宽查询API

更新时间:2020-04-27 14:06:24

一.功能简介

  直播业务中,在线人数与每路流的实时带宽数据均可反映该路流的热度,为满足客户实时查询主播/节目热度,网宿提供频道带宽/流量查询API,可通过指定时间段内查询一个域名下指定流名的带宽或流量数据。
  下面将介绍单域名下多个直播流带宽/流量查询接口。

二.使用说明

  API 地址
  https://open.chinanetcenter.com/api/report/flow/stream/detail

  调用示例
  采用Post方式请求,具体示例如下:

curl -i --url "https://open.chinanetcenter.com/api/report/flow/stream/detail"
  -X POST 
  -u {user}:{password} 
  -H 'Date: Fri, 26 Oct 2012 06:33:26 GMT' 
  -H 'Accept: application/json'
  -d '{
"dateFrom": "2016-12-02T10:00:00+08:00",
"dateTo": "2016-12-03T10:00:00+08:00",
"domainStream": [{"domain": "www.baidu1.com", "stream": ["live/aaaaa","live/bbbbb"]}],
"dataInterval": "5m",
"dataType": "flow "
}'

  其中
  user=SI 账号

Date=` env LANG=en_US.UTF-8 date -u “+%a, %d %b %Y %H:%M:%S GMT”`
password=Base64(HMAC-SHA1(UTF-8(Date), UTF-8(API_KEY))
        =`echo -en "$DATE" | openssl dgst -sha1 -hmac "$API_KEY" -binary | openssl enc -base64`  

  入参参数说明

参数名称 类型 必选 描述
dateFrom String 开始时间,格式为yyyy-MM-dd'T'HH:mm:ss+08:00;
dateTo String 结束时间,格式为yyyy-MM-dd'T'HH:mm:ss+08:00;
domainStream Array 域名和流名列表
domain String 域名,一次传入的域名个数有限制,默认为20个
stream Array 流名,格式为“发布点/流名”,如live/aaaaa,一次传入的流名个数有限制,默认上限为2000个,不传代表查询域名下全部流名数据;
dataInterval String 默认5m,不传则默认返回,即数据按5分钟粒度返回,可配置1m,1分钟粒度。
dataType String bandwidth代表获取带宽值,默认查询所有区域的数据flow代表输出流量数据,每路流的总和。默认查询所有区域的数据。

  数据返回

当提交datatype为flow时:
{ "domain": "www.abc.com",
  "details": [
  {"stream": "live/aaaaa",
"totalFlow": 222.22
"details": [
  { "timestamp": "2016-12-01 00:05 ","value": "123.11" },
  { "timestamp": "2016-12-01 00:10","value": "123.11"}]  
  }
  ]
}
当提交datatype为bandwidth时:
{ "domain": "www.abc.com",
  "details": [
  { "stream": "live/aaaaa",
    "bandwidthPeakValue": 200.22
    "details": [
  { "timestamp": "2016-12-01 00:05 ","value":   "123.11" },
  { "timestamp": "2016-12-01 00:10","value":   "123.11"}]
}
]
}

  出参参数说明

出参 说明
domain 域名
stream 流名
timestamp 时间,格式为yyyy-MM-dd HH:mm
value 对应时间粒度下的带宽或流量值,保留2位小数。
bandwidthPeakValue 当dataType为bandwidth时返回;每路流在该时间段内的带宽峰值单位Mbps,保留2位小数。
totalFlow 当dataType为flow时返回;每路流的总流量单位MB,保留2位小数。

  错误返回码说明

HTTP状态码 描述 语义
400 This operation requires a body. Ensure that the body is present and the Content-Type header is set. 请求体没有传递
400 The accept header specified in your request is not acceptable. Accept请求头不支持,接口仅支持json和xml格式,默认为json格式
400 There was an error in the body of your HTTP request. 请求体格式错误
400 The date specified is invalid. dateFrom或dateTo不符合规范
400 You cannot specify a period greater than 1. dateFrom和dateTo相差超过1天
400 param: domainStream is null or invalid. 参数domainStream不符合规范
400 param: domain is null or invalid. 参数domain不符合规范
400 param: stream is null or invalid. 参数stream不符合规范
400 param: dataInterval is null or invalid. 参数dataInterval不符合规范
400 param: dataType is null or invalid. 参数dataType不符合规范
404 The specified domain does not exist. 传递的域名不存在
403 The number of domain is excessive once. 传递的域名个数超过账号限制
403 The number of stream is excessive once. 传递的流名个数超过账号限制
500 We encountered an internal error. Please try again. 系统发生错误

三.应用场景

  所有直播业务中,直播平台需要了解指定时间段内单条流的带宽或流量数据。

四.注意事项

  1) Date为格林尼治标准时间。
  2) 鉴权所需APIKEY,可向网宿项目经理咨询。
  3) 开始时间不得大于接口调用当前时间,且开始和结束时间的间隔不得大于1天;
  4) 单次查询最多只可携带20个域名,若不带参数stream进行查询则返回所有流数据,若携带stream参数,流名个数上限为2000个。
  5) 当需要传入指定流名查询时,流名格式为发布点+流名,比如拉流url为rtmp://wstest.com/live/test,则传参为live/test。
  6) 当粒度选择为1分钟时,一天开始的时间片是yyyy-MM-dd 00:01,最后一个时间片是(yyyy-MM-dd+1) 00:00,五分钟粒度同理。
  7) 接口调用限制5分钟30次;