赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 操作指南
  5. 数据处理
  6. 视频截帧

视频截帧

  • 数据处理
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

当您需要获取视频封面、提取视频关键帧图像进行视频编辑,或者提取视频中特定场景帧图像用于视频监控等时,可以将视频上传至OSS存储空间,然后通过本文所示方法进行视频截帧。

注意事项

  • 使用视频截帧时,按视频截帧截取的图片数量计费。有关计费详情的更多信息,请参见数据处理费用。

  • 仅支持对视频编码格式为H264和H265的视频文件进行视频截帧。

  • OSS默认不保存视频截帧的图片,视频截帧的图片需手动下载并保存至本地。

参数说明

操作分类:video

操作名称:snapshot

参数

描述

取值范围

t

指定截图时间。如果设置的截图时间t超过了视频时长,则返回视频的最后一个关键帧。

说明

如果需要截取视频封面,则t设置为0。

[0,视频时长]

单位:ms

w

指定截图宽度,如果指定为0,则根据截图高度与源视频高度比例自动计算。

[0,视频宽度]

单位:像素(px)

h

指定截图高度,如果指定为0,则根据截图宽度与源视频宽度比例自动计算;如果w和h都为0,则输出为原视频宽高。

[0,视频高度]

单位:像素(px)

m

指定截图模式,不指定则为默认模式,根据时间精确截图。如果指定为fast,则截取该时间点之前的最近的一个关键帧。

枚举值:fast

f

指定输出图片的格式。

枚举值:jpg和png

ar

指定是否根据视频信息自动旋转图片。

枚举值:auto、h和w

各枚举值说明如下:

  • auto:指定在截图生成之后根据视频信息进行自动旋转。

  • h:指定在截图生成之后根据视频信息强制按高大于宽的模式旋转。

  • w:指定在截图生成之后根据视频信息强制按宽大于高的模式旋转。

使用示例

本文示例使用的Bucket为杭州地域名为oss-console-img-demo-cn-hangzhou的Bucket,视频外网访问地址为:

https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/video.mp4

  • 使用fast模式截取视频7s处的内容,输出为JPG格式的图片,宽度为800,高度为600。

    处理后的URL为:https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/video.mp4?x-oss-process=video/snapshot,t_7000,f_jpg,w_800,h_600,m_fast

    1

  • 使用精确时间模式截取视频17s处的内容,输出为JPG格式的图片,宽度为800,高度为600。

    处理后的URL为:https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/video.mp4?x-oss-process=video/snapshot,t_17000,f_jpg,w_800,h_600

    2

生成带签名的视频截帧URL

您可以通过SDK生成带签名的视频截帧URL,以Java SDK为例,代码如下:

// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 强烈建议不要把访问凭证保存到工程代码里,否则可能导致访问凭证泄露,威胁您账号下所有资源的安全。本代码示例以从环境变量中获取访问凭证为例。运行本代码示例之前,请先配置环境变量。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// 填写视频文件所在的Bucket名称,例如examplebucket。
String bucketName = "examplebucket";
// 填写视频文件的完整路径。若视频文件不在Bucket根目录,需携带文件访问路径,例如examplefolder/videotest.mp4。
String objectName = "examplefolder/videotest.mp4";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
// 使用精确时间模式截取视频17s处的内容,输出为JPG格式的图片,宽度为800,高度为600。
String style = "video/snapshot,t_17000,f_jpg,w_800,h_600";
// 指定过期时间为10分钟。
Date expiration = new Date(new Date().getTime() + 1000 * 60 * 10 );
GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);
req.setExpiration(expiration);
req.setProcess(style);
URL signedUrl = ossClient.generatePresignedUrl(req);
System.out.println(signedUrl);
// 关闭OSSClient。
ossClient.shutdown();

生成带签名的视频截帧URL与生成带签名的图片处理URL的方法类似。如果您需要通过不同语言SDK生成带签名的视频截帧URL,请将如下不同语言SDK的图片处理操作替换为视频截帧操作。

  • Python SDK

  • PHP SDK

  • Go SDK

  • C SDK

  • C++ SDK

  • .NET SDK

  • Android SDK

  • iOS SDK

  • Node.js SDK

  • browser.js SDK

常见问题

私有文件能否通过链接拼接参数进行文件处理?

不可以。对于不允许匿名访问的私有视频文件,不支持通过文件URL直接添加参数的方式处理视频,您需要通过SDK的方式将视频处理操作加入签名URL中。

如何查看OSS中视频的长宽尺寸?

您可以使用视频信息提取功能,获取视频的长宽尺寸。更多信息,请参见视频信息提取。

视频截帧的图片出现失真

目前暂不支持对杜比视界的源视频进行视频截帧。

oss上面视频的封面可以通过视频截帧获取吗,如何使它永久化?

可以,在获取到该封面后,可以通过网络流的方式将其上传至OSS,OSS将生成一个截图文件,此时该文件即可实现永久保存。

相关文章

同步处理 2025-04-21 18:16

同步处理(x-oss-process)是指程序执行一个任务时,必须等待该任务完成才能继续执行其他任务。同步处理适用于可以快速返回结果的场景,例如图片处理、文档处理等。 支持同步处理的操作

异步处理 2025-04-21 18:16

异步处理(x-oss-async-process)是指程序执行一个任务时,不需要等待该任务完成就能继续执行其他任务。异步处理适用于处理时间较长的场景,例如文档转换、视频转码、视频拼接等。 注意事项 异步处理请求在返回时不会返回处理结果,需要将处理结果存储到对象存储中,并建议使用消息通知获取异步任务的

样式 2025-04-21 18:16

您可以在一个样式(Style)中包含多个处理参数,快速实现复杂的媒体、文档或图片处理操作。 说明 新版数据处理功能API、SDK支持在IMM服务接入点中的地域进行使用。

任务 2025-04-21 18:16

异步处理以任务的形式对文件进行处理,请求完成时会返回任务ID,之后可以通过任务ID查询任务状态。本文介绍如何使用异步任务进行文件处理。 说明 新版数据处理功能API、SDK支持通过IMM服务

批处理 2025-04-21 18:16

使用批处理对存储空间(Bucket)中存量文件进行批量处理。例如将Bucket某个目录中后缀为.docx的文件转换成PDF格式、将所有MOV格式的文件转码为MP4等。 说明 新版数据处理功能API、SD

触发器 2025-04-21 18:16

使用触发器可以对存储空间(Bucket)中的增量文件进行批量处理。例如,您可以将新增的.docx文件转换成.pdf格式,或将.mov文件转码为.mp4等。与批处理不同,触发器只会对创建触发器之后OSS内新增的文件进行处理,而不会处理存量文件。 说明

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号