获取媒体截帧

最近更新时间:2023-11-23 10:00:11

我的收藏

简介

本文档提供关于获取媒体截帧的相关 API 概览以及 SDK 示例代码。
注意
COS Javascript SDK 版本需要大于等于 v1.3.1。
API
操作描述
GetSnapshot 接口用于获取媒体文件某个时间的截图。

获取媒体截帧

功能说明

用于获取媒体文件某个时间的截图。

使用示例一:获取媒体截帧图片内容

function getSnapshot() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
};
cos.request(
{
Bucket: config.Bucket, // 存储桶,必须字段
Region: config.Region, // 存储桶所在地域,必须字段 如 ap-beijing
Method: 'GET', // 固定值,必须
Key: 'test.mp4', // 存储桶内的媒体文件,必须字段
Query: {
// 操作类型,固定使用 snapshot;是否必传:是
'ci-process': 'snapshot',
// 截图的时间点,单位为秒;是否必传:是
time: 1,
// 截图的宽。默认为0;是否必传:否
width: 0,
// 截图的高。默认为0;是否必传:否
height: 0,
// 截图的格式,支持 jpg 和 png,默认 jpg;是否必传:否
format: 'jpg',
// 图片旋转方式auto:按视频旋转信息进行自动旋转off:不旋转默认值为 auto;是否必传:否
rotate: 'auto',
// 截帧方式keyframe:截取指定时间点之前的最近的一个关键帧exactframe:截取指定时间点的帧默认值为 exactframe;是否必传:否
mode: 'exactframe',
},
RawBody: true, // 固定值,必传
DataType: 'blob', // 可选返回文件格式为blob
},
function (err, data) {
if (err) {
// 处理请求失败
console.log(err);
} else {
// 处理请求成功
console.log(data.Body);
}
},
);
}
getSnapshot()
参数说明
cos.request 方法参数说明:
参数名称
参数描述
类型
是否必填
Bucket
存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String
Method
固定值:GET
String
Key
媒体文件在cos的路径
String
Query
Query 请求参数
Object
RawBody
固定值:true
Boolean
DataType
固定值:'blob'
String
Query 参数说明:
参数名称
参数描述
类型
是否必填
ci-process
操作类型,固定使用 snapshot
String
time
截图的时间点,单位为秒
float
width
截图的宽。默认为 0
Integer
height
截图的高。默认为 0
Integer
format
截图的格式,支持 jpg 和 png,默认 jpg
String
rotate
图片旋转方式
auto:按视频旋转信息进行自动旋转
off:不旋转
默认值为 auto
String
mode
截帧方式
keyframe:截取指定时间点之前的最近的一个关键帧
exactframe:截取指定时间点的帧
默认值为 exactframe
String
回调函数说明
function(err, data) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- Body
截图图片
Object

使用示例二:获取媒体截帧访问 url

function getSnapshotUrl() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459
const config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
};
cos.getObjectUrl({
Bucket: config.Bucket,
Region: config.Region,
Key: 'test.mp4', // 存储桶内的媒体文件,必须字段
Query: {
// 操作类型,固定使用 snapshot;是否必传:是
'ci-process': 'snapshot',
// 截图的时间点,单位为秒;是否必传:是
time: 1,
// 截图的宽。默认为0;是否必传:否
width: 0,
// 截图的高。默认为0;是否必传:否
height: 0,
// 截图的格式,支持 jpg 和 png,默认 jpg;是否必传:否
format: 'jpg',
// 图片旋转方式auto:按视频旋转信息进行自动旋转off:不旋转默认值为 auto;是否必传:否
rotate: 'auto',
// 截帧方式keyframe:截取指定时间点之前的最近的一个关键帧exactframe:截取指定时间点的帧默认值为 exactframe;是否必传:否
mode: 'exactframe',
},
}, function (err, data) {
if (err) {
// 处理请求失败
console.log(err);
} else {
// 处理请求成功
console.log(data.Url);
}
});
}
参数说明
cos.getObjectUrl 方法参数说明:
参数名称
参数描述
类型
是否必填
Bucket
存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String
Key
媒体文件在cos的路径
String
Query
Query 请求参数
Object
Query 参数说明:
参数名称
参数描述
类型
是否必填
ci-process
操作类型,固定使用 snapshot
String
time
截图的时间点,单位为秒
float
width
截图的宽。默认为 0
Integer
height
截图的高。默认为 0
Integer
format
截图的格式,支持 jpg 和 png,默认 jpg
String
rotate
图片旋转方式
auto:按视频旋转信息进行自动旋转
off:不旋转
默认值为 auto
String
mode
截帧方式
keyframe:截取指定时间点之前的最近的一个关键帧
exactframe:截取指定时间点的帧
默认值为 exactframe
String
回调函数说明
function(err, data) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- Url
可访问的截帧图片url
Object

相关链接