开停播通知
视频直播提供了直播流开停播通知功能,您可以在直播控制台中为推流域名添加接收直播推流或断流通知的地址,通过HTTP接口向用户服务器发送POST请求,将直播流推送成功或中断的状态实时反馈到用户服务器,用户服务器通过200响应返回接口结果。
注意事项
在“亚太-曼谷”区域,完成开停播通知配置后需提交工单申请配置审核,审核通过后开停播通知配置才生效。
启用开停播通知功能后,直播活动中的每一次推流和断流都将会接收到相应的直播状态通知消息。但在推流和断流时间比较相近的情况下,由于网络传输等原因可能会影响服务端接收到消息的时序,即可能会导致接收到的推流和断流通知消息的先后顺序无法对应上。您需要通过查看通知消息中的推流Unix时间戳参数publish_timestamp,确定推流和断流消息是否属于同一次推流活动(同一次推流活动产生的推流和断流通知消息的时间戳是相同的)。
新增开停播通知配置
管理开停播通知配置
推流开停播通知配置完成后,还可以根据实际需要进行如下操作。
回调示例
直播推流和断流生成事件通知示例如下。通知消息体字段如表2所示。
{ "domain":"push.example.com", "app":"live", "stream":"example_stream", "user_args":"auth_info=yz1TG0PVN/5isfyrGrRj10gKPCWqSS2X02t6QsRrocH+mEq0gQ0g8k6KhalS84sQ+kDprFyqI0yajbYiFmUO8e45B7ryaS+MpJBlYkhwnuFLnRiKK/IXG7.33436b625354564f6e4d4d434f55&cdn=hw", "client_ip":"100.111.*.*", "node_ip":"112.11.*.*", "publish_timestamp":"1587954134", "event":"PUBLISH", "auth_timestamp":1587954140, "auth_sign":"ff3b2bxxx5cfd56e76d72bed4c4aa2dxxxca8c2e46467d205a6417d4fc" }
字段 |
描述 |
---|---|
domain |
推流域名。 |
app |
应用名称。 |
stream |
流名称。 |
user_args |
推流参数。 |
client_ip |
推流客户端IP。 |
node_ip |
接受流的节点IP。 |
publish_timestamp |
推流Unix时间戳,一次推流活动会产生相同时间戳的推流和断流消息。 |
event |
直播推流和断流标识。 取值为:
|
auth_timestamp |
事件通知签名过期UNIX时间戳。当配置了“鉴权密钥”时,携带该字段。 格式为十进制的UNIX时间戳,即从1970年1月1日(UTC/GMT的午夜)以来的当前时间秒数。 示例:1592639100(即2020-06-20 15:45) |
auth_sign |
事件通知签名。当配置了“鉴权密钥”时,携带该字段。 auth_sign = HmacSHA256(event + domain + app + stream + auth_timestamp, key) 其中,key为鉴权密钥值。 |