最近更新时间:2024-03-25 19:48:30
请先联系商务开通云直播服务、CDN服务、KS3服务及点播转码服务
主账号需要有可用的AKSK,用于存放录像文件的bucket设置为公开读写
配置生效时间默认为5分钟
配置作用时间是在直播推流开始时刻,录制过程中不更新配置
开通MP4/FLV录像功能,需要先开启HLS录像
支持录像的直播中心:华北1(北京)、华北2(北京)、东南亚1(新加坡)
文件保存时间可以自定义修改,在对象存储(KS3)控制台操作即可
直播录像是对音视频封装格式的转换,不修改编码参数,因此当同一个录制文件前后编码参数不一致时,可能导致MP4、FLV录制文件异常。当相同流名前后推流编码参数不一致时建议关闭拼接功能,若有拼接需求可通过媒体处理将文件拼接
切割:设置切割时长,当录制文件超过设定的切割时长后将按照命名规则生成新文件。假设推流6h,设置切割时长为2h,即每过2h会生成一次录制文件,最终会产生3个命名不同的文件。
断流拼接:假设断流拼接时长设为3min,断流3min之内重新推流,会在之前的录制文件后拼接;如果超过3min,重新推流,会按命名规则生成新文件。
云直播控制台开通
录制文件格式支持:HLS、MP4、FLV
录像生成规则:同流名3分钟(可配)内断流重推对录像文件进行拼接,录像文件总时长超过6小时(可配)进行切割
ks3存储空间: 自定义设置
ks3存储路径:/record/{App}/{StreamName}/hls/
文件名:{StreamName}-{StartTime}-{EndTime}.m3u8
文件名格式:[流名]-[文件开始录制时间]-[文件结束录制时间].m3u8
存储路径:/record/{App}/{StreamName}/hls/{StreamName}-{StartTime}-{EndTime}.m3u8
示例:/record/yourapp/yourstream/hls/yourstream-1585829187-1585829324.m3u8
录像生成规则:同一条直播流3分钟(可配)内断流重推对录像文件进行拼接,录像文件总时长超过6小时进行切割
ks3存储空间: 自定义设置
ks3存储路径:/record/{App}/{StreamName}/mp4/
文件名:{StreamName}-{StartTime}-{EndTime}.mp4
文件名格式:[流名]-[文件开始录制时间]-[文件结束录制时间].mp4
示例:/record/yourapp/{yourstream}/mp4/yourstream-1585829187-1585829324.mp4
录像生成规则:同流名3分钟(可配)内断流重推对录像文件进行拼接,录像文件总时长超过6小时(可配)进行切割
ks3存储空间: 自定义设置
ks3存储路径:/record/{App}/{StreamName}/flv/
文件名:{StreamName}-{StartTime}-{EndTime}.flv
文件名格式:[流名]-[文件开始录制时间]-[文件结束录制时间].flv
示例:/record/yourapp/{yourstream}/flv/yourstream-1585829187-1585829324.flv
在云直播控制台配置录像文件的回调url即可,在录像文件生成后我们会通过HTTP POST的方式发回调通知您。
回调信息如下:
{
"status":3,
"taskid":"xxxxx",
"items":[
{
"desc":"success",
"keys":[
"/record/yourapp/StreamName/hls/StreamName-1594951180-1594953010.m3u8"
],
//以下为历史遗留字段,无实际意义,忽略即可
"cmd":"",
"vdoid":"",
"code":3
}
],
"mediaSize":0
}
如您需要在回调内容中增加录像文件的开始时间、结束时间、bucket等信息,请联系技术支持配置新版hls录像回调。
参数 | 示例 | 描述 |
---|---|---|
status | 3 | 任务执行的状态(3:成功;4:失败) |
taskid | 00PNwad2wdoO | 执行本次录像操作的唯一任务ID |
desc | success | 任务执行的结果 |
keys | 见回调示例 | m3u8文件在ks3中的路径 |
在云直播控制台配置录像文件的回调url即可,在录像文件生成后我们会通过HTTP POST的方式发回调通知您。
{
"taskid":"eb12e806cd3042345919d4ee8e539ez120230505",
"type":"avtrans",
"details":{
"errnum":0,
"bucket":"yourks3bucket",
"starttime":"1456800010",
"endtime":"1456800020",
"stream":"yourstreamname",
"items":[
{
"dstpath":"/record/yourapp/StreamName/mp4/StreamName-1594951180-1594953010.mp4",
"outMediainfo":"{\"metadata\":{},\"format\":{\"format_name\":\"mp4\",\"size\":1027254935,\"duration\":\"5241\",\"bit_rate\":1568024},\"streams\":[{\"codec_name\":\"h264\",\"codec_type\":\"video\",\"width\":1280,\"height\":720,\"r_frame_rate\":\"25/1\"},{\"index\":1,\"codec_name\":\"aac\",\"codec_type\":\"audio\",\"channels\":2,\"sample_rate\":32000}]}"
}
]
},
//以下为历史遗留字段,无实际意义,忽略即可
"items":[
{
"cmd":"tag=avtranstag=saveas&bucket=media-kslive&object=YTMwNGQzNzQzZTdhNGRmNmE1NzAwZjkxNDJhY2RjZTlfdmRvaWQyMDE3MDkwNC5tcDQ=",
"desc":"success",
"keys":[
"xxxxx.mp4"
],
"code":3
}
],
"status":3
}
字段名 | 类型 | 描述 |
---|---|---|
taskid | string | 任务ID |
type | string | 任务类型 |
details | json object | 更详细的信息 |
对details更详细的说明:
字段名 | 类型 | 描述 |
---|---|---|
errnum | int | 任务执行状态码,0为成功,非0失败 |
errmsg | string | errnum!=0时展示详细错误信息 |
bucket | string | 存储录像文件的ks3bucket |
stream | string | 流名 |
starttime | string | 该流起始时间 |
endtime | string | 该流结束时间 |
items | json array | 录像文件详细音视频信息 |
对items更详细的说明:
字段名 | 类型 | 描述 |
---|---|---|
dstpath | string | 文件在ks3中的路径 |
outMediainfo | string | 音视频信息,string内部是json串 |
对输出文件信息outMediainfo的说明
字段名 | 类型 | 描述 |
---|---|---|
metadata | json object | 视频metadata,读取不到置空 |
streams | json array | 视频及音频信息列表 |
format | json object | 视频文件信息 |
metadata部分
字段名 | 类型 | 描述 |
---|---|---|
rotate | string | 旋转信息 |
streams部分
字段名 | 类型 | 描述 |
---|---|---|
index | int | 序号 |
codec_type | string | 流类型 |
codec_name | string | 编码格式 |
bit_rate | int | 码率,单位bps |
width | int | 宽 |
height | int | 高 |
r_frame_rate | string | 帧率 |
channels | int | 声道数 |
sample_rate | int | 音频采样率 |
format部分
字段名 | 类型 | 描述 |
---|---|---|
duration | string | 文件时长,单位秒 |
format_name | string | 文件格式 |
size | int | 文件大小,单位字节 |
bit_rate | int | 文件平均码率,单位bps |
纯净模式