功能描述
创建音视频拼接模板。
授权说明
服务开通
使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。
使用该功能需提前通过控制台或接口开通媒体处理服务 。详情请参见 开通媒体处理服务。
使用限制
请求
请求实例
POST /template HTTP/1.1Host: <BucketName-APPID>.ci.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>Content-Length: <length>Content-Type: application/xml<body>
说明:
请求头
公共头部
非公共头部
该请求操作无特殊的请求头部信息。
请求体
该请求操作的实现需要有如下请求体。
<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 | 拼接节点,可拼接100个数量以内的文件。 | Container 数组 | 无 | 是 |
Audio | Request.ConcatTemplate | 音频参数 | Container | 媒体原始值 | 否 |
Video | Request.ConcatTemplate | 视频参数 | Container | 媒体原始值 | 否 |
Container | Request.ConcatTemplate | 封装格式 | Container | 无 | 是 |
AudioMix | Request.ConcatTemplate | 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 | 无 | 否 |
EndTime | Request.ConcatTemplate.ConcatFragment | 结束时间,单位为秒, 支持 float 格式,执行精度精确到毫秒,当 Request.ConcatTemplate.DirectConcat 为 true 时不生效 | String | 无 | 否 |
Duration | Request.ConcatTemplate.ConcatFragment | 持续时间, 当 Url 为图片地址时生效。单位为秒,精确度毫秒 ,范围(0,20] | String | 2 | 否 |
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 | 转场模式 | String | 是 | 无 | Default:不添加转场特效 FADE:淡入淡出 GRADIENT:渐变 XFADE:Xfade 转场效果 |
Time | Request.ConcatTemplate.SceneChangeInfo | 转场时长 | String | 否 | 3 | 单位:秒(s) 取值范围:(0, 5], 支持小数 |
TransitionType | Request.ConcatTemplate.SceneChangeInfo | String | 否 | 无 | custom fade wipeleft wiperight wipeup wipedown slideleft slideright slideup slidedown circlecrop rectcrop distance fadeblack fadewhite radial smoothleft smoothright smoothup smoothdown circleopen circleclose vertopen vertclose horzopen horzclose dissolve pixelize diagtl diagtr diagbl diagbr hlslice hrslice vuslice vdslice hblur fadegrays wipetl wipetr wipebl wipebr squeezeh squeezev zoomin fadefast fadeslow hlwind hrwind vuwind vdwind coverleft coverright coverup coverdown revealleft revealright revealup revealdown |
响应
响应头
公共响应头
特有响应头
该响应无特殊的响应头。
响应体
该响应体返回为 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.1Authorization: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.comContent-Length: 1666Content-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 OKContent-Type: application/xmlContent-Length: 100Connection: keep-aliveDate: Thu, 14 Jul 2022 12:37:29 GMTServer: tencent-cix-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>