流状态实时信息回调,可以及时通知用户推流或断流操作结果。
原理
通过HTTP接口向用户服务器发送GET请求,将视频流推送成功。断流成功的状态实时反馈给用户,用户服务器通过200响应返回接口返回结果。
注意事项
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
字段值进行对比。如果不一致,则请求非法。
举例说明
http://1.1.1.1?action=publish&ip=192.168.XX.XX&id=world&app=example.aliyundoc.com&appname=liveApp****&time=1609220385&usrargs={用户参数}&
node=cdnvideocenter01020711****.cm3&height=720&width=1280
参数 | 描述 |
action | 事件。
|
ip | 推流的客户端IP。 |
id | 推流流名称。 |
app | 推流域名。默认为自定义的推流域名,如果未绑定推流域名即为播流域名。 |
appname | 推流应用名称。 |
time | Unix时间戳。单位:秒。 |
usrargs | 用户推流的参数。 |
node | CDN接受流的节点或者机器名。 |
height | 分辨率的高。单位:像素。 说明 分辨率信息(height和width)仅在首次回调时产生。 |
width | 分辨率的宽。单位:像素。 |