有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

功能描述

创建音视频拼接模板。


授权说明

授权策略中 action 设置为 ci:CreateMediaTemplate 。查看所有 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>Concat</Tag>
<Name>TemplateName</Name>
<ConcatTemplate>
<ConcatFragment>
<Mode>Start</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/start.mp4</Url>
</ConcatFragment>
<ConcatFragment>
<Mode>End</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/end.mp4</Url>
</ConcatFragment>
<Audio>
<Codec>mp3</Codec>
<Samplerate></Samplerate>
<Bitrate></Bitrate>
<Channels></Channels>
</Audio>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Height></Height>
<Fps>30</Fps>
</Video>
<Container>
<Format>mp4</Format>
</Container>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix1.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix2.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
</ConcatTemplate>
</Request>
具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
保存请求的容器
Container
Container 类型
Request
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Tag
Request
模板类型:Concat
String
Name
Request
模板名称仅支持中文、英文、数字、_、-和*,长度不超过 64
String
ConcatTemplate
Request
拼接模板
Container
Container 类型
ConcatTemplate
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
ConcatFragment
Request.ConcatTemplate
拼接节点
Container 数组
Audio
Request.ConcatTemplate
音频参数
Container
媒体原始值
Video
Request.ConcatTemplate
视频参数
Container
媒体原始值
Container
Request.ConcatTemplate
封装格式
Container
AudioMix
Request.ConcatTemplate
混音参数,详情见 AudioMix
Container
AudioMixArray
Request.ConcatTemplate
混音参数,最多同时传2个
Container 数组
DirectConcat
Request.ConcatTemplate
只拼接不转码,取值 true/ false
String
false
SceneChangeInfo
Request.ConcatTemplate
转场参数
Container
说明
AudioMix 和 AudioMixArray 在 Audio.Remove 为 false 时生效。
AudioMixArray 是一个数组,每一个子项内容同 AudioMix 。AudioMix 优先级更高,设置 AudioMix 时,AudioMixArray 无效。
Container 数组 类型
ConcatFragment
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Url
Request.ConcatTemplate.ConcatFragment
拼接对象地址
String
Mode
Request.ConcatTemplate.ConcatFragment
节点类型
Start:开头
End:结尾
String
StartTime
Request.ConcatTemplate.ConcatFragment
开始时间,单位为秒, 支持 float 格式,执行精度精确到毫秒,当Request.ConcatTemplate.DirectConcat 为 true 时不生效
String
Duration
Request.ConcatTemplate.ConcatFragment
结束时间,单位为秒, 支持 float 格式,执行精度精确到毫秒,当 Request.ConcatTemplate.DirectConcat 为 true 时不生效
String
Container 类型
Audio
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Codec
Request.ConcatTemplate.Audio
编解码格式,取值 aac、mp3
String
Samplerate
Request.ConcatTemplate.Audio
采样率
单位:Hz
可选 11025、22050、32000、44100、48000、96000
不同的封装,mp3 支持不同的采样率,如下表所示
String
文件原采样率
Bitrate
Request.ConcatTemplate.Audio
音频码率
单位:Kbps
值范围:[8,1000]
String
文件原音频码率
Channels
Request.ConcatTemplate.Audio
声道数
当 Codec 设置为 aac,支持1、2、4、5、6、8
当 Codec 设置为 mp3,支持1、2
String
文件原声道数
Y 表示支持这种采样率,N 表示不支持。
封装格式/音频采样率
11025
22050
32000
44100
48000
96000
mp3
Y
Y
Y
Y
Y
N
Container 类型
Container
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Format
Request.ConcatTemplate.Container
封装格式:mp4,flv,hls,ts, mp3, aac
String
Container 类型
Video
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Codec
Request.ConcatTemplate.Video
编解码格式,取值H.264,H.265
String
H.264
Width
Request.ConcatTemplate.Video
值范围:[128,4096]
单位:px
若只设置 Width 时,按照视频原始比例计算 Height
必须为偶数
String
视频原始宽度
Height
Request.ConcatTemplate.Video
值范围:[128,4096]
单位:px
若只设置 Height 时,按照视频原始比例计算 Width
必须为偶数
String
视频原始高度
Fps
Request.ConcatTemplate.Video
帧率
值范围:(0,60]
单位:fps
String
视频原始帧率
Bitrate
Request.ConcatTemplate.Video
视频输出文件的码率
值范围:[10,50000]
单位:Kbps
String
视频原始码率
Crf
Request.ConcatTemplate.Video
码率-质量控制因子
值范围:(0, 51]
如果设置了 Crf,则 Bitrate 的设置失效
当 Bitrate 为空时,默认为25
String
视频原始码率
Remove
Request.ConcatTemplate.Video
是否删除视频流,取值 true、false
String
false
Rotate
Request.ConcatTemplate.Video
旋转角度
值范围:[0, 360)
单位:度
String
Container 类型
SceneChangeInfo
的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
默认值
是否必选
Mode
Request.ConcatTemplate.SceneChangeInfo
转场模式
Default:不添加转场特效
FADE:淡入淡出
GRADIENT:渐变
String
Time
Request.ConcatTemplate.SceneChangeInfo
转场时长
单位:秒(s)
取值范围:(0, 5],支持小数
String
3

