Help Center> Video On Demand> API Reference> Application Examples> Example 4: Processing a Video File
Updated on 2023-11-13 GMT+08:00

Example 4: Processing a Video File

Scenario

During media file upload, you can configure parameters for media file processing. After the upload is complete, the media file is automatically processed. You can also call the VOD APIs to process uploaded video files.

This section describes how to call APIs to process uploaded video files, including video transcoding, snapshot capturing, and encryption. You can perform one or multiple processing operations at the same time.

Prerequisites

  • The region where the video file to be processed is located has been specified. See Endpoints.
  • You have obtained the project ID of the region where the video file to be processed is located. For details, see Obtaining a Project ID.

Procedure

  1. Obtain a user token and use it to authenticate the calling of VOD APIs.

    For details, see Making an API Request. CN North-Beijing4 is used as an example. If you need to call a VOD API in another region, replace the endpoint with the IAM endpoint of the corresponding region.

    POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
    Content-Type: application/json
    
    {
      "auth": {
        "identity": {
          "methods": [
            "password"
          ],
          "password": {
            "user": {
              "name": "username", 
              "password": "password", 
              "domain": {
                "name": "domainname"   
              }
            }
          }
        },
        "scope": {
          "project": {
             "name": "projectname"
          }
        }
      }
    }
    As shown in Figure 1, information in the red box indicates the user token.
    Figure 1 Obtaining the user token

  2. Create a custom transcoding template on the VOD console. For details, see Transcoding Settings.

    You can also use the system transcoding template provided by VOD. After creating a transcoding template, you can obtain the transcoding template name on the VOD console.

    Figure 2 Obtaining the transcoding template name

  3. On the VOD console, configure the URL of KMS. For details, see HLS Encryption Settings.

    Only transcoded video files in HLS can be encrypted. If encryption is not required, skip this step.

    Figure 3 Encryption settings

  4. Create a video processing task.

    1. Select the POST request method and enter the URI.
      https://{endpoint}/v1.0/{project_id}/asset/process
    2. In the request header, add X-Auth-Token and set its value to the token obtained in 1.
    3. Specify the following parameters in the request body:
      {
      	"asset_id": "b4f39691d66cc0ef75d62ee567146e11",
      	"template_group_name": "test",
      	"auto_encrypt":0,
      	"thumbnail":{
      		"type":"time",
      		"time":12
      		
      	},
      	"subtitle_id":[1]
      }

      You can change subtitle files only when you configured the subtitles parameter in Example 1: Uploading a Media File Less Than 20 MB for the subtitle_id parameter to take effect.

    4. If the request is successful, the processed media file ID is returned.
      {
        "asset_id": "b4f39691d66cc0ef75d62ee567146e11"
      }

  5. Call the API for querying details to query the video processing execution status. For details, see Example 3: Obtaining Media File Details.

    The execution time of a video processing task depends on the size of the video file and the number of processing operations. You are advised to query the execution status 5 to 10 minutes after the video task is submitted.