创建模板

最近更新时间:2025-08-29 15:03:52

我的收藏

功能描述

创建极速高清转码模板。

授权说明

通过子账号使用时,需要在 授权策略 的 action 中添加 ci:CreateMediaTemplate 权限。数据万象支持的所有操作接口请参见 CI action

服务开通

使用该功能需提前 绑定存储桶,开通数据万象服务。
使用该功能需提前通过 控制台接口 开通媒体处理服务。
注意:
数据万象绑定后,如果您手动对存储桶进行数据万象的解绑操作,将无法继续使用该功能。

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制


请求

请求示例

POST /template HTTP/1.1
Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
Content-Type: application/xml

<body>
说明:
Authorization: Auth String,详情请参见 请求签名 文档。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求体

该请求操作的实现需要有如下请求体:
<Request>
<Tag>HighSpeedHd</Tag>
<Name>TemplateName</Name>
<Container>
<Format>mp4</Format>
</Container>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Fps>30</Fps>
<Bufsize>1000</Bufsize>
<Maxrate>10</Maxrate>
</Video>
<Audio>
<Codec>aac</Codec>
<Samplerate>44100</Samplerate>
<Bitrate>128</Bitrate>
<Channels>4</Channels>
</Audio>
<TransConfig>
<IsCheckReso>false</IsCheckReso>
<ResoAdjMethod>1</ResoAdjMethod>
</TransConfig>
<TimeInterval>
<Start>0</Start>
<Duration>60</Duration>
</TimeInterval>
</Request>

具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
保存请求的容器
Container
Container 类型
Request
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Tag
Request
模板类型: HighSpeedHd
String
Name
Request
模板名称。仅支持中文、英文、数字、_、-和*,长度不超过 64
String
Container
Request
容器格式
Container
Video
Request
视频信息
Container
TimeInterval
Request
时间区间
Container
Audio
Request
音频信息
Container
TransConfig
Request
转码配置
Container
说明:
不传 Audio,相当于删除音频信息。
Container 类型
Container
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Format
Request.Container
封装格式,可选值如下:
mp4
flv
hls
mkv
String
ClipConfig
Request.Container
分片配置, 当Format为hls时有效
Container
Container 类型 ClipConfig 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Duration
Request.Container.ClipConfig
分片时长, 默认5s
String
设定 container,音频视频支持的格式如下表:
Container
Audio Codecs
Video Codecs
mp4/hls/mkv
AAC、MP3
H.264、H.265
flv
AAC、MP3
H.264
Container 类型
Video
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Codec
Request.Video
编解码格式。可选值如下:
H.264(默认值)
H.265
String
Width
Request.Video
值范围:[128,4096]
单位:px
若只设置 Width 时,按照视频原始比例计算 Height
必须为偶数
默认值为视频原始宽度
String
Height
Request.Video
值范围:[128,4096]
单位:px
若只设置 Height 时,按照视频原始比例计算
Width
必须为偶数
默认值为视频原始高度
String
Fps
Request.Video
帧率
值范围:(0,60]
单位:fps
无默认值
String
Profile
Request.Video
编码级别。仅H.264支持此参数。可选值如下:
baseline:适合移动设备
main:适合标准分辨率设备
high(默认值):适合高分辨率设备
String
Bitrate
Request.Video
视频输出文件的码率
值范围:[10,50000],单位:Kbps
auto 表示自适应码率
无默认值
String
Crf
Request.Video
码率-质量控制因子
值范围:(0,51]
如果设置了 Crf,则 Bitrate 的设置失效
当 Bitrate 为空时,默认为25
无默认值
String
Gop
Request.Video
关键帧间最大帧数,值范围:[0, 100000]。无默认值
String
Preset
Request.Video
视频算法器预置。仅H.264支持该参数。可选值如下:
veryfast
fast
medium(默认值)
slow
slower
String
Bufsize
Request.Video
缓冲区大小
值范围:[1000,128000]
单位:Kb
无默认值
String
Maxrate
Request.Video
视频码率峰值
值范围:[10,50000]
单位:Kbps
无默认值
String
Pixfmt
Request.Video
视频颜色格式
H.264支持:yuv420p、auto
H.265支持:yuv420p、yuv420p10le、auto
无默认值
String
Rotate
Request.Video
旋转角度
值范围:[0, 360)
单位:度
无默认值
String
Roi
Request.Video
Roi 强度。可选值如下:
none(默认值)
low
medium
high
String
Container 类型
TimeInterval
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Start
Request.TimeInterval
开始时间
[0 视频时长]
单位为秒
支持 float 格式,执行精度精确到毫秒
无默认值
String
Duration
Request.TimeInterval
持续时间
[0 视频时长]
单位为秒
支持 float 格式,执行精度精确到毫秒
无默认值
String
Container 类型
Audio
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Codec
Request.Audio
编解码格式。可选值如下:
aac(默认值)
mp3
String
Samplerate
Request.Audio
采样率。单位为Hz。可选值如下:
11025
22060
32000
44100(默认值)
48000
96000
不同的封装,支持不同的采样率,如 封装格式-音视频采样率对照表 所示
String
Bitrate
Request.Audio
原始音频码率
单位:Kbps
值范围:[8,1000]
无默认值
String
Channels
Request.Audio
声道数
当 Codec 设置为 aac,可选值为:1、2、4、5、6、8
当 Codec 设置为 mp3,可选值为:1、2
无默认值
String
Remove
Request.Audio
是否删除源音频流。可选值如下:
true
false(默认值)
String
说明:
Y 表示支持这种采样率,N 表示不支持。

