直播录制是根据推流域名已绑定好的录制模板实时录制直播流画面,并生成对应的录制文件存储到云点播中。而录制回调则用于推送录制文件信息,录制部分文件格式是分片的,在一个分片文件录制出来的时候会产生回调主要包括录制切片的开始时间、结束时间、生成的录制文件 ID、录制文件大小和文件下载地址。您需在回调模板中配置录制回调消息接收服务器地址,并将该模板与推流域名进行关联。当直播流触发录制事件后,腾讯云直播后台会将录制文件信息回调到您设置的接收服务器中。
本文主要讲解触发录制文件回调事件后,腾讯云直播发送给用户的回调消息通知字段。
注意事项
阅读本文之前,希望您已经了解腾讯云直播是如何配置回调功能、您是如何接收回调消息的,具体请参见 如何接收事件通知。
录制的视频文件默认保存至 云点播 控制台,建议提前开通点播服务,并可提前选购点播相关资源包,避免点播业务欠费停用。
当通过 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 是否正确,进而确认消息是否确实来自腾讯云后台。 |
录制文件回调消息参数
字段名称 | 类型 | 说明 |
appid | int | 用户 APPID |
app | string | 推流域名 |
appname | string | 推流路径 |
stream_id | string | 直播流名称 |
channel_id | string | 同直播流名称 |
file_id | string | |
record_file_id | string | 点播文件 ID |
file_format | string | FLV,HLS,MP4,AAC |
task_id | string | |
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\\":\\"640x480\\"}","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}