简介
本文档提供关于精彩集锦模板接口的 API 概览和 SDK 示例代码。
新增精彩集锦模板
功能说明
用于新增精彩集锦模板。
方法原型
public Guzzle\\Service\\Resource\\Model createMediaVideoMontageTemplate(array $args = array());
请求示例
<?phprequire 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/58314 新增精彩集锦模板$result = $cosClient->createMediaVideoMontageTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Tag' => 'VideoMontage','Name' => 'VideoMontage-Template-Name','Duration' => '','Container' => array('Format' => 'mp4',),'Video' => array('Codec' => 'H.264','Width' => '','Height' => '','Fps' => '','Bitrate' => '','Crf' => '',),'Audio' => array('Codec' => 'aac','Samplerate' => '','Bitrate' => '','Channels' => '','Remove' => '',),'AudioMix' => array('AudioSource' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/test01.mp3','MixMode' => 'Once','Replace' => 'true',),));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
Request 中的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 | 默认值 |
Tag | Request | 模板类型: VideoMontage | String | 是 | 无 |
Name | Request | 模板名称,仅支持中文、英文、数字、_、-和*,长度不超过64 | String | 是 | 无 |
Duration | Request | 集锦时长 默认自动分析时长 单位为秒 支持 float 格式,执行精度精确到毫秒 | String | 否 | 无 |
Container | Request | 容器格式 | Container | 是 | 无 |
Video | Request | 视频信息 | Container | 是 | 无 |
Audio | Request | 音频信息 | Container | 否 | 无 |
Scene | Request | 精彩集锦场景 Video:普通视频 Soccer: 足球 | String | 否 | Video |
AudioMix | Request | Container | 否 | 无 | |
AudioMixArray | Request | 混音参数数组,最多同时传2个 | Container 数组 | 否 | 无 |
说明:
AudioMix 和 AudioMixArray 在 Audio.Remove 为 false 时生效。
AudioMixArray 是一个数组,每一个子项内容同 AudioMix 。AudioMix 优先级更高,设置 AudioMix 时,AudioMixArray 无效。
Container 类型
Container
的具体数据描述如下:节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Format | Request.Container | 封装格式: mp4、flv、hls、ts、mkv | String | 是 |
设定 container,音频视频支持的格式如下表:
Container | Audio Codecs | Video Codecs |
mp4/ts/hls/mkv | AAC、MP3 | H.264、H.265 |
flv | AAC、MP3 | H.264 |
Container 类型
Video
的具体数据描述如下:节点名称(关键字) | 父节点 | 描述 | 类型 | 默认值 | 是否必选 |
Codec | Request.Video | 编解码格式,取值 H.264、H.265 | String | H.264 | 否 |
Width | Request.Video | 宽 值范围:[128,4096] 单位:px 若只设置 Width 时,按照视频原始比例计算 Height 必须为偶数 | String | 视频原始宽度 | 否 |
Height | Request.Video | 高 值范围:[128,4096] 单位:px 若只设置 Height 时,按照视频原始比例计算 Width 必须为偶数 | String | 视频原始高度 | 否 |
Fps | Request.Video | 帧率 值范围:(0,60] 单位:fps | String | 无 | 否 |
Bitrate | Request.Video | 视频输出文件的码率 值范围:[10,50000] 单位:Kbps | String | 无 | 否 |
Crf | Request.Video | 码率-质量控制因子 值范围:(0, 51] 如果设置了 Crf,则 Bitrate 的设置失效 当 Bitrate 为空时,默认为25 | String | 无 | 否 |
Rotate | Request.Video | 旋转角度 值范围:[0, 360) 单位:度 | String | 无 | 否 |
Container 类型
Audio
的具体数据描述如下:节点名称(关键字) | 父节点 | 描述 | 类型 | 默认值 | 是否必选 |
Codec | Request.Audio | 编解码格式,取值 aac、mp3 | String | aac | 否 |
Samplerate | Request.Audio | 采样率 单位:Hz 可选 11025、22050、32000、44100、48000、96000 不同的封装,mp3 支持不同的采样率,如下表所示 | String | 44100 | 否 |
Bitrate | Request.Audio | 原始音频码率 单位:Kbps 值范围:[8,1000] | String | 无 | 否 |
Channels | Request.Audio | 声道数 当 Codec 设置为 aac,支持1、2、4、5、6、8 当 Codec 设置为 mp3,支持1、2 | String | 无 | 否 |
Remove | Request.Audio | 是否删除音频流,取值 true、false | String | false 未配置 Audio 时默认为 true | 否 |
说明:
Y 表示支持这种采样率,N 表示不支持。
封装格式/音频采样率 | 11025 | 22050 | 32000 | 44100 | 48000 | 96000 |
flv | N | Y | N | Y | N | N |
mp4 | N | Y | Y | Y | Y | N |
hls/ts/mkv | Y | Y | Y | Y | Y | N |
返回结果示例
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] => NjJhODZkNGRfZmNAOISUDOIASUDIOMjI0MzU=[ContentType] => application/xml[ContentLength] => 1115[Bucket] => examplebucket-125000000[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template[Response] => Array([RequestId] => NjJhODZkNGRfZmNAOISUDOIASUDIOMjI0MzU=[Template] => Array([TemplateId] => t1107eb6ca4da547f3as8d90a8d067938[Name] => VideoMontage-Template-Name[State] => Normal[Tag] => VideoMontage[CreateTime] => 2022-06-14T19:13:17+0800[UpdateTime] => 2022-06-14T19:13:17+0800[BucketId] => examplebucket-125000000[Category] => Custom[VideoMontage] => Array([Duration] => 10[Container] => Array([Format] => mp4)[Video] => Array([Codec] => H.264[Bitrate] => 100[Width] => 400[Height] => 400[Fps] => 60[Crf] => 30)[Audio] => Array([Codec] => aac[Samplerate] => 11025[Bitrate] => 100[Channels] => 2[Remove] => false)[AudioMix] => Array([AudioSource] => https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/test01.mp3[MixMode] => Once[Replace] => true)))))
更新精彩集锦模板
功能说明
用于更新精彩集锦模板。
方法原型
public Guzzle\\Service\\Resource\\Model updateMediaVideoMontageTemplate(array $args = array());
请求示例
<?phprequire 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/58311 更新精彩集锦模板$result = $cosClient->updateMediaVideoMontageTemplate(array('Bucket' => 'examplebucket-125000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket'Key' => '', // TemplateId'Tag' => 'VideoMontage','Name' => 'VideoMontage-Template-Name','Duration' => '','Container' => array('Format' => 'mp4',),'Video' => array('Codec' => 'H.264','Width' => '','Height' => '','Fps' => '','Bitrate' => '','Crf' => '',),'Audio' => array('Codec' => 'aac','Samplerate' => '','Bitrate' => '','Channels' => '','Remove' => '',),'AudioMix' => array('AudioSource' => 'https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/test01.mp3','MixMode' => 'Once','Replace' => 'true',),));// 请求成功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] => NjJhODZlYTlfZmNjYTNiMGAUJSDOISDUoTQ=[ContentType] => application/xml[ContentLength] => 1116[Key] => t1107eb6ca4f3aas8d0as9d80938[Bucket] => examplebucket-125000000[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template/t1107eb6ca4f3aas8d0as9d80938[Response] => Array([RequestId] => NjJhODZlYTlfZmNjYTNiMGAUJSDOISDUoTQ=[Template] => Array([TemplateId] => t1107eb6ca4f3aas8d0as9d80938[Name] => VideoMontage-Template-Name-ss[State] => Normal[Tag] => VideoMontage[CreateTime] => 2022-06-14T19:13:17+0800[UpdateTime] => 2022-06-14T19:19:05+0800[BucketId] => examplebucket-125000000[Category] => Custom[VideoMontage] => Array([Duration] => 10[Container] => Array([Format] => mp4)[Video] => Array([Codec] => H.264[Bitrate] => 100[Width] => 400[Height] => 400[Fps] => 60[Crf] => 30)[Audio] => Array([Codec] => aac[Samplerate] => 11025[Bitrate] => 100[Channels] => 2[Remove] => false)[AudioMix] => Array([AudioSource] => https://examplebucket-125000000.cos.ap-guangzhou.myqcloud.com/test01.mp3[MixMode] => Once[Replace] => true)))))