这篇主要讲解触发录制文件回调事件后,腾讯云直播发送给用户的回调消息通知字段。
一、注意事项
·阅读这篇之前,希望你已经了解腾讯云直播是如何配置回调功能、你是如何接收回调消息的,具体请参见 如何接收事件通知。
·录制的视频文件默认保存至 云点播 控制台,同时支持选择存储至 对象存储 产品,建议提前开通点播服务或对象存储服务,并可提前选购点播相关资源包,避免点播业务欠费停用。
·当通过 API 创建录制任务 时,录制回调不会返回用户推流 URL 所带stream_param参数,其它录制方式会返回。
·配置了 HLS 续录功能后,中间断流不会回调,默认续流只回调最终生成文件。
二、事件类型参数
| 事件类型 | 字段取值说明 |
| 直播录制(文件) | event_type = 100 |
三、回调公共参数
| 字段名称 | 类型 | 说明 |
| t | int64 | 过期时间,事件通知签名过期 UNIX 时间戳。来自腾讯云的消息通知默认过期时间是10分钟,如果一条消息通知中的 t 值所指定的时间已经过期,则可以判定这条通知无效,进而可以防止网络重放攻击。t 的格式为十进制 UNIX 时间戳,即从1970年01月01日(UTC/GMT 的午夜)开始所经过的秒数。 |
| sign | string | 事件通知安全签名 sign = MD5(key + t)。说明:腾讯云把加密 key 和 t 进行字符串拼接后通过 MD5 计算得出 sign 值,并将其放在通知消息里,你的后台服务器在收到通知消息后可以根据同样的算法确认 sign 是否正确,进而确认消息是否确实来自腾讯云后台。 |
注意:key 为 功能配置 > 直播回调 中的回调密钥,主要用于鉴权。为了保护你的数据信息安全,建议你填写。
注意:
四、录制文件回调消息参数
| 字段名称 | 类型 | 说明 |
| appid | int | 用户 APPID |
| app | string | 推流域名 |
| appname | string | 推流路径 |
| stream_id | string | 直播流名称 |
| channel_id | string | 同直播流名称 |
| file_id | string | 点播 file ID,在 云点播平台 可以唯一定位一个点播视频文件 |
| record_file_id | string | 点播文件 ID |
| record_temp_id | string | 录制任务模板 ID,存在且非空则表示模板任务产生的文件,否则表示全局任务产生的文件 |
| file_format | string | FLV,HLS,MP4,AAC |
| task_id | string | 录制任务 ID,仅 API 创建的录制任务有意义,即 CreateRecordTask 返回的任务 ID |
| start_time | int64 | 录制任务启动时间 |
| end_time | int64 | 录制任务结束时间 |
| start_time_usec | int | 录制任务启动时间,微秒部分 |
| end_time_usec | int | 录制任务结束时间,微秒部分 |
| duration | int64 | 录制文件时长,单位秒,start_time 与 end_time 差值相较 duration 正常情况下会存在偏差,特别是弱网以及推流异常等情况偏差较大 |
| file_size | uint64 | 录制文件大小,单位字节 |
| stream_param | string | 用户推流 URL 所带参数(自定义) |
| video_url | string | 录制文件下载 URL |
| media_start_time | int64 | 录制开始拉流收到的首帧 pts (并不一定是文件首帧 pts) |
| record_bps | int | 录制从转码拉流录制对应的码率(单位 kbps) |
| callback_ext | string,json 对象字符串 | json对象包含多个字段,其中:video_codec 为推流视频 codec 名称resolution 为推流视频分辨率session_id 为录制任务 ID以上均为录制回调扩展字段,仅供业务参考。不建议业务逻辑强依赖这些字段 |
五、回调消息示例
{ "event_type": 100, "appid": 12345678, "app": "yourapp", "callback_ext": "{\\"video_codec\\":\\"h264\\",\\"resolution\\":\\"640×480\\"}", "appname": "yourappname", "stream_id":"stream_test", "channel_id":"stream_test", "file_id":"1234567890", "record_file_id": "1234567890", "file_format":"hls", "task_id":"UpTbk5RSVhRQ********************0xTSlNTQltlRVRLU1JAWW9EUb", "start_time":1642089445, "end_time":1642089598, "start_time_usec": 316441, "end_time_usec": 618577, "duration":154, "file_size":277941079, "stream_param":"stream_param=test", "video_url":"http://12345678.vod2.myqcloud.com/xxxx/yyyy/zzzz.m3u8", "media_start_time": 135802, "record_bps": 0, "sign":"ca3e25e**********09a9ae7281e300d", "t":1545030873}