文档首页/ 媒体处理 MPC/ API参考/ 应用示例/ 示例2:提交视频转码任务
更新时间:2024-09-14 GMT+08:00

示例2:提交视频转码任务

场景描述

若您需要将存储在OBS桶中的视频文件进行转码,并添加图片水印,您可以调用MPC API进行转码处理。

本章节指导用户如何使用API调用的方式提交视频转码任务。

接口约束

不支持处理跨区域的媒资文件,如使用华北-北京一的MPC服务不能处理存储在华北-北京四OBS桶中的视频文件。

前提条件

  • 已获取需要创建转码任务区域的项目ID,具体获取方法请参见获取项目ID
  • 已明确需要创建转码任务所在的区域信息,并获取该区域的Endpoint,您可以从地区和终端节点获取。
  • 待转码处理的视频文件已经存储在OBS桶中,您可以调用OBS上传对象API上传。
  • 已创建用于存储转码生成的文件的OBS桶,您可以调用OBS创建桶API进行创建。

操作步骤

  1. 获取用户Token,用于MPC接口调用时的认证鉴权。

    “我的凭证”页面获取usernamepassworddomainnameprojectname,调用如下接口获取Token。详细信息请参见构造请求
    POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
    Content-Type: application/json
    {
      "auth": {
        "identity": {
          "methods": [
            "password"
          ],
          "password": {
            "user": {
              "name": "********", //用户名。
              "password": "********", //用户登录密码。
              "domain": {
                "name": "domainname" //用户所属的账号名称。  
              }
            }
          }
        },
        "scope": {
          "project": {
             "name": "*******"  //项目名称。
          }
        }
      }
    }

    图1所示,红框中的信息为获取用户Token。

    图1 获取用户Token

  2. 创建视频转码模板,获取转码模板ID,具体API调用方法请参见示例1:新建转码模板
  3. 创建水印模板。

    1. 选择POST请求方法并输入URI。
      https://{endpoint}/v1/{project_id}/template/watermark
    2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。
    3. Request Body中传入参数如下:
      {
        "template_name": "watermark_1920*1080_10*10_ BottomLeft",
        "type": "Image",
        "image_process": "Grayed",
        "width": "1920",
        "height": "1080",
        "dx": "10",
        "dy": "10",
        "referpos": "BottomLeft",
        "timeline_start": "6",
        "timeline_duration": "8"
      }
    4. 请求响应成功后,返回水印模板ID。
      {
        "template_id":242
      }

  4. 提交视频转码任务。

    1. 选择POST请求方法并输入URI。
       https://{endpoint}/v1/{project_id}/transcodings
    2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。
    3. Request Body中传入参数如下:
      {
      "input": {
                 "bucket": "example-bucket",
                 "location": "region01",
                 "object": "/mpc/input/sample.MP4"
      },
      "output": {
                 "bucket": "example-bucket",
                 "location": "region01",
                 "object": "/mpc/output/"
      },
      "trans_template_id":[1002],
      "watermarks": [{
      	"input": {
      		"bucket": "example-bucket",
      		"location": "region01",
      		"object": "meipai.jpg"
      	},
      	"template_id":242
      }],
      "priority":"9",
      "audit":{
      	"position":2,
               "index":2
      }
      } 
    4. 请求响应成功后,返回转码任务ID。
      {
        "task_id":100211
      }

  5. 查询视频转码执行情况。

    1. 选择GET请求方法并输入URI。
      https://{endpoint}/v1/{project_id}/transcodings?task_id=100211
    2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。
    3. 请求响应成功后,返回视频转码的详细信息。