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

简介

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

新增动图模板

功能说明

用于新增动图模板。

方法原型

public Guzzle\\Service\\Resource\\Model createMediaAnimationTemplate(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 {
$result = $cosClient->createMediaAnimationTemplate(array(
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Tag' => 'Animation',
'Name' => 'Animation-Template-Name',
'Container' => array(
'Format' => '',
),
'Video' => array(
'Codec' => '',
'Width' => '',
'Height' => '',
'Fps' => '',
'AnimateOnlyKeepKeyFrame' => '',
'AnimateTimeIntervalOfFrame' => '',
'AnimateFramesPerSecond' => '',
'Quality' => '',
),
'TimeInterval' => array(
'Start' => '',
'Duration' => '',
),
));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

参数说明

Request 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Tag
Request
模板类型:Animation
String
Name
Request
模板名称仅支持中文、英文、数字、_、-和*
String
Container
Request
容器格式
Container
Video
Request
视频信息
Container
TimeInterval
Request
时间区间
Container
Request 节点 Container 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Format
Request.Container
容器格式:gif,hgif,webp hgif 为高质量 gif,即清晰度比较高的 gif 格式图
String
Request 节点 Video 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
默认值
限制
Codec
Request.Video
编解码格式
String
gif, webp
Width
Request.Video
String
视频原 始宽度
值范围:[128,4096]
单位:px
若只设置 Width 时,按照视频原始比例计算 Height
Height
Request.Video
String
视频原 始高度
值范围:[128,4096]
单位:px
若只设置 Height 时,按照视频原始比例计算 Width
Fps
Request.Video
帧率
String
视频原 始帧率
值范围:(0,60]
单位:fps
如果不设置,那么播放速度按照原来的时间戳。这里设置 fps 为动图的播放帧率
AnimateOnly KeepKeyFrame
Request.Video
动图只保留关键帧 。
若 AnimateOnlyKeepKeyFrame 设置为 true 时,则不考虑 AnimateTimeIntervalOfFrame、AnimateFramesPerSecond;
若 AnimateOnlyKeepKeyFrame 设置为 false 时,则必须填写AnimateTimeIntervalOfFrame 或 AnimateFramesPerSecond
String
false
true、false 动图保留关键帧参数优先级:AnimateFramesPerSecond > AnimateOnlyKeepKeyFrame > AnimateTimeIntervalOfFrame
AnimateTime IntervalOfFrame
Request.Video
动图抽帧间 隔时间
String
(0,视频时长]动图抽帧时间间隔若设置 TimeInterval.Duration,则小于该值
AnimateFrames PerSecond
Request.Video
Animation 每秒 抽帧帧数
String
(0,视频帧率)动图抽帧频率优先级:AnimateFramesPerSecond > AnimateOnlyKeepKeyFrame > AnimateTimeIntervalOfFrame
Quality
Request.Video
设置相对质量
String
[1, 100)webp 图像质量设定生效,gif 没有质量参数
Request 节点 TimeInterval 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
默认值
限制
Start
Request.TimeInterval
开始时间
String
0
[0 视频时长]单位为秒支持 float 格式,执行精度精确到毫秒
Duration
Request.TimeInterval
持续时间
String
视频时长
[0 视频时长]单位为秒支持 float 格式,执行精度精确到毫秒

返回结果示例

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] => NjJhODRiZDBfNzgwYzdIOSJAIODJOIASDThmZDE=
[ContentType] => application/xml
[ContentLength] => 964
[Bucket] => examplebucket-125000000
[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template
[Response] => Array
(
[RequestId] => NjJhODRiZDBfNzgwYzdIOSJAIODJOIASDThmZDE=
[Template] => Array
(
[TemplateId] => t1562e64115f68416e8as90d8a90d8dc66b
[Name] => Animation-Template-Name
[State] => Normal
[Tag] => Animation
[CreateTime] => 2022-06-14T16:50:24+0800
[UpdateTime] => 2022-06-14T16:50:24+0800
[BucketId] => examplebucket-125000000
[Category] => Custom
[TransTpl] => Array
(
[Container] => Array
(
[Format] => gif
)

[Video] => Array
(
[Codec] => gif
[Width] => 400
[Height] => 400
[Fps] => 30
[AnimateOnlyKeepKeyFrame] => true
[AnimateTimeIntervalOfFrame] => 3
[AnimateFramesPerSecond] => 3
[Quality] => 20
)

[TimeInterval] => Array
(
[Start] => 0
[Duration] => 30
)

)

)

)

)

更新动图模板

功能说明

用于更新动图模板。

方法原型

public Guzzle\\Service\\Resource\\Model updateMediaAnimationTemplate(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/54028 更新动图模板
$result = $cosClient->updateMediaAnimationTemplate(array(
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => '', // TemplateId
'Tag' => 'Animation',
'Name' => 'Animation-Template-Name',
'Container' => array(
'Format' => '',
),
'Video' => array(
'Codec' => '',
'Width' => '',
'Height' => '',
'Fps' => '',
'AnimateOnlyKeepKeyFrame' => '',
'AnimateTimeIntervalOfFrame' => '',
'AnimateFramesPerSecond' => '',
'Quality' => '',
),
'TimeInterval' => array(
'Start' => '',
'Duration' => '',
),
));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

参数说明

Request 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Tag
Request
模板类型:Animation
String
Name
Request
模板名称仅支持中文、英文、数字、_、-和*
String
Container
Request
容器格式
Container
Video
Request
视频信息
Container
TimeInterval
Request
时间区间
Container
Request 节点 Container 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
Format
Request.Container
容器格式:gif,hgif,webp hgif 为高质量 gif,即清晰度比较高的 gif 格式图
String
Request 节点 Video 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
Codec
Request.Video
编解码格式
String
gif, webp
Width
Request.Video
String
视频原 始宽度
值范围:[128,4096]
单位:px
若只设置 Width 时,按照视频原始比例计算 Height
Height
Request.Video
String
视频原 始高度
值范围:[128,4096]
单位:px
若只设置 Height 时,按照视频原始比例计算 Width
Fps
Request.Video
帧率
String
视频原 始帧率
值范围:(0,60]
单位:fps
帧率超过60时,设置为60 用户可以设置 fps,如果不设置,那么播放速度按照原来的时间戳。这里设置 fps 为动图的播放帧率
AnimateOnly KeepKeyFrame
Request.Video
动图只保 留关键帧
String
false
true、false 动图保留关键帧参数
AnimateTime IntervalOfFrame
Request.Video
动图抽帧 间隔时间
String
(0,视频时长] 动图抽帧时间间隔 若设置 TimeInterval.Duration,则小于该值
AnimateFrames PerSecond
Request.Video
Animation 每秒 抽帧帧数
String
(0,视频帧率) 动图抽帧频率 优先级:AnimateFramesPerSecond > AnimateOnlyKeepKeyFrame > AnimateTimeIntervalOfFrame
Quality
Request.Video
设置相对质量
String
[1, 100) webp 图像质量设定生效,gif 没有质量参数
Request 节点 TimeInterval 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
必选
默认值
限制
Start
Request.TimeInterval
开始时间
String
0
[0 视频时长] 单位为秒 支持 float 格式,执行精度精确到毫秒
Duration
Request.TimeInterval
持续时间
String
视频时长
[0 视频时长] 单位为秒 支持 float 格式,执行精度精确到毫秒

返回结果示例

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] => NjJhODRjNjRfZmNjYTNiMAOIDOIASDUJOIWIyOWY=
[ContentType] => application/xml
[ContentLength] => 966
[Key] => t1562e64115f68416eas9d8a09d809addc66b
[Bucket] => examplebucket-125000000
[Location] => examplebucket-125000000.ci.ap-guangzhou.myqcloud.com/template/t1562e64115feas9d8a809addc66b
[Response] => Array
(
[RequestId] => NjJhODRjNjRfZmNjYTNiMAOIDOIASDUJOIWIyOWY=
[Template] => Array
(
[TemplateId] => t1562e6411eas9d8a09d809addc66b
[Name] => Animation-Template-Name
[State] => Normal
[Tag] => Animation
[CreateTime] => 2022-06-14T16:50:24+0800
[UpdateTime] => 2022-06-14T16:52:52+0800
[BucketId] => examplebucket-125000000
[Category] => Custom
[TransTpl] => Array
(
[Container] => Array
(
[Format] => gif
)

[Video] => Array
(
[Codec] => gif
[Width] => 400
[Height] => 400
[Fps] => 30
[AnimateOnlyKeepKeyFrame] => true
[AnimateTimeIntervalOfFrame] => 3
[AnimateFramesPerSecond] => 3
[Quality] => 20
)

[TimeInterval] => Array
(
[Start] => 0
[Duration] => 30
)

)

)

)

)