当媒体处理中的预置模板不能满足您的实际业务需求时,您可以创建一个新的转码模板,自定义模板中的编码格式、帧率、分辨率等参数。本文提供了Java SDK转码模板相关功能的API调用示例,包含添加模板、修改模板、删除模板、查询模板。
前提条件
使用前请先初始化客户端,详细说明请参见初始化。
添加模板
调用AddTemplate接口添加模板。
/**
* 创建模板
* @param client
* @return
* @throws Exception
*/
public static AddTemplateResponse addTemplate(DefaultAcsClient client) throws Exception {
AddTemplateRequest request = new AddTemplateRequest();
request.setName("test-template");
request.setContainer("{\"Format\":\"mp4\"}");
request.setVideo("{\"Codec\":\"H.264\",\"Profile\":\"high\",\"Bitrate\":\"500\",\"Width\":\"1280\",\"Height\":\"720\",\"Fps\":\"25\",\"Gop\":\"300\"}");
request.setAudio("{\"Codec\":\"AAC\",\"Samplerate\":\"44100\",\"Bitrate\":\"500\",\"Channels\":\"2\"}");
request.setTransConfig("{\"TransMode\":\"onepass\"}");
return client.getAcsResponse(request);
}
更新模板配置
调用UpdateTemplate接口,更新转码模板配置。
/**
* 更新模板配置
* @param client
* @return
* @throws Exception
*/
public static UpdateTemplateResponse updateTemplate(DefaultAcsClient client) throws Exception {
UpdateTemplateRequest request = new UpdateTemplateRequest();
//转码模板ID,可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建
request.setTemplateId("81766fad9d7beb87d36ae****");
request.setName("update name");
request.setContainer("{\"Format\":\"m3u8\"}");
request.setVideo("{\"Codec\":\"H.264\",\"Profile\":\"high\",\"Bitrate\":\"500\",\"Width\":\"1280\",\"Height\":\"720\",\"Fps\":\"25\",\"Gop\":\"300\"}");
request.setAudio("{\"Codec\":\"AAC\",\"Samplerate\":\"44100\",\"Bitrate\":\"500\",\"Channels\":\"2\"}");
request.setTransConfig("{\"TransMode\":\"onepass\",\"IsCheckReso\":\"true\"}");
request.setMuxConfig("{\"Segment\":{\"Duration\":\"10\"}}");
return client.getAcsResponse(request);
}
删除模板
调用DeleteTemplate接口删除转码模板。
/**
* 删除模板
* @param client
* @return
* @throws Exception
*/
public static DeleteTemplateResponse deleteTemplate(DefaultAcsClient client) throws Exception {
DeleteTemplateRequest request = new DeleteTemplateRequest();
//转码模板ID,可以在MPS控制台>模板管理>转码模板,或通过addTemplate创建
request.setTemplateId("81769d796feb87d36ae****");
return client.getAcsResponse(request);
}
通过ID查询模板
调用QueryTemplateList接口通过ID查询模板。
/**
* 通过ID 查询模板
* @param client
* @return
* @throws Exception
*/
public static QueryTemplateListResponse queryTemplateList(DefaultAcsClient client) throws Exception {
QueryTemplateListRequest request = new QueryTemplateListRequest();
//转码模板ID,可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建
//支持查询多个模板ID,一次最多查询10个,使用半角逗号(,)分隔
request.setTemplateIds("8176796feb8eb87d36ae****");
return client.getAcsResponse(request);
}
通过状态查询模板
调用SearchTemplate接口通过状态查询模板。
/**
* 通过状态查询模板
* @param client
* @return
* @throws Exception
*/
public static SearchTemplateResponse searchTemplate(DefaultAcsClient client) throws Exception {
SearchTemplateRequest request = new SearchTemplateRequest();
//模板状态
//All:全部模板、Normal:正常状态、Deleted:已删除状态
request.setState("Normal");
return client.getAcsResponse(request);
}
完整代码
import com.alibaba.fastjson.JSON;
import com.aliyun.mps.utils.InitClient;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.mts.model.v20140618.*;
/**
* ***** 使用须知 ******
* 本Demo为基本的模板相关接口示例, 包含添加模板、修改模板、删除模板、查询模板。
*
* ***** 方法介绍 ******
* addTemplate 添加模板 https://help.aliyun.com/document_detail/602839.html
* updateTemplate 更新模板配置 https://help.aliyun.com/document_detail/602840.html
* deleteTemplate 删除模板 https://help.aliyun.com/document_detail/602843.html
* queryTemplateList 通过ID查询模板 https://help.aliyun.com/document_detail/602841.html
* searchTemplate 通过状态查询模板 https://help.aliyun.com/document_detail/602842.html
*
* 更多模板参数 请参考 https://help.aliyun.com/document_detail/29253.html#section-i3e-rj4-51n
*
* ***** main方法 ******
* main方法中仅以addTemplate和updateTemplate作为调用示例, 如需调用其他方法请自行替换response
*/
public class Template{
public static void main(String[] args) throws ClientException {
//初始化调用client
DefaultAcsClient client = InitClient.initMpsClient();
AddTemplateResponse response;
try {
response = addTemplate(client);
System.out.println("RequestId is:" + response.getRequestId());
System.out.println("TemplateI is:" + response.getTemplate().getId());
} catch (Exception e) {
e.printStackTrace();
}
// UpdateTemplateResponse response;
// try {
// response = updateTemplate(client);
// System.out.println("RequestId is:" + response.getRequestId());
// System.out.println("TemplateId is:" + response.getTemplate().getId());
// System.out.println("Template is:" + JSON.toJSON(response.getTemplate()));
// } catch (Exception e) {
// e.printStackTrace();
// }
}
/**
* 创建模板
* @param client
* @return
* @throws Exception
*/
public static AddTemplateResponse addTemplate(DefaultAcsClient client) throws Exception {
AddTemplateRequest request = new AddTemplateRequest();
request.setName("test-template");
request.setContainer("{\"Format\":\"mp4\"}");
request.setVideo("{\"Codec\":\"H.264\",\"Profile\":\"high\",\"Bitrate\":\"500\",\"Width\":\"1280\",\"Height\":\"720\",\"Fps\":\"25\",\"Gop\":\"300\"}");
request.setAudio("{\"Codec\":\"AAC\",\"Samplerate\":\"44100\",\"Bitrate\":\"500\",\"Channels\":\"2\"}");
request.setTransConfig("{\"TransMode\":\"onepass\"}");
return client.getAcsResponse(request);
}
/**
* 更新模板配置
* @param client
* @return
* @throws Exception
*/
public static UpdateTemplateResponse updateTemplate(DefaultAcsClient client) throws Exception {
UpdateTemplateRequest request = new UpdateTemplateRequest();
//转码模板ID,可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建
request.setTemplateId("8176eb87d36ae96fad9d7****");
request.setName("update name");
request.setContainer("{\"Format\":\"m3u8\"}");
request.setVideo("{\"Codec\":\"H.264\",\"Profile\":\"high\",\"Bitrate\":\"500\",\"Width\":\"1280\",\"Height\":\"720\",\"Fps\":\"25\",\"Gop\":\"300\"}");
request.setAudio("{\"Codec\":\"AAC\",\"Samplerate\":\"44100\",\"Bitrate\":\"500\",\"Channels\":\"2\"}");
request.setTransConfig("{\"TransMode\":\"onepass\",\"IsCheckReso\":\"true\"}");
request.setMuxConfig("{\"Segment\":{\"Duration\":\"10\"}}");
return client.getAcsResponse(request);
}
/**
* 删除模板
* @param client
* @return
* @throws Exception
*/
public static DeleteTemplateResponse deleteTemplate(DefaultAcsClient client) throws Exception {
DeleteTemplateRequest request = new DeleteTemplateRequest();
//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建
request.setTemplateId("8176f9d796eb87d36ae****");
return client.getAcsResponse(request);
}
/**
* 通过ID 查询模板
* @param client
* @return
* @throws Exception
*/
public static QueryTemplateListResponse queryTemplateList(DefaultAcsClient client) throws Exception {
QueryTemplateListRequest request = new QueryTemplateListRequest();
//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建
//支持查询多个模板ID,一次最多查询10个,使用半角逗号(,)分隔
request.setTemplateIds("8176f9d796eb87d36ae****");
return client.getAcsResponse(request);
}
/**
* 通过状态查询模板
* @param client
* @return
* @throws Exception
*/
public static SearchTemplateResponse searchTemplate(DefaultAcsClient client) throws Exception {
SearchTemplateRequest request = new SearchTemplateRequest();
//模板状态
//All:全部模板、Normal:正常状态、Deleted:已删除状态
request.setState("Normal");
return client.getAcsResponse(request);
}
}
相关文档
文档内容是否对您有帮助?