Updated on 2024-03-14 GMT+08:00

Creating a Transcoding Template Group

Function

This API is used to create a transcoding template group. In a custom transcoding template group, a maximum of six output configurations can be defined.

Calling Method

For details, see Calling APIs.

URI

POST /v1/{project_id}/template_group/transcodings

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID .

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

No

String

User token

The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Authorization

No

String

Authentication information. This parameter is mandatory when AK/SK-based authentication is used.

X-Project_Id

No

String

Project ID. This parameter is mandatory when AK/SK-based authentication is used. It is same as the project ID in path parameters.

X-Sdk-Date

No

String

Time when the request is sent. This parameter is mandatory when AK/SK-based authentication is used.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

name

Yes

String

Name of each queried template group

videos

No

Array of VideoObj objects

List of output video configurations

audio

No

Audio object

Audio parameters

video_common

No

VideoCommon object

Common video parameters

common

No

Common object

Common parameters

Table 4 VideoObj

Parameter

Mandatory

Type

Description

width

Yes

Integer

Video width, in pixels

  • H.264: The value is a multiple of 2 from 32 to 4,096.

  • H.265: The value is a multiple of 2 from 320 to 4,096.

height

Yes

Integer

Video height, in pixels

  • H.264: The value is a multiple of 2 from 32 to 2,880.

  • H.265: The value is a multiple of 2 from 240 to 2,880.

bitrate

Yes

Integer

Average output bitrate

Its value is 0 or an integer ranging from 40 to 30,000.

Unit: kbit/s

If this parameter is set to 0, the average output bitrate is an adaptive value.

Table 5 Audio

Parameter

Mandatory

Type

Description

output_policy

No

String

Output policy:

  • If output_policy is set to discard in video parameters and transcode in audio parameters, only audio is output.

  • If output_policy is set to transcode in video parameters and to discard in audio parameters, only video is output.

  • If output_policy is set to copy in video parameters, the original video is copied without codec.

  • If output_policy is set to copy in audio parameters, the original audio is copied without codec.

  • output_policy cannot be set to discard in video and audio parameters at the same time.

  • If output_policy is set to transcode in video and video parameters at the same time, video and audio are output.

The options are as follows:

  • discard

  • transcode

  • copy

codec

No

Integer

Audio codec

Possible options are:

  • 1: AAC

  • 2: HEAAC1

  • 3: HEAAC2

  • 4: MP3

sample_rate

No

Integer

Audio sampling rate

The options are as follows:

  • 1: AUDIO_SAMPLE_AUTO

  • 2: AUDIO_SAMPLE_22050 (22,050 Hz)

  • 3: AUDIO_SAMPLE_32000 (32,000 Hz)

  • 4: AUDIO_SAMPLE_44100 (44,100 Hz)

  • 5: AUDIO_SAMPLE_48000 (48,000 Hz)

  • 6: AUDIO_SAMPLE_96000 (96,000 Hz)

NOTE:

When the encoding format is MP3, the audio sampling ratio cannot be 6.

bitrate

No

Integer

Audio bitrate.

The value is 0 or ranges from 8 to 1,000.

Unit: kbit/s

channels

Yes

Integer

Number of audio channels

Options:

  • 1: AUDIO_CHANNELS_1 (mono)

  • 2: AUDIO_CHANNELS_2 (stereo)

  • 6: AUDIO_CHANNELS_5_1 (5.1 surround sound)

When the media packaging format is audio (MP3), the number of audio channels cannot be set to 5.1.

Table 6 VideoCommon

Parameter

Mandatory

Type

Description

output_policy

No

String

Output policy:

  • If output_policy is set to discard in video parameters and transcode in audio parameters, only audio is output.

  • If output_policy is set to transcode in video parameters and to discard in audio parameters, only video is output.

  • If output_policy is set to copy in video parameters, the original video is copied without codec.

  • If output_policy is set to copy in audio parameters, the original audio is copied without codec.

  • output_policy cannot be set to discard in video and audio parameters at the same time.

  • If output_policy is set to transcode in video and video parameters at the same time, video and audio are output.

The options are as follows:

  • discard

  • transcode

  • copy

codec

No

