视频直播提供直播推流状态、直播录制、直播截图和智能审核的事件回调,本文介绍如何通过控制台配置对应的回调事件。
前提条件
视频直播服务目前支持HTTP回调(兼容HTTPS)方式获取事件通知。您需要部署一个HTTP服务来接收回调消息,并在控制台或通过API配置回调地址。
当推流或断流事件产生时,直播服务端会向该地址发起HTTP GET请求,具体内容将通过URL参数送达。
当其他事件产生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。
使用场景
当直播过程中某些事件被触发时,阿里云将主动发送请求到客户服务器,客户服务器负责应答请求,验证通过后,您可接收到事件回调信息的JSON数据包。
视频直播支持回调直播推流状态、直播录制(按需录制)、直播截图、智能审核(视频审核、语音审核)事件的信息,不同回调事件对应的回调参数和示例详见回调管理。
使用限制
回调地址URL无需标识,只需可正常访问,URL的应答有如下要求:如果访问超时,会重试URL,目前超时时间是5秒,重试次数5次,重试间隔1秒。
推流回调只能在推流域名的回调事件中进行配置和编辑。录制回调、截图回调、视频审核回调、语音审核回调只能在对应播放域名的回调事件中进行配置和编辑。
功能介绍
事件回调分为推流回调与播流回调
操作指南
- 登录视频直播控制台。
在左侧导航栏单击功能管理>事件回调,进入事件回调页面。
选择您要配置的推/播流域名,推流域名支持设置推流回调,播流域名支持设置录制回调、截图回调、视频审核回调和语音审核回调。
在回调设置页签下,配置对应功能。
推流回调逻辑
播推流状态回调中开播(publish)状态回调逻辑:
RTMP推流在阿里云直播服务收到On Publish消息后2秒内,如果推流端不主动断开,阿里云直播服务就会发送推流成功回调。
假设您有推流域名A和播流域名B,如果您的域名B使用拉流直播(固定拉流和触发回源拉流)需要回调,请在域名A配置推流回调。配置后域名B的拉流回调逻辑与上述一致,建联后默认2秒无主动断开即认为拉流成功,需要确保收到数据才认为成功。
建议您根据回调通知判断推流、拉流接入是否正常。可以同时配合在线流列表查询推流正常后,再下发直播流播放地址。
回调鉴权
推流回调鉴权功能默认关闭,用户可在配置推流回调地址时启用鉴权。启用功能后,鉴权逻辑如下:
阿里云视频直播发起回调请求时在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。
回调消息接收服务端接收回调消息时,将回调域名、ALI-LIVE-TIMESTAMP取值、鉴权Key进行拼接后计算MD5值,得到加密字符串,再将计算出的加密字符串与视频直播发起的HTTP(S)请求头中的ALI-LIVE-SIGNATURE字段值进行对比。如果不一致,则请求非法。