本示例介绍如何使用Alibaba Cloud SDK for Java调用AddTemplate接口新增自定义转码模板。
创建自定义模板包含容器信息、视频和音频流等设置。如果自定义模板没有相关的配置,则转码流中也不会包含相关的信息。
前提条件
在使用本教程前,请确保已完成以下操作:
- 使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。
- 确保您已经安装了Alibaba Cloud SDK for Java,准确的SDK版本号,请参见 阿里云开发工具包(SDK)。
<project> <modelVersion>4.0.0</modelVersion> <groupId>java.demo</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.6.1</version> </dependency> <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-mts --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-mts</artifactId> <version>2.7.2</version> </dependency> </dependencies> </project>
示例代码
本文操作示例主要以代码形式体现,具体代码如下:
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.mts.model.v20140618.*;
public class AddTemplate {
/**
* 创建DefaultAcsClient实例并初始化
*
* @return IAcsClient
*/
private static IAcsClient getIAcsClient() {
DefaultProfile profile = DefaultProfile.getProfile(
"<your-region-id>", // 地域ID
"<your-access-key-id>", // 您的AccessKey ID
"<your-access-key-secret>" // 您的AccessKey Secret
);
return new DefaultAcsClient(profile);
}
public static void main(String[] args) {
// 创建API请求并设置参数
AddTemplateRequest request = new AddTemplateRequest();
AddTemplateResponse response;
// Name / 模板名称,最大长度128字节
request.setName("test-mts-template-2018");
// Container / 输出的容器类型(文件格式),视频支持mp4、flv、ts、m3u8格式,音频支持mp3、mp4等格式
JSONObject container = new JSONObject();
container.put("Format", "mp4");
request.setContainer(container.toJSONString());
// Video / 视频流配置,JSON对象。例如编码格式、码率、宽、高、帧率等
JSONObject video = new JSONObject();
video.put("Codec", "H.264");
video.put("Profile", "high");
video.put("Bitrate", "500");
video.put("Crf", "15");
video.put("Width", "256");
video.put("Height", "800");
video.put("Fps", "25");
video.put("Gop", "10");
request.setVideo(video.toJSONString());
// Audio / 音频参数,JSON对象
JSONObject audio = new JSONObject();
audio.put("Codec", "AAC");
audio.put("Bitrate", "500");
audio.put("Channels", "2");
audio.put("Samplerate", "44100");
request.setAudio(audio.toJSONString());
// 发起请求并处理应答或异常
try {
response = getIAcsClient().getAcsResponse(request);
System.out.println("RequestId :" + response.getRequestId());
System.out.println(String.format("Id: %s, Name: %s", response.getTemplate().getId(), response.getTemplate().getName()));
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}