Integer

Video codec

Possible values:

  • 1: H.264

  • 2: H.265

profile

No

Integer

Encoding profile. The recommended value is 3.

Possible options are:

  • 1: VIDEO_PROFILE_H264_BASE

  • 2: VIDEO_PROFILE_H264_MAIN

  • 3: VIDEO_PROFILE_H264_HIGH

  • 4: VIDEO_PROFILE_H265_MAIN

level

No

Integer

Encoding level

Options:

  • 0: AUTO

  • 1: VIDEO_LEVEL_1_0

  • 2: VIDEO_LEVEL_1_1

  • 3: VIDEO_LEVEL_1_2

  • 4: VIDEO_LEVEL_1_3

  • 5: VIDEO_LEVEL_2_0

  • 6: VIDEO_LEVEL_2_1

  • 7: VIDEO_LEVEL_2_2

  • 8: VIDEO_LEVEL_3_0

  • 9: VIDEO_LEVEL_3_1

  • 10: VIDEO_LEVEL_3_2

  • 11: VIDEO_LEVEL_4_0

  • 12: VIDEO_LEVEL_4_1

  • 13: VIDEO_LEVEL_4_2

  • 14: VIDEO_LEVEL_5_0

  • 15: VIDEO_LEVEL_5_1

preset

No

Integer

Encoding quality.

Possible options:

  • 1: VIDEO_PRESET_SPEED (fast encoding)

  • 2: VIDEO_PRESET_NORMAL (common encoding), which is not recommended

  • 3: VIDEO_PRESET_HIGHQUALITY (high-quality encoding)

Default value: 1

max_iframes_interval

No

Integer

Maximum I-frame interval.

The value ranges from 2 to 10.

Default value: 5

Unit: second

bframes_count

No

Integer

Maximum B-frame interval

The options are as follows:

  • H264: The value ranges from 0 to 8 and defaults to 4.

  • H.265: The value ranges from 0 to 8 and defaults to 7.

Unit: frame

frame_rate

No

Integer

Frame rate.

The value is 0 (adaptive) or an integer ranging from 5 to 60.

Unit: FPS

black_cut

No

Integer

Whether to enable black bar removal.

  • 0: disables black bar removal

  • 1: enables black bar removal and low-complexity algorithms for videos longer than 5 minutes

  • 2: enables black bar removal and high-complexity algorithms for videos no longer than 5 minutes

Table 7 Common

Parameter

Mandatory

Type

Description

PVC

No

Boolean

Whether to enable low-bitrate HD

The options are as follows:

  • false: disabled (This function is disabled by default.)

  • true: enabled

(The value 0 indicates that the function is disabled. Other positive integers and negative values indicate true.)

hls_interval

No

Integer

HLS segment duration. This parameter is used only when pack_type is set to 1 or 3.

The value ranges from 2 to 10.

Unit: second

dash_interval

No

Integer

DASH segment duration. This parameter is used only when pack_type is set to 2 or 3.

The value ranges from 2 to 10.

Unit: second

pack_type

Yes

Integer

Packaging type

Possible options are:

  • 1: HLS

  • 2: DASH

  • 3: HLS+DASH

  • 4: MP4

  • 5: MP3

  • 6: ADTS

NOTE:

If pack_type is set to 5 or 6, do not configure video parameters.

Response Parameters

Status code: 201

Table 8 Response body parameters

Parameter

Type

Description

template_group

TemplateGroup object

Details about the custom template group

Table 9 TemplateGroup

Parameter

Type

Description

group_id

String

ID of each queried template group

name

String

Name of each queried template group

template_ids

Array of integers

IDs of templates in each queried template group

videos

Array of VideoAndTemplate objects

List of output video configurations

audio

Audio object

Audio information

video_common

VideoCommon object

Common video information

common

Common object

Common information

Table 10 VideoAndTemplate

Parameter

Type

Description

template_id

Integer

Template ID

width

Integer

Video width, in pixels

  • H.264: The value is a multiple of 2 from 32 to 4,096.

  • H.265: The value is a multiple of 2 from 320 to 4,096.

height

Integer

