更新时间:2021-09-07 16:56:10
现实直播业务中,实时在线人数是指某时刻有多少用户观看直播节目,该数据可以直观的反映直播节目的热度;而主播推流的码率、帧率、丢帧率等信息则反映了主播推流的质量,视频原始帧率、分辨率、音视频编码格式等头部数据描述了直播流基本信息。网宿提供流状态整合API 功能。
网宿提供相应的API 接口给客户。具体API 举例如下:
http://qualiter.wscdns.com/api/streamStatusStatistic.jsp?n=XXX&r=XXX&k=XXX&u=XXX&t=XXX&g=XXX&d=XXX&channel=XXX
其中:HTTP请求的URL中的?后带八个参数:n、r、k、u 必填;t、g、d、channel选填,详细参数说明如下:
1) n:默认设置为Protal平台帐号名;
2) r:唯一随机字符串,限制最大为10位,推荐使用时间戳;
3) k:md5验证值。
MD5 计算方式为:
k = md5(r+key),即 r 字符串加上key字符串,得到一个新的字符串,再对该字符串做MD5 计算出新值为k 的值。注:key 可向对应客服获取。
例如:
1、 申请获取到key=012f37a3f2952
2、 随机生成字符串r=1409284800
3、 合并生成字符串new=1409284800012f37a3f2952
4、 使用MD5 计算new 得到 k值b9fed80be752551834eec3e52fa94115
4) u:域名;支持多域名查询,多域名间用逗号(,)分隔。
5) t:时间,格式为:t=20160527152300,此参数选填,当参数为空时,默认返回服务器响应请求时间前5分钟的数据.
6) g:查询间隔,格式为:g=60此参数选填,有10s 和60s 可选,当参数为空时,默认为60s。
注:当g为10时,查询距离时间t最近的整10秒点数据;当g为60时,查询距离时间t最近的整分钟点数据。
7) d:域名类型,此参数为push,当参数为空时,默认为push。
d=push时为推流域名,返回推流频道,在线人数为对应拉流频道的数据;
8) channel:频道地址,此参数选填。当指定频道,则返回指定频道的查询信息;当参数为空时,默认返回域名下所有频道信息,频道参数以域名+发布点+流名格式入参,如
www.wstest.com/live/streamname
9) realtime:是否返回实时数据,默认false。
10) showport:是否返回端口,只有实时接口才有该数据,默认false。
客户以上述格式发送HTTP 请求调用该接口时,接口会返回以下几类信息:
结果以JSON格式返回,返回格式如下:
非实时接口 时效性:5分钟
{ "dataValue": [{ "streamname":"A", //频道URL,域名/发布点/流名 "inbandwidth":1632028, //主播当前码率 "oribandwidth":232028, //原始码率(仅限查询推流域名时返回该字段) "delay":28, //主播延迟 "lfr":"21.3", //丢帧率 "fps":45, //主播推流节点帧率 "deployaddress":"61.174.63.219", //cdn节点地址 "inaddress":"183.136.233.203", //主播出口地址 "bandwidth":"46332028", //频道带宽 "hists":"20", //在线人数 "ofr":"45", //主播原始帧率 "resolution":"320*240", //分辨率 "vcodec":"avc", //视频编码 "acodec":"aac" //音频编码 }, ...], "retcode":932,//数据条数 "rettime":"2015-08-14 16:00:26",//调用的时间 "histscount":"3240",//总在线人数 "bandwidthcount":"3345332028",//总频道带宽 “datetime”:1439538900//数据的时间戳 }
备注:非实时接口包含码率权限、帧率权限、在线人数权限、频道带宽权限和头部信息权限,用户可根据需要申请对应权限。给用户配置了相应接口的权限,才返回相应的字段。
实时接口 时效性:30秒
{ "dataValue": [{ "streamname":"A", //频道URL,域名/发布点/流名 "time":"20151010113500", //推流开始时间 "inaddress":"183.136.233.203", //主播出口地址 "deployaddress ":"61.174.63.219", //cdn节点地址 "port":8080,//主播推流端口 "hists":"20", //在线人数 "inbandwidth":1632028, //主播当前码率 "oribandwidth":232028, //原始码率(仅限查询推流域名时返回该字段) "delay":28, //主播延迟 "lfr":"21.3", //丢帧率 "fps":45, //主播推流节点帧率 "ofr":"45", //主播原始帧率 "resolution":"320*240", //分辨率 "vcodec":"avc", //视频编码 "acodec":"aac", //音频编码 } ] , "retcode":932, //数据条数 "histscount":"3240", //总在线人数 "rettime":"2015-10-10 11:36:26", //调用的时间 “datetime”:1439538900//数据的时间戳 }
备注:实时接口包含流状态权限、在线人数权限、码率权限、帧率权限和头部信息权限,用户可根据需要申请对应权限。给用户配置了相应接口的权限,才返回相应的字段。
所有直播业务中,直播平台需要了解主播推流信息、推流质量及在线人数等数据。
1) API 接口中两个参数之间用与号(&)隔开;
2) 请不要在问号(?)后面带空格等不符合HTTP 协议的字符,如果在URL 或目录名中使用这些字符,请务必使用转义符(比如,空格的转义符为%20);
3) 由于与号(&)是参数的分隔符,分号(;)是不同URL/目录名的分隔符,带这2 个字符的URL 将不能正常推送。
4) 该调用方式对大小写敏感,在发送HTTP 请求方式调用该接口时,请注意相应的大小写要严格符合要求。
5) 非实时不带参数t默认都是取前五分钟时间点,使用小于当前5分钟的时间t调用数据可能不完整。
6) 接口调用限制5分钟100次;