封装格式-音视频采样率对照表:

封装格式/音频采样率
11025
22050
32000
44100
48000
96000
flv
N
Y
N
Y
N
N
mp4
N
Y
Y
Y
Y
N
hls/mkv
Y
Y
Y
Y
Y
N
Container 类型
TransConfig
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
AdjDarMethod
Request.TransConfig
分辨率调整方式。当输出视频的宽高比与原视频不等时,根据此参数做分辨率的相应调整。可选值如下:
scale
crop
pad
none(默认值)
String
IsCheckReso
Request.TransConfig
是否检查分辨率。可选值如下:
true
false(默认值):按照配置参数转码
String
ResoAdjMethod
Request.TransConfig
当 IsCheckReso 为 true 时生效。分辨率调整方式。可选值如下:
0(默认值): 表示使用原视频分辨率
1 :表示返回转码失败
String
IsCheckVideoBitrate
Request.TransConfig
是否检查视频码率。可选值如下:
true
false(默认值):按照配置参数转码
String
VideoBitrateAdjMethod
Request.TransConfig
IsCheckVideoBitrate 为 true 时生效。当输出视频码率大于原视频码率时,视频码率的调整方式。可选值如下:
0(默认值):表示使用原视频码率
1:表示返回转码失败
String
IsCheckAudioBitrate
Request.TransConfig
是否检查音频码率。可选值如下:
true
false(默认值):按照配置参数转码
String
AudioBitrateAdjMethod
Request.TransConfig
IsCheckAudioBitrate 为 true 时生效。当输出音频码率大于原音频码率时,音频码率的调整方式。可选值如下:
0(默认值):表示使用原音频码率
1:表示返回转码失败
String
IsCheckVideoFps
Request.TransConfig
是否检查视频帧率。可选值如下:
true
false(默认值):按照配置参数转码
String
VideoFpsAdjMethod
Request.TransConfig
IsCheckVideoFps 为 true 时生效。当输出视频帧率大于原视频帧率时,视频帧率的调整方式。可选值如下:
0(默认值):表示使用原视频帧率
1:表示返回转码失败
String
DeleteMetadata
Request.TransConfig
是否删除文件中的 Metadata 信息。可选值如下:
true
false(默认值)
String
IsHdr2Sdr
Request.TransConfig
是否开启 HDR 转 SDR。可选值如下:
true
false(默认值)
String
HlsEncrypt
Request.TransConfig
HLS 加密配置
Container
AdjDarMethod 参数图示:



