转码任务

更新时间:
复制 MD 格式

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

使用说明

发起转码任务时,需要先根据用户所提供的regionId(提供服务的地域)、Inputs(转码任务的输入配置)、OutputGroups(转码作业输出组配置列表)参数提交转码任务。转码任务处理成功后,可以根据返回的JobId(任务ID)查询该转码任务信息。

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

  • regionId为提供服务的地域。

  • InputsOutputGroups对应的输入输出文件,必须处于同一地域regionId

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

完整参数结构参见 MediaConvertJobConfig

说明

regionId支持地域请参考服务地域

示例代码

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

const ICE20201109 = require('@alicloud/ice20201109');
const OpenApi = require('@alicloud/openapi-client');
const Util = require('@alicloud/tea-util');
const Credential = require('@alicloud/credentials');
const Tea = require('@alicloud/tea-typescript');

class Client {

  /**
   * 使用凭据初始化账号Client
   * @return Client
   * @throws Exception
   */
  static createClient() {
    // 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378664.html。
    let credential = new Credential.default();
    let config = new OpenApi.Config({
      credential: credential,
    });
    // Endpoint 请参考 https://api.aliyun.com/product/ICE
    // cn-shanghai 可替换为所使用的regionId
    config.endpoint = `ice.cn-shanghai.aliyuncs.com`;
    return new ICE20201109.default(config);
  }

  static async main(args) {
    let client = Client.createClient();
    let submitMediaConvertJobRequest = new ICE20201109.SubmitMediaConvertJobRequest({
      config: '{"Inputs":[{"InputFile":{"Type":"OSS","Media":"http://<bucket name>.oss-cn-shanghai.aliyuncs.com/input/**/60min.mp4"}}],"OutputGroups":[{"GroupConfig":{"Type":"File","OutputFileBase":{"Type":"OSS","Media":"http://<bucket name>.oss-cn-shanghai.aliyuncs.com/output/**/"}},"Outputs":[{"OutputFileName":"hd.mp4","TemplateId":"<TemplateId>"},{"OutputFileName":"sd.mp4","TemplateId":"<TemplateId>"}]}]}',
      userData: '{"videoId":"abcd"}',
    });
    let runtime = new Util.RuntimeOptions({ });
    try {
      let resp = await client.submitMediaConvertJobWithOptions(submitMediaConvertJobRequest, runtime);
      console.log(JSON.stringify(resp, null, 2));
    } catch (error) {
      // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
      // 错误 message
      console.log(error.message);
      // 诊断地址
      console.log(error.data["Recommend"]);
    }    
  }

}

exports.Client = Client;
Client.main(process.argv.slice(2));

相关接口