CDN加速

文档中心 直播分发 直播流主播推流时长API

直播流主播推流时长API

更新时间:2021-09-07 16:56:09

一.功能简介

  主播的推流时间和推流时长可以反应出主播的直播习惯,特别是大主播用户,而大主播的直播通常会带来更大的流量和带宽压力,因此需要重点保障,网宿推出主播推流时长API查询接口,可以提供主播推流开始时间,推流结束时间,以及推流时长,和推流时间汇总,供客户查询。

二. 使用说明

  网宿提供相应的API 接口给客户。具体API如下:
  https://open.chinanetcenter.com/api/report/duration/stream
  数据延迟:3-5h
  接口请求时,可携带如下参数:

参数名称 类型 是否必传 说明
time String 查询的结束时间;1.格式为yyyyMMdd;2.必须小于当前系统时间;3.不传时默认为系统当前时间;4.只能查询最近2年内数据。
mode String 查询时间区间;1.取值范围为1~31的整数,单位为天;2.不传时默认为7;(例如:time=20160622&mode=2,查询范围是2016-06-20到2016-06-21的数据)
请求体 Array 域名列表;发起请求时 –d 后面携带的参数;1.域名个数限制根据账号可调,默认为1个;2.不传递则查询全部域名,同时接受域名数量上限限制;

  请求示例 json:

#!/bin/bash
username="example_username"
apiKey="example_apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://open.chinanetcenter.com/api/report/duration/stream?time=20171101&mode=2" \
-X "POST" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-d '[
    "www.test.com"
]'

  返回参数:

参数名称 类型 说明
domain String 域名
prog String 流名
sumTime Number 对应时间段内流名推流时长之和,单位为毫秒
startTime String 推流起始时间,格式为yyyyMMddHHmmss
endTime String 推流终止时间,格式为yyyyMMddHHmmss
duration Number 推流时长,单位为毫秒

  返回示例:

{
      "result":[
          {
                "domain":"www.test.com",
              "progDurations":[
                  {
                        "prog":"www.test.com/abc/steam01",
                        "sumTime":30646001,
                        "durationDetails":[
                          {
                                "startTime":"20170101100000",
                                "endTime":"20170101120000",
                                "duration":20323001
                          },
                          {
                              "startTime":"20170102100000",
                                "endTime":"20170102120000",
                                "duration":10323000
                          }
                      ]
                  },
                  {
                      "prog":"www.tet.com/abc/steam02",
                        "sumTime":60646018,
                        "durationDetails":[
                          {
                                "startTime":"20170101060000",
                                "endTime":"20170101080000",
                              "duration":30323009
                          },
                          {
                                "startTime":"20170102100000",
                                "endTime":"20170102120000",
                                "duration":30323009
                          }
                      ]
                  }
              ]
          }
      ]
  }

  错误码:

错误代号 描述 HTTP状态码 语义
NotAcceptable The accept header specified in your request is not acceptable. 400 Accept请求头不支持,接口仅支持json格式
PARAM_INVALID param: mode is null or invalid. 400 参数mode不符合规范
DomainsExcessive The number of domain is excessive once. 403 传递的域名个数超过限制
DomainNameIsRequired The domain name is required. 400 参数体为空json数组
NoSuchDomain The specified domain does not exist. 404 传递的域名不存在或不属于当前调用账号
InternalError We encountered an internal error. Please try again. 500 系统发生错误

三. 应用场景

  所有直播业务中,直播平台需要了解主播推流时长等相关数据。

四.注意事项

  1) API 接口中两个参数之间用与号(&)隔开;
  2) 请不要在问号(?)后面带空格等不符合HTTP 协议的字符,如果在URL 或目录名中使用这些字符,请务必使用转义符(比如,空格的转义符为%20);
  3) 接口调用限制5分钟100次;