视频直播提供直播推流状态、直播录制、直播截图和智能审核的事件回调,本文介绍如何通过控制台配置对应的回调事件。
前提条件
视频直播服务目前支持HTTP回调(兼容HTTPS)方式获取事件通知。您需要部署一个HTTP服务来接收回调消息,并在控制台或通过API配置回调地址。
当推流或断流事件产生时,直播服务端会向该地址发起HTTP GET请求,具体内容将通过URL参数送达。
当其他事件产生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。
使用场景
当直播过程中某些事件被触发时,阿里云将主动发送请求到客户服务器,客户服务器负责应答请求,验证通过后,您可接收到事件回调信息的JSON数据包。
视频直播支持回调直播推流状态、直播录制(按需录制)、直播截图、智能审核(视频审核、语音审核)事件的信息,不同回调事件对应的回调参数和示例详见回调管理。
使用限制
回调地址URL无需标识,只需可正常访问,URL的应答有如下要求:如果访问超时,会重试URL,目前超时时间是5秒,重试次数5次,重试间隔1秒。
推流回调只能在推流域名的回调事件中进行配置和编辑。录制回调、截图回调、视频审核回调、语音审核回调只能在对应播放域名的回调事件中进行配置和编辑。
功能介绍
事件回调分为推流回调与播流回调
操作指南
- 登录视频直播控制台。
在左侧导航栏单击功能管理>事件回调,进入事件回调页面。
选择您要配置的推/播流域名,推流域名支持设置推流回调,播流域名支持设置录制回调、截图回调、视频审核回调和语音审核回调。
在回调设置页签下,配置对应功能。
推流回调
开启推流回调开关。
配置回调参数。
参数
说明
回调地址
回调地址为您自身拥有的地址,当推流或断流事件产生时,直播服务端会向该地址发起HTTP GET请求,具体内容将通过URL参数传递。
回调鉴权
选择是否为推流回调地址开启鉴权。如需鉴权,打开鉴权开关,输入鉴权key。
单击确定。
回调方式和回调内容,请参见直播推流状态回调。您还可以调用APISetLiveStreamsNotifyUrlConfig - 设置推流回调通知地址配置。
录制回调
开启录制回调开关。
配置回调参数。
参数
说明
回调地址
回调地址为您自身拥有的地址,当录制回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。
触发事件
文件生成回调:录制文件生成时产生回调。
录制状态回调:录制文件生成、录制开始、暂停、继续录制事件均生成回调。
按需回调地址
设置按需录制方式后,当开始推直播流时,直播录制服务会发送一条HTTP回调给事先设定的按需回调地址,通过该回调的返回内容决定是否录制这条直播流。按需回调地址默认
*
,表示关闭按需录制功能。说明设置按需回调地址前,需调用接口添加录制配置配置录制规则。其中
OnDemand
字段设置为1
,表示通过HTTP回调开启按需录制。单击确定。
回调方式和回调内容,请参见直播录制回调。您还调用APIAddLiveRecordNotifyConfig - 添加域名级别录制回调配置。
截图回调
开启截图回调开关。
配置回调参数。
参数
说明
回调地址
回调地址为您自身拥有的地址,当截图回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。
回调鉴权
选择是否为推流回调地址开启鉴权。如需鉴权,打开鉴权开关,输入鉴权key。
回调方式和回调内容,请参见直播截图回调。您还可以调用APIAddLiveSnapshotNotifyConfig - 添加截图回调配置。
视频审核回调
开启视频审核回调开关。
配置回调地址。
回调地址为您自身拥有的地址,当视频审核回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。
单击确定。
回调方式和回调内容,请参见智能审核回调。您还可以调用APIAddLiveDetectNotifyConfig - 添加回调通知URL。
目前仅部分直播中心支持直播智能审核,具体支持该功能的直播中心,请参见服务地域。
视频审核只会针对有问题的视频内容进行回调通知,通知内容包含问题视频截图的审核信息和存储信息。可在您的回调服务器中查看回调信息。回调信息的格式与示例,请参见智能审核回调。
在OSS中查找识别的内容。您可以根据审核回调信息,在OSS控制台查找指定的审核内容。
根据AppName与StreamName查找指定的审核内容。
根据推流日期查找指定的审核内容。
语音审核回调
开启语音审核回调开关。
配置回调地址。
回调地址为您自身拥有的地址,当语音审核回调事件发生时,直播服务端会向该地址发起HTTP POST请求,具体内容将通过JSON Body送达。
单击确定。
回调方式和回调内容,请参见智能审核回调。您还可以调用APIAddLiveAudioAuditNotifyConfig - 添加音频审核回调信息。
语音审核只会对于有问题的音频内容进行回调通知,通知内容包含问题语音的文本信息以及最近一分钟内的上下文信息。可在您的回调服务器中查看回调信息。回调信息的格式与示例,请参见智能审核回调。
在OSS中查找识别的内容。您可以根据审核回调信息,在OSS控制台查找指定的审核内容。
根据AppName与StreamName查找指定的审核内容。
根据推流日期查找指定的审核内容。
推流回调逻辑
播推流状态回调中开播(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字段值进行对比。如果不一致,则请求非法。