文档中心 直播分发 直播流综合统计API

直播流综合统计API

更新时间: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次;

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!