使用說明
發起轉碼任務時,需要先根據用戶所提供的region(提供服務的區域)、name(轉碼任務名稱)、inputPath(轉碼任務的輸入OSS路徑)、outputpath(轉碼任務的輸出OSS路徑)和templateId(轉碼模板ID)參數提交轉碼任務。轉碼任務處理成功后,可以根據返回的JobId(任務ID)查詢該轉碼任務信息。
示例代碼
您可以通過阿里云OpenAPI開發者門戶在線調試。
package com.aliyun.ice.sample;
import com.aliyun.ice20201109.Client;
import com.aliyun.ice20201109.models.*;
import com.aliyun.teaopenapi.models.Config;
public class Sample {
public static void main(String[] args) throws Exception {
// 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
// 本示例以將AccessKey ID和 AccessKey Secret保存在環境變量為例說明。
com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
Config config = new Config();
config.setCredential(credentialClient);
// 如需硬編碼AccessKey ID和AccessKey Secret,代碼如下,但強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// config.accessKeyId = <yourAccessKeyId>;
// config.accessKeySecret = <yourAccessKeySecret>;
config.endpoint = "ice.cn-shanghai.aliyuncs.com";
Client client = new Client(config);
// 構造提交任務請求
SubmitTranscodeJobRequest request = new SubmitTranscodeJobRequest()
.setName("TranscodeTest")
// 輸入信息
.setInputGroup(java.util.Arrays.asList(
new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestInputGroup()
.setType("OSS")
.setMedia("oss://bucket/path/to/input_video.mp4")
))
// 輸出信息
.setOutputGroup(java.util.Arrays.asList(
new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroup()
.setOutput(new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroupOutput()
.setType("OSS")
.setMedia("oss://bucket/path/to/output_video.mp4"))
.setProcessConfig(new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroupProcessConfig()
.setTranscode(new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroupProcessConfigTranscode()
.setTemplateId("9547c6ad97cb4f2aaa29683ebd18****")))
));
// 發送提交任務請求
SubmitTranscodeJobResponse response = client.submitTranscodeJob(request);
System.out.println("request id: " + response.getBody().getRequestId());
// 提取任務ID,并構造查詢任務請求
String jobId = response.body.transcodeParentJob.parentJobId;
GetTranscodeJobRequest queryRequest = new GetTranscodeJobRequest()
.setParentJobId(jobId);
// 發送查詢任務情況請求
GetTranscodeJobResponse queryResponse = client.getTranscodeJob(queryRequest);
System.out.println("request id: " + queryResponse.getBody().getRequestId());
}
}