Video height, in pixels

  • H.264: The value is a multiple of 2 from 32 to 2,880.

  • H.265: The value is a multiple of 2 from 240 to 2,880.

bitrate

Integer

Average output bitrate.

Its value is 0 or an integer ranging from 40 to 30,000.

Unit: kbit/s

If this parameter is set to 0, the average output bitrate is an adaptive value.

Table 11 Audio

Parameter

Type

Description

output_policy

String

Output policy:

  • If output_policy is set to discard in video parameters and transcode in audio parameters, only audio is output.

  • If output_policy is set to transcode in video parameters and to discard in audio parameters, only video is output.

  • If output_policy is set to copy in video parameters, the original video is copied without codec.

  • If output_policy is set to copy in audio parameters, the original audio is copied without codec.

  • output_policy cannot be set to discard in video and audio parameters at the same time.

  • If output_policy is set to transcode in video and video parameters at the same time, video and audio are output.

The options are as follows:

  • discard

  • transcode

  • copy

codec

Integer

Audio codec

Possible options are:

  • 1: AAC

  • 2: HEAAC1

  • 3: HEAAC2

  • 4: MP3

sample_rate

Integer

Audio sampling rate

The options are as follows:

  • 1: AUDIO_SAMPLE_AUTO

  • 2: AUDIO_SAMPLE_22050 (22,050 Hz)

  • 3: AUDIO_SAMPLE_32000 (32,000 Hz)

  • 4: AUDIO_SAMPLE_44100 (44,100 Hz)

  • 5: AUDIO_SAMPLE_48000 (48,000 Hz)

  • 6: AUDIO_SAMPLE_96000 (96,000 Hz)

NOTE:

When the encoding format is MP3, the audio sampling ratio cannot be 6.

bitrate

Integer

Audio bitrate.

The value is 0 or ranges from 8 to 1,000.

Unit: kbit/s

channels

Integer

Number of audio channels

Options:

  • 1: AUDIO_CHANNELS_1 (mono)

  • 2: AUDIO_CHANNELS_2 (stereo)

  • 6: AUDIO_CHANNELS_5_1 (5.1 surround sound)

When the media packaging format is audio (MP3), the number of audio channels cannot be set to 5.1.

Table 12 VideoCommon

Parameter

Type

Description

output_policy

String

Output policy:

  • If output_policy is set to discard in video parameters and transcode in audio parameters, only audio is output.

  • If output_policy is set to transcode in video parameters and to discard in audio parameters, only video is output.

  • If output_policy is set to copy in video parameters, the original video is copied without codec.

  • If output_policy is set to copy in audio parameters, the original audio is copied without codec.

  • output_policy cannot be set to discard in video and audio parameters at the same time.

  • If output_policy is set to transcode in video and video parameters at the same time, video and audio are output.

The options are as follows:

  • discard

  • transcode

  • copy

codec

Integer

Video codec

Possible values:

  • 1: H.264

  • 2: H.265

profile

Integer

Encoding profile. The recommended value is 3.

Possible options are:

  • 1: VIDEO_PROFILE_H264_BASE

  • 2: VIDEO_PROFILE_H264_MAIN

  • 3: VIDEO_PROFILE_H264_HIGH

  • 4: VIDEO_PROFILE_H265_MAIN

level

Integer

Encoding level

Options:

  • 0: AUTO

  • 1: VIDEO_LEVEL_1_0

  • 2: VIDEO_LEVEL_1_1

  • 3: VIDEO_LEVEL_1_2

  • 4: VIDEO_LEVEL_1_3

  • 5: VIDEO_LEVEL_2_0

  • 6: VIDEO_LEVEL_2_1

  • 7: VIDEO_LEVEL_2_2

  • 8: VIDEO_LEVEL_3_0

  • 9: VIDEO_LEVEL_3_1

  • 10: VIDEO_LEVEL_3_2

  • 11: VIDEO_LEVEL_4_0

  • 12: VIDEO_LEVEL_4_1

  • 13: VIDEO_LEVEL_4_2

  • 14: VIDEO_LEVEL_5_0

  • 15: VIDEO_LEVEL_5_1

preset

Integer

Encoding quality.

