拼接模板接口

最近更新时间:2025-03-21 17:50:32

我的收藏

简介

本文档提供关于拼接模板接口的 API 概览和 SDK 示例代码。
API
操作描述
用于新增拼接模板。
用于更新拼接模板。

新增拼接模板

功能说明

用于新增拼接模板。

方法原型

public Guzzle\\Service\\Resource\\Model createMediaConcatTemplate(array $args = array());

请求示例

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// https://cloud.tencent.com/document/product/436/54041 新增拼接模板
$result = $cosClient->createMediaConcatTemplate(array(
'Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Tag' => 'Concat',
'Name' => 'Concat-Template-Name',
'ConcatTemplate' => array(
'ConcatFragments' => array(
array(
'Mode' => 'Start',
'Url' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video01.mp4',
),
array(
'Mode' => 'End',
'Url' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video02.mp4',
),
),
'Audio' => array(
'Codec' => 'aac',
'Samplerate' => '',
'Bitrate' => '',
'Channels' => '',
),
'Video' => array(
'Codec' => 'h.264',
'Width' => '',
'Height' => '',
'Fps' => '',
'Bitrate' => '',
'Remove' => 'false',
),
'Container' => array(
'Format' => 'mp4',
),
),
));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

参数说明

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
混音参数,详情见 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
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
XFADE 转场模式,当 Mode 为 XFADE 时生效,具体效果详见 Xfade Gallery
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

返回结果示例

GuzzleHttp\\Command\\Result Object
(
[Body] => GuzzleHttp\\Psr7\\Stream Object
(
[stream:GuzzleHttp\\Psr7\\Stream:private] => Resource id #88
[size:GuzzleHttp\\Psr7\\Stream:private] =>
[seekable:GuzzleHttp\\Psr7\\Stream:private] => 1
[readable:GuzzleHttp\\Psr7\\Stream:private] => 1
[writable:GuzzleHttp\\Psr7\\Stream:private] => 1
[uri:GuzzleHttp\\Psr7\\Stream:private] => php://temp
[customMetadata:GuzzleHttp\\Psr7\\Stream:private] => Array
(
)

)

[RequestId] => NjJhODRmNWJfNzgwYzdAJIOSJDOIJSDOxMTg1MGI=
[ContentType] => application/xml
[ContentLength] => 1434
[Bucket] => examplebucket-125000000
[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template
[Response] => Array
(
[RequestId] => NjJhODRmNWJfNzgwYzdAJIOSJDOIJSDOxMTg1MGI=
[Template] => Array
(
[TemplateId] => t1dc71b980da09sd80s9aba4b159
[Name] => Concat-Template-Name
[State] => Normal
[Tag] => Concat
[CreateTime] => 2022-06-14T17:05:32+0800
[UpdateTime] => 2022-06-14T17:05:32+0800
[BucketId] => examplebucket-125000000
[Category] => Custom
[ConcatTemplate] => Array
(
[ConcatFragment] => Array
(
[0] => Array
(
[Mode] => Start
[Url] => https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video01.mp4

)

[1] => Array
(
[Mode] => End
[Url] => https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video02.mp4
)

)

[Audio] => Array
(
[Codec] => aac
[Samplerate] => 11025
[Bitrate] => 88
[Channels] => 2
[Remove] => false
)

[Video] => Array
(
[Codec] => H.264
[Width] => 400
[Height] => 400
[Fps] => 30
[Bitrate] => 1000
[Remove] => false
)

[Container] => Array
(
[Format] => mp4
)

[DirectConcat] => false
)

)

)

)

更新拼接模板

功能说明

用于更新拼接模板。

方法原型

public Guzzle\\Service\\Resource\\Model updateMediaConcatTemplate(array $args = array());

请求示例

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// https://cloud.tencent.com/document/product/436/54044 更新拼接模板
$result = $cosClient->updateMediaConcatTemplate(array(
'Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => '', // TemplateId
'Tag' => 'Concat',
'Name' => 'Concat-Template-Name',
'ConcatTemplate' => array(
'ConcatFragments' => array(
array(
'Mode' => 'Start',
'Url' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video01.mp4',
),
array(
'Mode' => 'End',
'Url' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video02.mp4',
),
),
'Audio' => array(
'Codec' => 'aac',
'Samplerate' => '',
'Bitrate' => '',
'Channels' => '',
),
'Video' => array(
'Codec' => 'h.264',
'Width' => '',
'Height' => '',
'Fps' => '',
'Bitrate' => '',
'Remove' => 'false',
),
'Container' => array(
'Format' => 'mp4',
),
),
));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

参数说明

Request 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Key
模版 ID
String
Request
Container

返回结果示例

GuzzleHttp\\Command\\Result Object
(
[Body] => GuzzleHttp\\Psr7\\Stream Object
(
[stream:GuzzleHttp\\Psr7\\Stream:private] => Resource id #88
[size:GuzzleHttp\\Psr7\\Stream:private] =>
[seekable:GuzzleHttp\\Psr7\\Stream:private] => 1
[readable:GuzzleHttp\\Psr7\\Stream:private] => 1
[writable:GuzzleHttp\\Psr7\\Stream:private] => 1
[uri:GuzzleHttp\\Psr7\\Stream:private] => php://temp
[customMetadata:GuzzleHttp\\Psr7\\Stream:private] => Array
(
)

)

[RequestId] => NjJhODUxMTdfZmNjYTNiMAIOSDJIOSDTY5M2U=
[ContentType] => application/xml
[ContentLength] => 1436
[Key] => t1dc71b2bc221as8d90as8d0959
[Bucket] => examplebucket-125000000
[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template/t1dc71b2bc221as8d90as8d0959
[Response] => Array
(
[RequestId] => NjJhODUxMTdfZmNjYTNiMAIOSDJIOSDTY5M2U=
[Template] => Array
(
[TemplateId] => t1dc71b2bc221as8d90as8d0959
[Name] => Concat-Template-Name
[State] => Normal
[Tag] => Concat
[CreateTime] => 2022-06-14T17:05:32+0800
[UpdateTime] => 2022-06-14T17:12:55+0800
[BucketId] => examplebucket-125000000
[Category] => Custom
[ConcatTemplate] => Array
(
[ConcatFragment] => Array
(
[0] => Array
(
[Mode] => Start
[Url] => https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video01.mp4
)

[1] => Array
(
[Mode] => End
[Url] => https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/video02.mp4
)

)

[Audio] => Array
(
[Codec] => aac
[Samplerate] => 11025
[Bitrate] => 88
[Channels] => 2
[Remove] => false
)

[Video] => Array
(
[Codec] => H.264
[Width] => 400
[Height] => 400
[Fps] => 30
[Bitrate] => 1000
[Remove] => false
)

[Container] => Array
(
[Format] => mp4
)

[DirectConcat] => false
)

)

)

)