文档

媒体信息

更新时间:
一键部署

媒体信息作业是指对输入文件进行深度分析和元数据提取,并返回输入文件的媒体信息。本文提供了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)
文档反馈