Possible options:

  • 1: VIDEO_PRESET_SPEED (fast encoding)

  • 2: VIDEO_PRESET_NORMAL (common encoding), which is not recommended

  • 3: VIDEO_PRESET_HIGHQUALITY (high-quality encoding)

Default value: 1

max_iframes_interval

Integer

Maximum I-frame interval.

The value ranges from 2 to 10.

Default value: 5

Unit: second

bframes_count

Integer

Maximum B-frame interval

The options are as follows:

  • H264: The value ranges from 0 to 8 and defaults to 4.

  • H.265: The value ranges from 0 to 8 and defaults to 7.

Unit: frame

frame_rate

Integer

Frame rate.

The value is 0 (adaptive) or an integer ranging from 5 to 60.

Unit: FPS

black_cut

Integer

Whether to enable black bar removal.

  • 0: disables black bar removal

  • 1: enables black bar removal and low-complexity algorithms for videos longer than 5 minutes

  • 2: enables black bar removal and high-complexity algorithms for videos no longer than 5 minutes

Table 13 Common

Parameter

Type

Description

PVC

Boolean

Whether to enable low-bitrate HD

The options are as follows:

  • false: disabled (This function is disabled by default.)

  • true: enabled

(The value 0 indicates that the function is disabled. Other positive integers and negative values indicate true.)

hls_interval

Integer

HLS segment duration. This parameter is used only when pack_type is set to 1 or 3.

The value ranges from 2 to 10.

Unit: second

dash_interval

Integer

DASH segment duration. This parameter is used only when pack_type is set to 2 or 3.

The value ranges from 2 to 10.

Unit: second

pack_type

Integer

Packaging type

Possible options are:

  • 1: HLS

  • 2: DASH

  • 3: HLS+DASH

  • 4: MP4

  • 5: MP3

  • 6: ADTS

NOTE:

If pack_type is set to 5 or 6, do not configure video parameters.

Status code: 400

Table 14 Response body parameters

Parameter

Type

Description

error_code

String

Error code

error_msg

String

Error description

Example Requests

Creates a transcoding template group of a maximum of one input and six output streams.

POST https://{endpoint}/v1/{project_id}/template_group/transcodings

{
  "name" : "my_templateGroup",
  "videos" : [ {
    "width" : "480",
    "height" : "270",
    "bitrate" : "200"
  } ],
  "audio" : {
    "codec" : 1,
    "sample_rate" : 1,
    "channels" : 2,
    "bitrate" : 0
  },
  "video_common" : {
    "codec" : 1,
    "black_cut" : 0,
    "profile" : 3,
    "level" : 15,
    "preset" : 3,
    "max_iframes_interval" : 5,
    "bframes_count" : 4,
    "frame_rate" : 0
  },
  "common" : {
    "PVC" : false,
    "pack_type" : 1,
    "hls_interval" : 5,
    "dash_interval" : 5
  }
}

Example Responses

Status code: 201

Transcoding template group created successfully.

{
  "template_group" : {
    "group_id" : "f7fc420b17db414fb11652671581bb6d",
    "name" : "my_templateGroup",
    "template_ids" : [ 286548 ],
    "videos" : [ {
      "template_id" : 286548,
      "width" : 480,
      "height" : 270,
      "bitrate" : 200
    } ],
    "audio" : {
      "output_policy" : "transcode",
      "codec" : 1,
      "bitrate" : 0,
      "sample_rate" : 1,
      "channels" : 2
    },
    "video_common" : {
      "output_policy" : "transcode",
      "codec" : 1,
      "profile" : 3,
      "level" : 15,
      "preset" : 1,
      "max_iframes_interval" : 5,
      "bframes_count" : 4,
      "frame_rate" : 0,
      "black_cut" : 0
    },
    "common" : {
      "PVC" : false,
      "hls_interval" : 5,
      "dash_interval" : 5,
      "pack_type" : 1
    }
  }
}

Status code: 400

Failed to create a transcoding template group.

{
  "error_code" : "MPC.10202",
  "error_msg" : "Invalid request parameter."
}

Status Codes

Status Code

Description

201

Transcoding template group created successfully.

400

Failed to create a transcoding template group.

Error Codes

See Error Codes.