CDN加速

直播转推

更新时间:2020-04-27 09:38:23

一. 功能简介

  互动直播业务中,直播流由主播直接推送至客户源站或者CDN平台,由CDN平台进行分发加速并提供给用户拉流观看。然而随着客户业务的发展及其他方面的考虑,一些客户需要同时与多家CDN厂商合作。客户希望同一个主播的流能够在不同的CDN上进行分发,起到灾备的作用。因此对于主播推送的一路直播流,需要有CDN转推给其他友商或者源站。

二. 使用说明

网宿科技入选2021信息安全企业排行百强
  直播转推是指主播将直播内容推流到网宿CDN节点后,网宿CDN节点除了进行内容分发加速之外,同时再转推一份直播内容给客户源站/友商节点进行容灾备份。
  1. 支持同时转推多份,比如同一路流同时转推给友商A和源站B;
  2. 支持转推调度,即每次转推前通过DNS解析,或者通过调度接口获取转推的目标服务器信息。
  3. 支持转推时透传推流URL中携带的参数。

  网宿转推给友商/源站
  需要网宿将直播内容转推给友商/源站时,需要提供网宿以下信息:
  1. 需要转推的推流域名、发布点、流名;
  2. 转推时使用的友商/源站推流域名;
  3. 如果需要使用转推调度接口,则需要友商/源站提供转推调度接口信息给网宿,并且按网宿要求的方式返回结果。
  调度接口请求方式:
  a. 接口URL: http://www.transfer.com/api/query,具体接口URL友商可自定义;
  b. 请求方式: GET
  c. 请求头部:
  【Forward_Stream】 网宿要转推给友商/源站的原直播流地址,必填;
  【Ret_Num】 调度接口返回给网宿的节点IP个数,非必填;
  调度结果返回方式:
  a. 响应状态码: 200
  b. 响应内容格式:json
  c. 响应内容:
  {“message”:“SUCCESS”,“content”:{“list”:[{“port”:“1935”,“ip”:“1.1.1.1”},{“port”:“1935”,“ip”:" 1.1.1.2 "}]},“state”:0}
  说明:必须按这种json格式返回调度结果,message和state参数格式固定,list中的内容可根据返回节点IP个数增减。

  友商/源站转推给网宿
  网宿除了支持将直播流转推给友商/源站之外,也支持友商/源站转推直播流给网宿。并且友商同样可以使用DNS解析,或者使用网宿提供的调度接口来获取转推目标服务器信息。
  网宿转推调度接口的使用方式如下:
  1. 友商/源站向网宿转推调度接口发起GET请求,并携带接口要求的头部信息;
  a. 接口URL: http://turnpush.wscdns.com/query
  b. 请求方法: GET
  c. 请求头部:
  【Forward_Stream】 友商/源站要转推给网宿的原直播流地址,必填,头部名称固定;
  【Ret_Num】 调度接口返回的节点IP个数,非必填,取值建议小于3,头部名称固定;
  请求示例:
  curl “http://turnpush.wscdns.com/query” -H “Forward_Stream: rtmp:// www.push.com/live/channel” -H “Ret_Num: 2”

  2. 网宿调度接口根据请求的节点IP和直播流信息,返回最优的节点IP给友商/源站。
  a. 响应状态码: 200
  b. 响应内容格式: json
  c. 响应内容:
  {“message”:“SUCCESS”,“content”:{“list”:[{“port”:“1935”,“ip”:“1.1.1.1”},{“port”:“1935”,“ip”:" 1.1.1.2 "}]},“state”:0}
  说明: message和state参数格式固定,list中的内容会根据返回节点IP个数增减。

  3. 友商/源站提取网宿调度接口返回内容中的IP信息和需要转推的直播流信息,组装成直播URL推流给网宿。
  网宿支持两种URL格式,比如:
  1). 以域名方式向网宿节点(1.1.1.1)发起推流
  rtmp://www.wstest.com/live/channel
  2). 以IP方式向网宿节点发起推流
  rtmp://1.1.1.1:1935/live/channel?wsiphost=ipdbm&wsHost=www.wstest.com

三. 应用场景

  网宿推出转推功能,支持客户源站或友商与网宿CDN平台的双向转推,应用场景如下:
  1) 主播推流至网宿CDN平台,由网宿转推至友商CDN平台,主要起到灾备作用。
  2) 主播推流至网宿CDN平台,由网宿转推给客户源站,主要起到留存录制作用。
  3) 主播推流至源站/友商,由源站/友商转推给网宿CDN平台进行分发加速。

四. 注意事项

  1. 推荐使用调度接口的方式进行转推。减少由于DNS解析失败引起的转推问题。
  2. 在转推友商时,如果转推给友商的域名有防盗链功能网宿可以透传参数用于校验。
  3. 接口调用限制每秒1000次