媒体信息作业是指对输入文件进行深度分析和元数据提取,并返回输入文件的媒体信息。本文提供了Java SDK媒体信息作业相关功能的API调用示例,包含提交媒体信息作业、查询媒体信息作业。
前提条件
使用前请先初始化客户端,详细说明请参见初始化。
提交媒体信息作业
调用SubmitMediaInfoJob接口,完成提交媒体信息作业功能。
说明
通过SDK提交作业时Object需经URLEncode,否则会导致作业失败。更多信息,请参见URL Encoding说明。
请按照规范填写文件名称,否则会找不到文件导致作业失败。详细名称规范,请参见参数详情。
建议您在提交媒体信息作业时记录任务的JobID,便于后续进行相关操作。
/**
* 提交媒体信息作业
* @param client
* @return
* @throws Exception
*/
public static SubmitMediaInfoJobResponse submitMediaInfoJob(IAcsClient client) throws Exception{
// 创建API请求并设置参数
SubmitMediaInfoJobRequest request = new SubmitMediaInfoJobRequest();
//构建输入对象
JSONObject input = new JSONObject();
input.put("Bucket","<your bucket name>");
input.put("Location","oss-cn-beijing");
input.put("Object", URLEncoder.encode("mps-test/demo/test.mp4", "utf-8"));
request.setInput(input.toJSONString());
//request.setUserData("");
request.setPipelineId(pipelineId);
//true 异步作业(推荐) false 同步作业
request.setAsync(true);
return client.getAcsResponse(request);
}
查询媒体信息作业
调用QueryMediaInfoJobList接口,完成查询媒体信息作业功能。
/**
* 查询媒体信息作业
* @param client
* @return
* @throws Exception
*/
public static QueryMediaInfoJobListResponse queryMediaInfoJobList(IAcsClient client) throws Exception{
// 创建API请求并设置参数
QueryMediaInfoJobListRequest request = new QueryMediaInfoJobListRequest();
request.setAcceptFormat(FormatType.JSON);
//支持查询多个jobId 一次最多查询10个,使用半角逗号(,)分隔,通过submitMediaInfoJob获取
request.setMediaInfoJobIds("1267632d444e14796fad9****");
return client.getAcsResponse(request);
}
完整代码
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.mps.utils.InitClient;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.mts.model.v20140618.QueryMediaInfoJobListRequest;
import com.aliyuncs.mts.model.v20140618.QueryMediaInfoJobListResponse;
import com.aliyuncs.mts.model.v20140618.SubmitMediaInfoJobRequest;
import com.aliyuncs.mts.model.v20140618.SubmitMediaInfoJobResponse;
import java.net.URLEncoder;
/**
* ***** 使用须知 ******
* 本demo为基本的媒体信息作业示例
*
* ***** 方法介绍 ******
* submitMediaInfoJob 提交媒体信息作业 https://help.aliyun.com/document_detail/602827.html
* queryMediaInfoJobList 查询媒体信息作业 https://help.aliyun.com/document_detail/602828.html
*/
public class MediaInfoJob {
//管道ID, 可以在MPS控制台 > 全局设置 > 管道及回调查看
private static String pipelineId = "bee7a5bf9d796fafe40a0cbf****";
public static void main(String[] args) throws ClientException {
//初始化调用 client
DefaultAcsClient client = InitClient.initMpsClient();
SubmitMediaInfoJobResponse response;
try {
response = submitMediaInfoJob(client);
System.out.println("RequestId is:" + response.getRequestId());
System.out.println("JobId is:" + response.getMediaInfoJob().getJobId());
} catch (Exception e) {
e.printStackTrace();
}
// QueryMediaInfoJobListResponse response;
// try {
// response = queryMediaInfoJobList(client);
// System.out.println("RequestId is:" + response.getRequestId());
// System.out.println("MediaInfoJobList is:" + JSON.toJSON(response.getMediaInfoJobList()));
// } catch (Exception e) {
// e.printStackTrace();
// }
}
/**
* 提交媒体信息作业
* @param client
* @return
* @throws Exception
*/
public static SubmitMediaInfoJobResponse submitMediaInfoJob(IAcsClient client) throws Exception{
// 创建API请求并设置参数
SubmitMediaInfoJobRequest request = new SubmitMediaInfoJobRequest();
//构建输入对象
JSONObject input = new JSONObject();
input.put("Bucket","<your bucket name>");
input.put("Location","oss-cn-beijing");
input.put("Object", URLEncoder.encode("mps-test/demo/test.mp4", "utf-8"));
request.setInput(input.toJSONString());
//request.setUserData("");
request.setPipelineId(pipelineId);
//true 异步作业(推荐) false 同步作业
request.setAsync(true);
return client.getAcsResponse(request);
}
/**
* 查询媒体信息作业
* @param client
* @return
* @throws Exception
*/
public static QueryMediaInfoJobListResponse queryMediaInfoJobList(IAcsClient client) throws Exception{
// 创建API请求并设置参数
QueryMediaInfoJobListRequest request = new QueryMediaInfoJobListRequest();
request.setAcceptFormat(FormatType.JSON);
//支持查询多个JobID,一次最多查询10个,使用半角逗号(,)分隔,通过submitMediaInfoJob获取
request.setMediaInfoJobIds("1267632d444e14f9d796fa****");
return client.getAcsResponse(request);
}
}
相关文档
反馈
- 本页导读 (1)
文档反馈