响应

响应头

公共响应头

该响应包含公共响应头,了解公共响应头详情请参见 公共响应头部 文档。

特有响应头

该响应无特殊的响应头。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<RequestId>NjQ0NGNlNDZfMThhYTk0MGFfY*********</RequestId>
<Template>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<Tag>Concat</Tag>
<Name>TemplateName</Name>
<BucketId>test-1234567890</BucketId>
<Category>Custom</Category>
<ConcatTemplate>
<ConcatFragment>
<Mode>Start</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/start.mp4</Url>
</ConcatFragment>
<ConcatFragment>
<Mode>End</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/end.mp4</Url>
</ConcatFragment>
<Audio>
<Codec>mp3</Codec>
<Samplerate></Samplerate>
<Bitrate></Bitrate>
<Channels></Channels>
</Audio>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Height></Height>
<Fps>30</Fps>
</Video>
<Container>
<Format>mp4</Format>
</Container>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix1.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix2.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
</ConcatTemplate>
<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
模板类型,Concat
String
UpdateTime
Response.Template
更新时间
String
CreateTime
Response.Template
创建时间
String
ConcatTemplate
Response.Template
同请求体中的 Request.ConcatTemplate
Container

错误码

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

实际案例

请求

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

<Request>
<Tag>Concat</Tag>
<Name>TemplateName</Name>
<ConcatTemplate>
<ConcatFragment>
<Mode>Start</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/start.mp4</Url>
</ConcatFragment>
<ConcatFragment>
<Mode>End</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/end.mp4</Url>
</ConcatFragment>
<Audio>
<Codec>mp3</Codec>
<Samplerate></Samplerate>
<Bitrate></Bitrate>
<Channels></Channels>
</Audio>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Height></Height>
<Fps>30</Fps>
</Video>
<Container>
<Format>mp4</Format>
</Container>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix1.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix2.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
</ConcatTemplate>
</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: NjMxMDJhYTNfMThhYTk0MGFfYmU1OV8zZjc=

<Response>
<RequestId>NjQ0NGNlNDZfMThhYTk0MGFfY*********</RequestId>
<Template>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<Tag>Concat</Tag>
<Name>TemplateName</Name>
<BucketId>test-1234567890</BucketId>
<Category>Custom</Category>
<ConcatTemplate>
<ConcatFragment>
<Mode>Start</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/start.mp4</Url>
</ConcatFragment>
<ConcatFragment>
<Mode>End</Mode>
<Url>http://bucket-1250000000.cos.ap-beijing.myqcloud.com/end.mp4</Url>
</ConcatFragment>
<Audio>
<Codec>mp3</Codec>
<Samplerate></Samplerate>
<Bitrate></Bitrate>
<Channels></Channels>
</Audio>
<Video>
<Codec>H.264</Codec>
<Bitrate>1000</Bitrate>
<Width>1280</Width>
<Height></Height>
<Fps>30</Fps>
</Video>
<Container>
<Format>mp4</Format>
</Container>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix1.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
<AudioMixArray>
<AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix2.mp3</AudioSource>
<MixMode>Once</MixMode>
<Replace>true</Replace>
<EffectConfig>
<EnableStartFadein>true</EnableStartFadein>
<StartFadeinTime>3</StartFadeinTime>
<EnableEndFadeout>false</EnableEndFadeout>
<EndFadeoutTime>0</EndFadeoutTime>
<EnableBgmFade>true</EnableBgmFade>
<BgmFadeTime>1.7</BgmFadeTime>
</EffectConfig>
</AudioMixArray>
</ConcatTemplate>
<CreateTime>2020-08-05T11:35:24+0800</CreateTime>
<UpdateTime>2020-08-31T16:15:20+0800</UpdateTime>
</Template>
</Response>