视频直播 LIVE-直播事件回调:录制回调
录制回调
直播录制至OBS提供了录制回调功能,用于推送录制状态信息,包括录制开始、开始创建新的录制文件、录制文件生成完成、录制结束和录制失败。回调消息字段如表2所示。
字段 |
描述 |
---|---|
project_id |
项目ID。 |
job_id |
用于标识同一个文件。当“event_type”为“RECORD_NEW_FILE_START”或“RECORD_FILE_COMPLETE”时,携带该字段。 |
task_id |
录制任务ID,用于唯一标识一个录制任务。 |
event_type |
消息类型。 取值如下:
|
publish_domain |
直播推流 域名 。 |
app |
应用名。 |
stream |
录制的流名。 |
record_format |
录制格式,支持HLS、FLV和MP4格式。 |
download_url |
录制文件的下载地址。当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 说明:
使用该下载地址用于视频播放无法保证播放效果。 |
asset_id |
用于标识一个录制文件。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
file_size |
文件大小。 单位:Byte。 |
record_duration |
录制文件的时长。 单位:秒。 |
start_time |
录制文件的开始时间,即接收到第一帧数据的时间,格式为yyyy-mm-ddThh:mm:ssZ。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
end_time |
录制文件的结束时间,格式为yyyy-mm-ddThh:mm:ssZ。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
width |
录制文件分辨率的宽。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
height |
录制文件分辨率的高。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
obs_location |
存储录制文件的OBS桶所在区域。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
obs_bucket |
存储录制文件的OBS桶。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
obs_object |
OBS桶存储录制文件的路径。 当“event_type”为“RECORD_FILE_COMPLETE”时,携带该字段。 |
auth_sign |
事件通知签名。当配置了“鉴权密钥”时,携带该字段。
其中,key为鉴权密钥值。 |
auth_timestamp |
事件通知签名过期UNIX时间戳。当配置了“鉴权密钥”时,携带该字段。 格式为十进制的UNIX时间戳,即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。 若 消息通知 中的auth_timestamp值所指定的时间已经过期,则此消息通知无效,进而防止网络重放攻击。 |
error_message |
录制失败的描述信息。 当“event_type”为“RECORD_FAILED”时,携带该字段。 |
消息示例如下所示:
- 录制开始事件,即“event_type”=“RECORD_START”,若配置了录制模板和录制回调,则直播推流开始时,开始录制,产生该事件回调。
{ "project_id" : "70b76xxxxxx34253880af501cdxxxxxx", "publish_domain" : "push.example.com", "event_type" : "RECORD_START", "app" : "live", "stream" : "mystream", "record_format" : "HLS", "file_size" : 3957964, "record_duration" : 120 }