有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于拼接模板接口的 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,
'scheme' => '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
模板名称仅支持中文、英文、数字、_、-和*
String
ConcatTemplate
Request
拼接模板
Container
Container 类型 ConcatTemplate 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
ConcatFragment
Request.ConcatTemplate
拼接节点
Container
Audio
Request.ConcatTemplate
音频参数
Container
媒体原始值
目标文件不需要 Audio 信息, 需要设置 Audio.Remove 为 true
Video
Request.ConcatTemplate
视频参数
Container
媒体原始值
目标文件不需要 Video 信息, 需要设置 Video.Remove 为 true
Container
Request.ConcatTemplate
封装格式
Container
Container 类型 ConcatFragment 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
Url
Request.ConcatTemplate. ConcatFragment
拼接对象地址
String
同 bucket 对象文件
Mode
Request.ConcatTemplate. ConcatFragment
节点类型
String
Start:开头
End:结尾
Container 类型 Audio 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
Codec
Request.ConcatTemplate. Audio
编解码格式
String
文件原编码
取值 aac、mp3
Samplerate
Request.ConcatTemplate. Audio
采样率
String
文件原采样率
单位:Hz
可选 11025、22050、32000、44100、48000、96000
不同的封装,mp3 支持不同的采样率,如下表所示
Bitrate
Request.ConcatTemplate. Audio
音频码率
String
文件原音频码率
单位:Kbps
值范围:[8,1000]
Channels
Request.ConcatTemplate. Audio
声道数
String
文件原声道数
当 Codec 设置为 aac,支持1、2、4、5、6、8
当 Codec 设置为 mp3,支持1、2
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
编解码格式
String
H.264
H.264
Width
Request.ConcatTemplate. Video
String
视频原始宽度
值范围:[128,4096] 单位:px 若只设置 Width 时,按照视频原始比例计算 Height
Height
Request.ConcatTemplate. Video
String
视频原始高度
值范围:[128,4096] 单位:px 若只设置 Height 时,按照视频原始比例计算 Width
Fps
Request.ConcatTemplate. Video
帧率
String
视频原始帧率
值范围:(0,60]
单位:fps
Bitrate
Request.ConcatTemplate. Video
视频输出文件的码率
String
视频原始码率
值范围:[10,50000] 单位:Kbps
Remove
Request.ConcatTemplate. Video
是否删除视频流
String
false
取值 true、false

返回结果示例

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,
'scheme' => '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 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Tag
Request
模板类型:Concat
String
Name
Request
模板名称仅支持中文、英文、数字、_、-和*
String
ConcatTemplate
Request
拼接模板
Container
Container 类型 ConcatTemplate 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
ConcatFragment
Request.ConcatTemplate
拼接节点
Container
Audio
Request.ConcatTemplate
音频参数
Container
目标文件不需要 Audio 信息, 需要设置 Audio.Remove 为 true
Video
Request.ConcatTemplate
视频参数
Container
目标文件不需要 Video 信息, 需要设置 Video.Remove 为 true
Container
Request.ConcatTemplate
封装格式
Container
Container 类型 ConcatFragment 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
Url
Request.ConcatTemplate. ConcatFragment
拼接对象地址
String
同 bucket 对象文件
Mode
Request.ConcatTemplate. ConcatFragment
节点类型
String
Start:开头
End:结尾
Container 类型 Audio 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
Codec
Request.ConcatTemplate. Audio
编解码格式
String
文件原编码
取值 aac、mp3
Samplerate
Request.ConcatTemplate. Audio
采样率
String
文件原采样率
单位:Hz
可选 11025、22050、32000、44100、48000、96000
不同的封装,mp3 支持不同的采样率,如下表所示
Bitrate
Request.ConcatTemplate. Audio
音频码率
String
文件原音频码率
单位:Kbps
值范围:[8,1000]
Channels
Request.ConcatTemplate. Audio
声道数
String
文件原声道数
当 Codec 设置为 aac,支持1、2、4、5、6、8
当 Codec 设置为 mp3,支持1、2
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
编解码格式
String
H.264
H.264
Width
Request.ConcatTemplate. Video
String
视频原始宽度
值范围:[128,4096] 单位:px 若只设置 Width 时,按照视频原始比例计算 Height
Height
Request.ConcatTemplate. Video
String
视频原始高度
值范围:[128,4096] 单位:px 若只设置 Height 时,按照视频原始比例计算 Width
Fps
Request.ConcatTemplate. Video
帧率
String
视频原始帧率
值范围:(0,60]
单位:fps
Bitrate
Request.ConcatTemplate. Video
视频输出文件的码率
String
视频原始码率
值范围:[10,50000]
单位:Kbps
Remove
Request.ConcatTemplate. Video
是否删除视频流
String
false
取值 true、false

返回结果示例

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
)

)

)

)