转码任务

更新时间:2025-04-21 02:53:10

通过阅读本文,您可以了解通过服务端SDK调用OpenAPI发起并查询智能媒体服务转码任务的示例代码。

使用说明

发起转码任务时,需要先根据用户所提供的region(提供服务的区域)、name(转码任务名称)、inputPath(转码任务的输入OSS路径)、outputpath(转码任务的输出OSS路径)和templateId(转码模板ID)参数提交转码任务。转码任务处理成功后,可以根据返回的JobId(任务ID)查询该转码任务信息。

转码任务参数需注意以下几点:

  • region为提供服务的区域。

  • name可以为空。

  • inputPathoutputpath必须和region在同一区域。

  • templateId可通过转码模板管理页面获取。

说明

region目前支持区域如下:

  • 点播媒体处理:华东2(上海)、华北2(北京)、华南1(深圳)

  • 实时媒体处理:华东2(上海)

示例代码

您可以通过阿里云OpenAPI开发者门户在线调试。

package com.aliyun.ice.sample;

import com.aliyun.ice20201109.Client;
import com.aliyun.ice20201109.models.*;
import com.aliyun.teaopenapi.models.Config;


public class Sample {

    public static void main(String[] args) throws Exception {

        // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
        // 本示例以将AccessKey ID和 AccessKey Secret保存在环境变量为例说明。
        com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
        Config config = new Config();
        config.setCredential(credentialClient);

        // 如需硬编码AccessKey ID和AccessKey Secret,代码如下,但强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
        // config.accessKeyId = <yourAccessKeyId>;
        // config.accessKeySecret = <yourAccessKeySecret>;

        config.endpoint = "ice.cn-shanghai.aliyuncs.com";
        Client client = new Client(config);

        // 构造提交任务请求
        SubmitTranscodeJobRequest request = new SubmitTranscodeJobRequest()
            .setName("TranscodeTest")
            // 输入信息
            .setInputGroup(java.util.Arrays.asList(
                new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestInputGroup()
                    .setType("OSS")
                    .setMedia("oss://bucket/path/to/input_video.mp4")
            ))
            // 输出信息
            .setOutputGroup(java.util.Arrays.asList(
                new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroup()
                    .setOutput(new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroupOutput()
                        .setType("OSS")
                        .setMedia("oss://bucket/path/to/output_video.mp4"))
                    .setProcessConfig(new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroupProcessConfig()
                        .setTranscode(new SubmitTranscodeJobRequest.SubmitTranscodeJobRequestOutputGroupProcessConfigTranscode()
                            .setTemplateId("9547c6ad97cb4f2aaa29683ebd18****")))
            ));
        // 发送提交任务请求
        SubmitTranscodeJobResponse response = client.submitTranscodeJob(request);
        System.out.println("request id: " + response.getBody().getRequestId());

        // 提取任务ID,并构造查询任务请求
        String jobId = response.body.transcodeParentJob.parentJobId;
        GetTranscodeJobRequest queryRequest = new GetTranscodeJobRequest()
           .setParentJobId(jobId);
        // 发送查询任务情况请求
        GetTranscodeJobResponse queryResponse = client.getTranscodeJob(queryRequest);
        System.out.println("request id: " + queryResponse.getBody().getRequestId());

    }
}

相关接口

  • 本页导读 (1)
  • 使用说明
  • 示例代码
  • 相关接口
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等