接口功能介绍
支持直播转码、直播录制、直播截图和直播审核等媒体处理模板参数设置。
使用说明
此接口需与“绑定/解绑媒体处理模板”接口搭配使用,才可实现进行域名的媒体处理配置
接口详情
请求方式:POST
请求路径:/live/media-template/create-media-template
请求JSON参数
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
TemplateType | string | 模板类型 | 是 | live-tran:直播转码 live-record:直播录制 live-snapshot:直播截图 live-identify:直播审核 |
TemplateName | string | 模板名称 | 是 | 1至10个大小写英文字符、数字及“-“符号 选择直播转码时,此参数值为转码请求uri中的档位参数,如md |
Description | string | 模板描述 | 否 | 1至255 个字符 |
Params | dict | 模板参数 | 是 | 见下文说明 |
转码参数Params
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
Output | list | 参数集 | 是 | 输出文件的相关参数,目前只支持配置一个 |
Video | dict | 视频参数集 | 否 | 视频设置补充参数集 |
Output结构
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
Format | dict | 参数内容 | 是 | 转码输出流关键参数集 |
Format结构
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
Vcodec | string | 编码方式 | 是 | 1:H264 2:H265 |
OutputFormat | string | 推荐模板 | 否 | ld:流畅 sd:标清 hd:高清 ud:超清 设置此参数值后,使用默认值,无须再设置具体值。 亦可以选择不设置此参数,进行下面几个参数(从Vbr至SeiContent)的自定义配置。 |
Vbr | string | 视频码率 | 否 | 若未设置OutputFormat参数,则该参数必填。 取值范围为100~8000。 |
Width | string | 视频分辨率宽度 | 否 | 若未设置OutputFormat参数,则该参数必填。 取值范围为100~8000,必须为2的倍数。 |
Height | string | 视频分辨率高度 | 否 | 若未设置OutputFormat参数,则该参数必填。 取值范围为100~8000,必须为2的倍数。 |
Fr | string | 视频帧率 | 否 | 取值范围为5~60 |
Abr | string | 音频码率 | 否 | 取值范围为10~500 |
Asr | int | 音频采样率 | 否 | 取值范围>0 |
Acodec | string | 音频编码 | 否 | 1:AAC 2:PCM |
Gop | int | Gop | 否 | 取值范围为1~20 |
SeiType | int | SEI类型 | 否 | 取值范围:5、-1,默认-1(即不新增sei) |
SeiPattern | string | SEI模式 | 否 | 取值范围:keyframe |
SeiContent | string | SEI内容 | 否 | 长度限制为4000字节,SEI值不为-1时,SeiContent不能为空 |
推荐模板参数值:
Vcodec | OutputFormat | Acodec | Width | Height | Fr | Vbr(bps) | Asr(Hz) | Abr(bps) |
---|---|---|---|---|---|---|---|---|
H264 | ld | AAC | 480 | 360 | 18 | 500k | 22050 | 48k |
H264 | sd | AAC | 1280 | 720 | 25 | 1100k | 44100 | 96k |
H264 | hd | AAC | 1920 | 1080 | 30 | 2000k | 44100 | 128k |
H264 | ud | AAC | 2560 | 1440 | 30 | 3000k | 44100 | 128k |
H265 | ld | AAC | 480 | 360 | 18 | 400K | 22050 | 48k |
H265 | sd | AAC | 1280 | 720 | 25 | 800K | 44100 | 96k |
H265 | hd | AAC | 1920 | 1080 | 30 | 1400K | 44100 | 128k |
H265 | ud | AAC | 2560 | 1440 | 30 | 2000k | 44100 | 128k |
Video结构
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
Logo | list | Logo | 否 | 输出文件的相关参数,目前只支持配置一个 |
Logo结构
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
Pic | string | 水印图片地址 | 否 | 水印图片地址 |
OptimalW | int | 水印宽度 | 否 | 水印宽度,占直播原始画面宽度百分比,建议高宽只设置一项,另外一项会自适应缩放,避免变形。 默认原始宽度。最大30% |
OptimalH | int | 水印高度 | 否 | 水印高度,占直播原始画面高度百分比,建议高宽只设置一项,另外一项会自适应缩放,避免变形。 默认原始高度。最大50% |
OffsetX | int | OffsetX | 否 | 显示位置,X轴偏移,单位是百分比,默认0。 |
OffsetY | int | OffsetY | 否 | 显示位置,Y轴偏移,单位是百分比,默认0。 |
录制参数Params
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
Output | list | 参数集 | 是 | 输出文件的相关参数,目前只支持配置一个 |
Output[].Format | string | 输出文件的封装格式 | 是 | hls、flv、mp4、aac四种格式,格式名统一小写 |
Output[]. SegmentTime | string | 录制文件分段时长 | 否 | 取值范围:5~86400(单位秒) 1.当format为hls时,该字段代表ts文件的切片时长 2.当format为hls时,默认切片时长为10秒,为其它格式时默认分段为6小时 |
Output[].OssFilePath | string | 文件存储路径 | 否 | 设置录制文件在媒体存储的存放路径,可配置固定值及变量,变量包含: app_name:频道名 stream_name:流名 task_start_time:任务开始UTC时间戳 默认: record/ {app_name}/ {task_start_time} |
Output[]. OssFileName | string | 文件命名规则 | 否 | 设置录制文件的命名规则,可配置固定值及变量,变量包含: app_name:频道名 stream_name:流名 file_start_time:录制文件开始UTC时间戳 file_end_time:录制文件结束UTC时间戳 默认: {file_start_time}_ {file_end_time} |
OssRegion | string | OSS的Region名称 | 是 | OSS的Region名称 |
OssBucket | string | OSS的Bucket名称 | 是 | OSS的Bucket名称 |
OssEndpoint | string | OSS的服务地址 | 是 | OSS的服务地址 |
OssExpiration | int | OSS的生命周期 | 是 | OSS的生命周期,单位为天,取值范围1~3650 即在对象在创建多少天后将其删除 |
截图参数Params
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
Output | list | 参数集 | 是 | 输出文件的相关参数,目前只支持配置一个 |
Output.Format | string | 图片格式 | 是 | 支持jpg、png格式名统一小写,默认jpg |
Output.Interval | string | 截图间隔时长 | 否 | 截图间隔时长,单位 秒,默认10秒 |
Output. SamplingSnapshot | int | 是否截关键帧 | 否 | 0:是; 1:否 |
Output.OssFilePath | string | 截图存储路径 | 否 | 截图路径, 可配置固定值及变量,变量包含: app_name:频道名 stream_name:流名 task_start_time:任务开始UTC时间戳 默认:snapshot/ {app_name}/ {stream_name} |
Output.OssFileName | string | 截图文件命名规则 | 否 | 截图命名,可配置固定值及变量,变量包含: app_name:频道名; stream_name:流名; file_start_time:截图文件开始时间 默认:${file_start_time} |
OssRegion | string | OSS存储的Region名称 | 是 | 1至255个字符 |
OssBucket | string | OSS存储的Bucket名称 | 是 | 1至255个字符 |
OssEndpoint | string | OSS存储的Endpoint名称 | 是 | 1至255个字符 |
OssExpiration | int | 存储时长 | 是 | 1-3650,单位为天,即在对象创建多少天后将其删除 |
审核参数Params
参数名 | 类型 | 名称 | 是否必填 | 说明 |
---|---|---|---|---|
IdentifyType | int | 审核类型 | 是 | 取值: 1:反色情 |
Output | list | 直播审核参数 | 否 | |
Output.Format | string | 截图格式 | 是 | 支持jpg、png,默认jpg |
Output.Interval | string | 截图间隔 | 否 | 5至86400(单位秒)默认10秒 |
OssRegion | string | OSS存储的Region名称 | 是 | 1至255个字符 |
OssBucket | string | OSS存储的Bucket名称 | 是 | 1至255个字符 |
OssEndpoint | string | OSS存储的Endpoint名称 | 是 | 1至255个字符 |
响应JSON参数
参数名 | 类型 | 名称 |
---|---|---|
code | int | 状态码 |
message | string | 描述信息 |
TemplateID | string | 模板id |
示例
请求路径:https://cdnapi-global.ctapi.ctyun.cn/live/media-template/create-media-template
转码示例
请求JSON示例
{
"TemplateType": "live-tran",
"TemplateName": "tes1111t11",
"Description": "csacsacas",
"Params": {
"Output": [{
"Format": {
"Vcodec": "1",
"Vbr": "5000k",
"Width": "1920",
"Height": "1080",
"Abr": "100k",
"Asr": 10,
"Acodec": "1",
"Gop": 10,
"SeiType": 5,
"SeiPattern": "keyframe",
"SeiContent": "test"
}
}],
"Video": {
"Logo": [{
"Pic": "ctyun.cn.jpg",
"OptimalW": 100,
"OptimalH": 10,
"OffsetX": 10,
"OffsetY": 10
}]
}
}
}
正常响应JSON示例
{
"code": 100000,
"message": "success",
"TemplateID": "65shhklue975easaa457"
}
录制示例
请求JSON示例
{
"TemplateName": "tes11t11",
"TemplateType": "live-record",
"Params":{
"OssBucket": "test_bucket",
"OssRegion": "test_region",
"OssEndpoint": "ctyun.cn",
"OssExpiration": 1,
"Output":[{"Format":"flv"}]
}
}
正常响应JSON示例
{
"code": 100000,
"message": "success",
"TemplateID": "65shhklue975easaa457"
}
截图示例
{
"TemplateName": "tes11t111",
"TemplateType": "live-snapshot",
"Params":{
"OssBucket": "test_bucket",
"OssRegion": "test_region",
"OssEndpoint": "ctyun.cn",
"OssExpiration": 1,
"Output":[{"Format":"jpg"}]
}
}
审核示例
{
"TemplateType": "live-identify",
"TemplateName": "tes11t111",
"Description": "identifytest",
"Params": {
"IdentifyType": 1,
"Output": [{
"Format": "jpg",
"Interval": "10"
}],
"OssBucket": "test_bucket",
"OssRegion": "test_region",
"OssEndpoint": "ctyun.cn"
}
}
正常响应JSON示例
{
"code": 100000,
"message": "success",
"TemplateID": "65shhklue975easaa457"
}