tencent cloud

文档反馈

录制文件事件通知

最后更新时间:2024-01-17 17:54:16
    直播录制是根据推流域名已绑定好的录制模板实时录制直播流画面,并生成对应的录制文件存储到云点播中。而录制回调则用于推送录制文件信息,录制部分文件格式是分片的,在一个分片文件录制出来的时候会产生回调主要包括录制切片的开始时间、结束时间、生成的录制文件 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 是否正确,进而确认消息是否确实来自腾讯云后台。
    说明
    key 为 功能配置>直播回调 中的回调密钥,主要用于鉴权。为了保护您的数据信息安全,建议您填写。
    
    
    

    回调消息参数

    字段名称
    类型
    说明
    appid
    int
    用户 APPID
    app
    string
    推流域名
    appname
    string
    推流路径
    stream_id
    string
    直播流名称
    channel_id
    string
    同直播流名称
    file_id
    string
    点播 file ID,在 云点播平台 可以唯一定位一个点播视频文件
    record_file_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
    int
    录制开始拉流收到的首帧 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
    }
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持