视频直播提供直播推流状态、直播录制、直播截图和智能审核的事件回调,本文介绍如何通过控制台配置对应的回调事件。

回调简介

当直播过程中某些事件被触发时,阿里云将主动发送请求到客户服务器,客户服务器负责应答请求,验证通过后,您可接收到事件回调信息的JSON数据包。

视频直播支持回调直播推流状态、直播录制(按需录制)、直播截图、智能审核(视频审核、语音审核)事件的信息,不同回调事件对应的回调参数和示例详见回调管理

回调方式

视频直播服务目前支持HTTP回调(兼容HTTPS)方式获取事件通知。您需要部署一个HTTP服务来接收回调消息,并在控制台或通过API配置回调地址。

  • 当推流或断流事件产生时,直播服务端会向该地址发起HTTP GET请求,具体内容将通过URL参数送达。
  • 当其他事件产生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。

注意事项

  • 回调地址URL无需标识,只需可正常访问,URL的应答有如下要求:如果访问超时,会重试URL,目前超时时间是5秒,重试次数5次,重试间隔1秒。
  • 推流回调只能在推流域名的回调事件中进行配置和编辑。录制至OSS回调、截图回调、视频审核回调、语音审核回调只能在对应播放域名的回调事件中进行配置和编辑。

操作步骤

  1. 登录视频直播控制台
  2. 在视频直播控制台左侧导航栏,单击域名管理,进入域名管理页面。
  3. 选择您要配置的推流域名,单击域名配置
    域名配置
  4. 单击直播管理 > 回调事件。推流域名支持设置推流回调。
    • 推流回调

      说明 您还可以通过SetLiveStreamsNotifyUrlConfig接口设置推流回调配置,请参见设置直播推流回调配置。回调方式和回调内容,请参见直播推流状态回调
      1. 开启推流回调开关。
      2. 配置回调参数。
        参数 说明
        回调地址 回调地址为您自身拥有的地址,当推流或断流事件产生时,直播服务端会向该地址发起HTTP GET请求,具体内容将通过URL参数送达。
        回调鉴权 选择是否为推流回调地址开启鉴权。如需鉴权,打开鉴权开关,输入鉴权key
      3. 单击确定
    • 录制至OSS回调

      当域名为推流域名无法配置录制至OSS回调,录制至OSS回调只能基于播放域名进行配置。具体操作步骤请参见录制至OSS回调

    • 截图回调

      当域名为推流域名无法配置截图回调,截图回调只能基于播放域名进行配置。具体操作步骤请参见截图回调

    • 视频审核回调

      当域名为推流域名无法配置视频审核回调,视频审核回调只能基于播放域名进行配置。具体操作步骤请参见视频审核回调

    • 语音审核回调

      当域名为推流域名无法配置语音审核回调,语音审核回调只能基于播放域名进行配置。具体操作步骤请参见语音审核回调

推流回调逻辑

播推流状态回调中开播(publish)状态回调逻辑:
  1. RTMP推流在阿里云直播服务收到On Publish消息后2秒内,如果推流端不主动断开,阿里云直播服务就会发推流成功回调。
  2. 假设您有推流域名A和播流域名B,如果您的域名B使用拉流直播(固定拉流和触发回源拉流)需要回调,请在域名A配置推流回调。配置后域名B的拉流回调逻辑与上述一致,建联后默认2秒无主动断开即认为拉流成功,需要真正收到数据才认为成功。
说明 建议您根据回调通知判断推流、拉流接入正常时,可以同时配合在线流列表查询推流正常后,再下发直播流播放地址。

回调鉴权

推流回调鉴权功能默认关闭,用户可在配置推流回调地址时启用鉴权。启用功能后,鉴权逻辑如下:
  1. 阿里云视频直播发起回调请求时在HTTP(S)请求头中带上ALI-LIVE-TIMESTAMP和 ALI-LIVE-SIGNATURE 字段,供回调消息接收服务端进行签名认证。其中,ALI-LIVE-SIGNATURE的值由如下计算而得:

    ALI-LIVE-SIGNATURE=MD5SUM(MD5CONTENT)MD5CONTENT=回调域名|ALI-LIVE-TIMESTAMP取值|鉴权KEY

    说明 回调域名指配置回调URL的推流域名。鉴权Key指用户为推流回调URL配置的鉴权Key。
  2. 回调消息接收服务端接收回调消息时,将回调域名、ALI-LIVE-TIMESTAMP取值、鉴权Key进行拼接后计算MD5值,得到加密字符串,再将计算出的加密字符串与视频直播发起的HTTP(S)请求头中的ALI-LIVE-SIGNATURE字段值进行对比。如果不一致,则请求非法。