回调设置

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

前提条件

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

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

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

使用场景

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

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

使用限制

  • 回调地址URL无需标识,只需可正常访问,URL的应答有如下要求:如果访问超时,会重试URL,目前超时时间是5秒,重试次数5次,重试间隔1秒。

  • 推流回调只能在推流域名的回调事件中进行配置和编辑。录制回调、截图回调、视频审核回调、语音审核回调只能在对应播放域名的回调事件中进行配置和编辑。

功能介绍

事件回调分为推流回调与播流回调

操作指南

  1. 登录视频直播控制台
  2. 在左侧导航栏单击功能管理>事件回调,进入事件回调页面。

  3. 选择您要配置的推/播流域名,推流域名支持设置推流回调,播流域名支持设置录制回调、截图回调、视频审核回调和语音审核回调。

  4. 回调设置页签下,配置对应功能。image

  5. 推流域名

    推流回调

    说明

    您还可以通过SetLiveStreamsNotifyUrlConfig接口设置推流回调配置,请参见设置直播推流回调配置。回调方式和回调内容,请参见直播推流状态回调

    1. 开启推流回调开关。

    2. 配置回调参数。

      参数

      说明

      回调地址

      回调地址为您自身拥有的地址,当推流或断流事件产生时,直播服务端会向该地址发起HTTP GET请求,具体内容将通过URL参数传递。

      回调鉴权

      选择是否为推流回调地址开启鉴权。如需鉴权,打开鉴权开关,输入鉴权key

    3. 单击确定

    播流域名

    • 录制回调

      说明

      您还可以通过AddLiveRecordNotifyConfig接口添加域名级别录制回调配置,请参见添加直播录制回调配置。回调方式和回调内容,请参见直播录制回调

      1. 开启录制回调开关。

      2. 配置回调参数。

        参数

        说明

        回调地址

        回调地址为您自身拥有的地址,当录制回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。

        触发事件

        • 文件生成回调:录制文件生成时产生回调。

        • 文件生成回调+录制状态回调:录制文件生成、录制开始、暂停、继续录制事件均生成回调。

        按需回调地址

        设置按需录制方式后,当开始推直播流时,直播录制服务会发送一条HTTP回调给事先设定的按需回调地址,通过该回调的返回内容决定是否录制这条直播流。按需回调地址默认* ,表示关闭按需录制功能。

        说明

        设置按需回调地址前,需调用接口添加录制配置配置录制规则。其中OnDemand字段设置为1,表示通过HTTP回调开启按需录制。

      3. 单击确定

    • 截图回调

      说明

      您还可以通过AddLiveSnapshotNotifyConfig接口添加截图回调配置,请参见添加截图回调配置。回调方式和回调内容,请参见直播截图回调

      1. 开启截图回调开关。

      2. 配置回调参数。

        参数

        说明

        回调地址

        回调地址为您自身拥有的地址,当截图回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。

        回调鉴权

        选择是否为推流回调地址开启鉴权。如需鉴权,打开鉴权开关,输入鉴权key

    • 视频审核回调

      说明
      • 您还可以通过AddLiveDetectNotifyConfig接口添加视频审核回调配置,请参见添加直播审核回调配置。回调方式和回调内容,请参见智能审核回调

      • 目前仅部分直播中心支持直播智能审核,具体支持该功能的直播中心,请参见服务地域

      • 视频审核只会针对有问题的视频内容进行回调通知,通知内容包含问题视频截图的审核信息和存储信息。可在您的回调服务器中查看回调信息。回调信息的格式与示例,请参见智能审核回调

      • 在OSS中查找识别的内容。您可以根据审核回调信息,在OSS控制台查找指定的审核内容。

        • 根据AppName与StreamName查找指定的审核内容。

        • 根据推流日期查找指定的审核内容。

      1. 开启视频审核回调开关。

      2. 配置回调地址。

        回调地址为您自身拥有的地址,当视频审核回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。

      3. 单击确定

    • 语音审核回调

      说明
      • 您还可以通过AddLiveAudioAuditNotifyConfig接口添加语音审核回调配置,请参见添加直播语音审核回调配置。回调方式和回调内容,请参见智能审核回调

      • 语音审核只会对于有问题的音频内容进行回调通知,通知内容包含问题语音的文本信息以及最近一分钟内的上下文信息。可在您的回调服务器中查看回调信息。回调信息的格式与示例,请参见智能审核回调

      • 在OSS中查找识别的内容。您可以根据审核回调信息,在OSS控制台查找指定的审核内容。

        • 根据AppName与StreamName查找指定的审核内容。

        • 根据推流日期查找指定的审核内容。

      1. 开启语音审核回调开关。

      2. 配置回调地址。

        回调地址为您自身拥有的地址,当语音审核回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。

      3. 单击确定

推流回调逻辑

播推流状态回调中开播(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字段值进行对比。如果不一致,则请求非法。