本示例介绍如何使用Alibaba Cloud SDK for Java调用AddTemplate接口新增自定义转码模版。

创建自定义模板包含容器信息、视频和音频流等设置。如果自定义模板没有相关的配置,则转码流中也不会包含相关的信息。

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

前提条件

在使用本教程前,请确保已完成以下操作:

  • 使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。
  • 确保您已经安装了Alibaba Cloud SDK for Java,准确的SDK版本号,请参见 阿里云开发工具包(SDK)
    <dependencies>     <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core --&gt;     <dependency&gt;         <groupId>com.aliyun</groupId>         <artifactId>aliyun-java-sdk-core</artifactId>         <version>4.4.3</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>

示例代码

本文操作示例主要以代码形式体现,具体代码如下:

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();         }     }  }