Container 类型 HlsEncrypt 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
IsHlsEncrypt
Request.TransConfig.HlsEncrypt
是否开启 HLS 加密。可选值:
true
false(默认值)
String
UriKey
Request.TransConfig.HlsEncrypt
HLS 加密的 key。当 IsHlsEncrypt 为 true 时, 该参数才有意义。无默认值。
String

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<RequestId>NjQ0NGNlNDZfMThhYTk0MGFfY*********</RequestId>
<Template>
<Tag>HighSpeedHd</Tag>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<Name>TemplateName</Name>
<BucketId>test-1234567890</BucketId>
<Category>Custom</Category>
<HighSpeedHd>
<Container>
<Format>mp4</Format>
</Container>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Fps>30</Fps>
<Bufsize>1000</Bufsize>
<Maxrate>10</Maxrate>
</Video>
<Audio>
<Codec>aac</Codec>
<Samplerate>44100</Samplerate>
<Bitrate>128</Bitrate>
<Channels>4</Channels>
</Audio>
<TransConfig>
<IsCheckReso>false</IsCheckReso>
<ResoAdjMethod>1</ResoAdjMethod>
</TransConfig>
<TimeInterval>
<Start>0</Start>
<Duration>60</Duration>
</TimeInterval>
</HighSpeedHd>
<CreateTime>2020-08-05T11:35:24+0800</CreateTime>
<UpdateTime>2020-08-31T16:15:20+0800</UpdateTime>
</Template>
</Response>
具体的数据内容如下:
节点名称(关键字)
父节点
描述
类型
Response
保存结果的容器
Container
Container 节点
Response
的内容:
节点名称(关键字)
父节点
描述
类型
Template
Response
保存模板详情的容器
Container
RequestId
Response
请求的唯一 ID
String
Container 节点
Template
的内容:
节点名称(关键字)
父节点
描述
类型
TemplateId
Response.Template
模板 ID
String
Name
Response.Template
模板名称
String
BucketId
Response.Template
模板所属存储桶
String
Category
Response.Template
模板属性,Custom 或者 Official
String
Tag
Response.Template
模板类型,HighSpeedHd
String
UpdateTime
Response.Template
更新时间
String
CreateTime
Response.Template
创建时间
String
HighSpeedHd
Response.Template
详细的模板参数
Container
Container 节点 HighSpeedHd 的内容:
节点名称(关键字)
父节点
描述
类型
TimeInterval
Response.Template.HighSpeedHd
同请求体中的 Request.TimeInterval
Container
Container
Response.Template.HighSpeedHd
同请求体中的 Request.Container
Container
Video
Response.Template.HighSpeedHd
同请求体中的 Request.Video
Container
Audio
Response.Template.HighSpeedHd
同请求体中的 Request.Audio
Container
TransConfig
Response.Template.HighSpeedHd
同请求体中的 Request.TransConfig
Container

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

实际案例

请求

POST /template HTTP/1.1
Authorization: q-sign-algorithm=sha1&q-ak=************************************&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=****************************************
Host: test-1234567890.ci.ap-beijing.myqcloud.com
Content-Length: 1666
Content-Type: application/xml

<Request>
<Tag>HighSpeedHd</Tag>
<Name>TemplateName</Name>
<Container>
<Format>mp4</Format>
</Container>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Fps>30</Fps>
<Bufsize>1000</Bufsize>
<Maxrate>10</Maxrate>
</Video>
<Audio>
<Codec>aac</Codec>
<Samplerate>44100</Samplerate>
<Bitrate>128</Bitrate>
<Channels>4</Channels>
</Audio>
<TransConfig>
<IsCheckReso>false</IsCheckReso>
<ResoAdjMethod>1</ResoAdjMethod>
</TransConfig>
<TimeInterval>
<Start>0</Start>
<Duration>60</Duration>
</TimeInterval>
</Request>

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 100
Connection: keep-alive
Date: Thu, 14 Jul 2022 12:37:29 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****

<Response>
<RequestId>NjQ0NGNlNDZfMThhYTk0MGFfY*********</RequestId>
<Template>
<Tag>HighSpeedHd</Tag>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<Name>TemplateName</Name>
<BucketId>test-1234567890</BucketId>
<Category>Custom</Category>
<HighSpeedHd>
<Container>
<Format>mp4</Format>
</Container>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Fps>30</Fps>
<Bufsize>1000</Bufsize>
<Maxrate>10</Maxrate>
</Video>
<Audio>
<Codec>aac</Codec>
<Samplerate>44100</Samplerate>
<Bitrate>128</Bitrate>
<Channels>4</Channels>
</Audio>
<TransConfig>
<IsCheckReso>false</IsCheckReso>
<ResoAdjMethod>1</ResoAdjMethod>
</TransConfig>
<TimeInterval>
<Start>0</Start>
<Duration>60</Duration>
</TimeInterval>
</HighSpeedHd>
<CreateTime>2020-08-05T11:35:24+0800</CreateTime>
<UpdateTime>2020-08-31T16:15:20+0800</UpdateTime>
</Template>
</Response>