Modifying a Transcoding Template Group

Function

This API is used to modify a custom transcoding template group.

URI

PUT /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 a 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 is obtained by calling the IAM API used to obtain a user token. The token is the value of X-Subject-Token in the response header.

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

group_id

No

String

ID of a template group

name

No

String

Name of the template group

videos

No

Array of VideoObj objects

List of output video configurations

audio

No

Audio object

Audio information

video_common

No

VideoCommon object

Common video information

common

No

Common object

Common information

Table 4 VideoObj

Parameter

Mandatory

Type

Description

width

Yes

Integer

Video width (unit: px). The value can be:

  • A multiple of 2 from 32 to 2880 for H.264.

  • A multiple of 4 from 240 to 2880 for H.265.

height

Yes

Integer

Video height (unit: px). The value can be:

  • A multiple of 2 from 32 to 2880 for H.264.

  • A multiple of 4 from 240 to 2880 for H.265.

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.

Possible values are:

  • discard

  • transcode

NOTE:
  • If output_policy in the video parameters is discard and output_policy in the audio parameters is transcode, only audio is transcoded.

  • If output_policy in the video parameters is transcode and output_policy in the audio parameters is discard, only video is transcoded.

  • If both are discard, the settings are invalid.

  • If both are transcode, audio and video are transcoded.

codec

Yes

Integer

Audio codec.

Possible values are:

  • 1: AAC

  • 2: HEAAC1

  • 3: HEAAC2

  • 4: MP3

sample_rate

Yes

Integer

Audio sampling rate.

Possible values are:

  • 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)

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.

Possible values are:

  • 1: AUDIO_CHANNELS_1

  • 2: AUDIO_CHANNELS_2

  • 6: AUDIO_CHANNELS_5_1

Table 6 VideoCommon

Parameter

Mandatory

Type

Description

output_policy

No

String

Output policy.

Possible values are:

  • discard

  • transcode

NOTE:
  • If output_policy in the video parameters is discard and output_policy in the audio parameters is transcode, only audio is transcoded.

  • If output_policy in the video parameters is transcode and output_policy in the audio parameters is discard, only video is transcoded.

  • If both are discard, the settings are invalid.

  • If both are transcode, audio and video are transcoded.

codec

No

Integer

Video codec.

Possible values are:

  • 1: VIDEO_CODEC_H264

  • 2: VIDEO_CODEC_H265

profile

No

Integer

Encoding profile. The recommended value is 3.

Possible values 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.

Possible values are:

  • 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 values are:

  • 1: VIDEO_PRESET_HSPEED2

  • 2: VIDEO_PRESET_HSPEED

  • 3: VIDEO_PRESET_NORMAL

NOTE:

A larger value indicates higher encoding quality and longer transcoding time.

ref_frames_count

No

Integer

Maximum reference frames.

Value range:

  • H.264: 1 to 8. The default value is 4.

  • H.265: The value is fixed at 4.

Unit: frame

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 number of B-frames.

Value range:

  • H.264: 0 to 7. The default value is 4.

  • H.265: 0 to 7. The default value is 7.

Unit: frame

frame_rate

No

Integer

Frame rate.

Its value is 0 or an integer ranging from 5 to 30.

aspect_ratio

No

Integer

Aspect ratio.

black_cut

No

Integer

Whether to enable black bar removal.

Possible values are:

  • 0: Disable black bar removal.

  • 1: Enable black bar removal and low-complexity algorithms for long videos (>5 minutes).

  • 2: Enable black bar removal and high-complexity algorithms for short videos (≤5 minutes).

Table 7 Common

Parameter

Mandatory

Type

Description

PVC

Yes

Boolean

Whether to enable low bitrate HD. Possible values are:

  • false: disabled.

  • true: enabled.

Default value: false

hls_interval

Yes

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.

Default value: 5

Unit: s

dash_interval

Yes

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.

Default value: 5

Unit: s

pack_type

Yes

Integer

Packaging type.

Possible values 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 set video parameters.

Response Parameters

Status code: 400

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code

error_msg

String

Error description

Example Requests

PUT https://{endpoint}/v1/{project_id}/template_group/transcodings
{
    "group_id" : "bd55741ccdf04e678f800c010aa12b68",
    "name" : "test_group",
    "videos" : [{
            "width" : 480,
            "height" : 270,
            "bitrate" : 200
        }, {
            "width" : "1280",
            "height" : "720",
            "bitrate" : "700"
        }
    ],
    "audio" : {
        "codec" : 1,
        "sample_rate" : 1,
        "channels" : 2,
        "bitrate" : 0
    },
    "video_common" : {
        "codec" : 1,
        "black_cut" : 0,
        "aspect_ratio" : 0,
        "profile" : 3,
        "level" : 15,
        "preset" : 3,
        "ref_frames_count" : 4,
        "max_iframes_interval" : 5,
        "bframes_count" : 4,
        "frame_rate" : 0
    },
    "common" : {
        "PVC" : 0,
        "pack_type" : 1,
        "hls_interval" : 5,
        "dash_interval" : 5
    }
}

Example Responses

Status code: 400

Failed to modify the transcoding template group.

{
  "error_code" : "MPC.10212",
  "error_msg" : "Operation failed."
}

Status Codes

Status Code

Description

204

Transcoding template group modified successfully.

400

Failed to modify the transcoding template group.

Error Codes

See Error Codes.