功能描述
创建音视频拼接模板。
授权说明
服务开通
使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。
使用该功能需提前通过控制台或接口开通媒体处理服务 。详情请参见 开通媒体处理服务。
使用限制
请求
请求实例
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 | 拼接节点 | 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 | 无 | 否 |
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.1Authorization:q-sign-algorithm=sha1&q-ak=************************************&q-sign-time=1497530202;14976102&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=****************************************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>