基础配置

回源配置

又拍云直播系统支持两种服务类型:又拍云源和自主源站。

又拍云源

又拍云源:表示流媒体内容直接推流到又拍云 CDN ,将推流与分发都进行 CDN 加速。又拍云源现仅支持 RTMP 推流。

登陆 CDN 控制台,依次进入:直播云 > 创建服务 > 又拍云源

创建又拍云源,填写服务名、已备案的播放域名和推流域名,推流域名与播放域名不能共用。

注意事项

当推流域名填写 push.com ,播放域名填写 play.com ,接入点填写 live ,如果推流 URL 为 rtmp://push.com/live/stream 时,其 rtmp 播放 URL 为 rtmp://play.com/live/stream
其中,stream 为流名,又称流密钥,live/stream 又称为频道,同一条流推拉流域名不同,但频道名一致。同一个推流域名下,live/stream 必须唯一,如果冲突,则后接入的推流连接会失败。

注:以上域名、接入点及流名的命名仅为举例用,下同。

自主源站

自主源站:流媒体内容在客户源站,又拍云通过回客户源拉流的方式对其内容进行分发。

登陆 CDN 控制台,依次进入:直播云 > 创建服务 > 自主源站

自主源站需要明确回源协议是 RTMP 还是 HTTP,并填写源站 IP 或者 域名,回源 IP 现不支持多个,若回源 IP 会经常变更,建议源站填写域名形式。当回源协议是 RTMP 时,默认端口是 1935,当回源协议是 HTTP 时,默认端口为 80,支持端口自定义。因自主源站是回客户源拉流,则无推流域名,只需要设置播放域名。

注意事项

HTTP 协议回源时,以 HTTP-FLV 形式回源,若源为 HLS 可通过 CDN 加速创建服务,配置回源信息。

以上两种业务模式,创建好后均默认支持 RTMP、HTTP-FLV 和 HLS 播放。

域名绑定

登陆 CDN 控制台,依次进入:直播云 > 服务管理 > 加速域名 > 绑定域名

域名绑定仅支持已备案成功的自定义域名进行绑定,如果该域名未备案成功,则不能通过域名绑定审核。 审核结果会控制台和邮件两种方式进行通知,正常审核时间为一个工作日。

添加域名绑定,如果是又拍云源,需要绑定推流域名和播放域名,如果是自主源站,则只需要绑定播放域名。绑定完成后,需要到域名服务商的 DNS 解析管理中,将域名 CNAME 解析到又拍云内部域名。

注意事项

当业务模式为又拍云源时,推流域名 CNAME 解析到 <bucket>.s1.aicdn.com,播放域名 CNAME 解析到 <bucket>.s0.aicdn.com。 当业务模式为自主源站时,只需将播放域名 CNAME 解析到 <bucket>.s0.aicdn.com
注:<> 内的 bucket 需要替换成对应的服务名,下同。

流状态回调

填写用户服务器接收地址,接收推流开始和结束时,以 post 方式向用户汇报流状态信息。具体的 json 格式为

{ 
  "action":"publish",    //publish,推流开始;publish_done,推流结束;
  "time":"1561368403",   //推流开始或结束的时间;
  "app":"push.com",      //推流域名;
  "appname":"live",      //推流 app;
  "id":"stream001",      //推流流名。
  "usrargs":"xxx",       //用户推流的参数;
  "node":"live",         //CDN接受流的节点或者机器名;
  "ip":"115.92.XX.XX",   //推流客户端的 IP 地址;
 }
注意事项

适用源站类型:又拍云源

推流防盗链

推流防盗链为 token 时间戳防盗链。 防盗链可以对推流的请求进行校验,可设置 token 有效时间来控制推流 url 的时限。 一个含防盗链的推流地址格式如下:

rtmp://push.com/live/stream?domain={domain}&token={token}&valid_ts={valid_ts}

token = MD5(domain/live/stream + valid_ts + secret)

参数说明:
secret:密钥,用户与又拍约定,要求 32 位以内的数字、大小写英文字母、中划线、下划线及特殊字符 ~ ! @ # $ _ % ^ & * ( ) 组合。
domain:域名,开启 token 防盗链的推流域名。
valid_ts:有效时间,在 token 有效期内,推流 URL 能重复推流成功。当有效时间过后,token 失效,再推流失败,不过对于已经建立的推流连接,服务器不会主动断开。valid_ts 必须是 UNIX TIME 格式,如 1472659200,表示 2016/9/1 00:00:00。

示例:
推流 URL 为 rtmp://push.com/live/stream,则 domain = push.com,
假设约定 secret = a1b2c3d4e53gxwb07, 有效时间 valied_ts=1607566200 北京时间 2020/12/10 10:10:00 那么 token = MD5(push.com/live/stream1607566200a1b2c3d4e53gxwb07) = 8446203e16512f2fa0d30e9001c53f86

则含防盗链的推流 url 为 rtmp://push.com/live/stream?domain=push.com&token=8446203e16512f2fa0d30e9001c53f86&valid_ts=1607566200

该 token 防盗链在 北京时间 2020/12/10 10:10:00 之前推流都有效,
而时间到 2020/12/10 10:10:00 后,含该 token 的推流 url 再重新推流则会推流失败。

注意事项

适用源站类型:又拍云源

拉流防盗链

拉流防盗链只针对播放域名,HTTP-flv 和 HLS 协议拉流防盗链规则同文件加速,包括 IP 禁用、地区访问限制、回源鉴权、Token 防盗链等。详细规则见文件加速 访问控制

注意事项

拉流暂仅支持 HTTP-FLV 和 HLS 防盗链。

这篇文章有帮助吗?

相关文章