简介
本文档提供关于获取媒体截帧的相关 API 概览以及 SDK 示例代码。
注意
COS Javascript SDK 版本需要大于等于 v1.3.1。
API | 操作描述 |
GetSnapshot 接口用于获取媒体文件某个时间的截图。 |
获取媒体截帧
功能说明
用于获取媒体文件某个时间的截图。
使用示例一:获取媒体截帧图片内容
function getSnapshot() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing};cos.request({Bucket: config.Bucket, // 存储桶,必须字段Region: config.Region, // 存储桶所在地域,必须字段 如 ap-beijingMethod: '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/11459const 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 |