2024-06-03 08:01:53
视频截图支持指定视频媒体文件按照一定规则进行视频截图操作,此功能可以为视频生成预览图、或通过截图来做视频封面等使用场景。以下为使用OpenAPI Java SDK创建转码任务的示例。
在Maven项目中加入依赖项:
复制成功
<dependency>
<groupId>com.jdcloud.sdk</groupId>
<artifactId>core</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.jdcloud.sdk</groupId>
<artifactId>mps</artifactId>
<version>0.3.6</version>
</dependency>
更多环境准备信息请参考OpenAPI Java SDK简介
复制成功
package com.jdcloud.mps.client;
import com.jdcloud.sdk.auth.StaticCredentialsProvider;
import com.jdcloud.sdk.http.HttpRequestConfig;
import com.jdcloud.sdk.http.Protocol;
import com.jdcloud.sdk.service.mps.client.MpsClient;
import com.jdcloud.sdk.service.mps.model.*;
public class MpsClientExample {
public static void main(String[ ] args) {
// 以下参数均为必填项
String region = "cn-north-1"; // cn-north-1/cn-south-1/cn-east-1/cn-east-2
String sourceBucketName = ""; // 源bucket
String sourceObjectKey = ""; // 源bucket中要截图的文件
String destBucketName = ""; // 截图放置的目标bucket
String accessKey = ""; // 用户AccessKey
String secretKey = ""; // 用户SecretKey
MpsClient client = MpsClient.builder()
.credentialsProvider(new StaticCredentialsProvider(accessKey, secretKey))
.httpRequestConfig(new HttpRequestConfig.Builder().protocol(Protocol.HTTP).build())
.build();
// 创建任务
ThumbnailTaskSource createSource = new ThumbnailTaskSource().bucket(sourceBucketName).key(sourceObjectKey);
ThumbnailTaskTarget createTarget = new ThumbnailTaskTarget().destBucket(destBucketName);
// 设置截图规则,默认可不设置
ThumbnailTaskRule rule = new ThumbnailTaskRule();
rule.setCount(1); // 截图数量, mode=single时不可选. default:1
rule.setStartTimeInSecond(1); // 截图在视频中开始时间(秒), default: 0
rule.setEndTimeInSecond(10); // 截图在视频中结束时间(秒), default:-1(代表视频时长)
rule.setKeyFrame(true); // 是否开启关键帧截图, default: true
rule.setMode("multi"); // 截图模式 单张: single 多张: multi 平均: average default: single
CreateThumbnailTaskRequest createRequest = new CreateThumbnailTaskRequest().source(createSource).target(createTarget).rule(rule).regionId(region);
CreateThumbnailTaskResult createResult = client.createThumbnailTask(createRequest).getResult();
// 获取任务
GetThumbnailTaskRequest getRequest = new GetThumbnailTaskRequest().taskId(createResult.getTaskID()).regionId(region);
GetThumbnailTaskResult getResult = client.getThumbnailTask(getRequest).getResult();
// 任务列表
ListThumbnailTaskRequest listRequest = new ListThumbnailTaskRequest().regionId(region);
ListThumbnailTaskResult listResult = client.listThumbnailTask(listRequest).getResult();
}
}
我们的产品专家为您找到最合适的产品/解决⽅案
1v1线上咨询获取售前专业咨询
专业产品顾问,随时随地沟通