录制文件生成回调
描述
当开发者有直播的回看功能的需求时,在开启后台录制的功能后,APP 在 CDN 上有流被录制完成时,将会以 POST 的形式对回调地址进行请求。
回调说明
- 请求方法:POST。
说明
回调数据格式为 JSON,您需要对其进行 UrlDecode 解码。
- 请求地址:请在 ZEGO 控制台 上配置回调地址。
- 传输协议:HTTPS/HTTP,建议使用 HTTPS。
回调参数
参数 | 类型 | 描述 |
---|---|---|
stream_alias | String | 流名,对应客户端的 StreamID,不超过 255 字节。 |
replay_url | String | 回看地址,不超过 1024 字节。 |
begin_time | String | 开始时间,Unix 时间戳。 |
end_time | String | 结束时间,Unix 时间戳。 |
timestamp | String | 服务器当前时间,Unix 时间戳。 |
nonce | String | 随机数。 |
signature | String | 检验串,请参考 回调说明 - 检验说明。 |
appid | String | AppId。 |
event | String | 回调事件,此回调返回值为 record。 |
extra_params | String | 扩展字段。不同的 CDN 厂商对应的扩展字段不同,请参考下表。 |
在使用不同的厂商提供的 CDN 服务时,extra_params 参数如下:
CDN 厂商 | extra_params 参数 | 类型 | 描述 |
---|---|---|---|
Tencent(腾讯云) | TaskId | String | 录制任务唯一标识。 |
FileID | String | 录制文件唯一标识。 | |
Duration | Float | 录制时长。 | |
Ws(网宿) | PersistentId | String | 录制唯一标识。 |
Duration | Float | 录制时长。 | |
Huawei(华为云) | Duration | Float | 录制文件的时长,单位:秒。 |
ObsObject | String | 录制文件的 OBS 存储路径。 | |
FileSize | UInt32 | 文件大小,单位:Byte。 |
数据示例
{
"stream_alias": "aaaa",
"replay_url": "replay_url",
"begin_time": "1481597358",
"end_time": "1481597358",
"timestamp": "1481597358",
"nonce": "158273",
"signature": "signature",
"appid": "1",
"event": "record",
"extra_params": "extra_params"
}
返回响应
返回 HTTP status code 为 2XX (例如 200)表示成功,其他响应都表示失败。
回调重试策略
如果 ZEGO 服务器没有收到响应,或收到的 HTTP status code 不为 2XX(例如 200),都会尝试重试,最多进行 5 次重试。每次重试请求与上一次请求的间隔时间分别为 2s、4s、8s、16s、32s。若第 5 次重试后仍然失败,将不再重试,该回调丢失。