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.
URI
POST /v1/{project_id}/template_group/transcodings
| 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
| 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. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| name | No | 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 |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| width | Yes | Integer | Video width (unit: px). The value can be:
|
| height | Yes | Integer | Video height (unit: px). The value can be:
|
| 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. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| output_policy | No | String | Output policy. Possible values are:
NOTE:
|
| codec | Yes | Integer | Audio codec. Possible values are:
|
| sample_rate | Yes | Integer | Audio sampling rate. Possible values are:
|
| 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:
|
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| output_policy | No | String | Output policy. Possible values are:
NOTE:
|
| codec | No | Integer | Video codec. Possible values are:
|
| profile | No | Integer | Encoding profile. The recommended value is 3. Possible values are:
|
| level | No | Integer | Encoding level. Possible values are:
|
| preset | No | Integer | Encoding quality. Possible values are:
NOTE: A larger value indicates higher encoding quality and longer transcoding time. |
| ref_frames_count | No | Integer | Maximum reference frames. Value range:
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:
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:
|
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| PVC | Yes | Boolean | Whether to enable low bitrate HD. Possible values are:
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:
NOTE: If pack_type is set to 5 or 6, do not set video parameters. |
Response Parameters
Status code: 201
| Parameter | Type | Description |
|---|---|---|
| template_group | TemplateGroup object | Details about the custom template group |
| 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 |
| Parameter | Type | Description |
|---|---|---|
| template_id | Integer | Template ID |
| width | Integer | Video width (unit: px). The value can be:
|
| height | Integer | Video height (unit: px). The value can be:
|
| 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. |
| Parameter | Type | Description |
|---|---|---|
| output_policy | String | Output policy. Possible values are:
NOTE:
|
| codec | Integer | Audio codec. Possible values are:
|
| sample_rate | Integer | Audio sampling rate. Possible values are:
|
| bitrate | Integer | Audio bitrate. The value is 0 or ranges from 8 to 1,000. Unit: kbit/s |
| channels | Integer | Number of audio channels. Possible values are:
|
| Parameter | Type | Description |
|---|---|---|
| output_policy | String | Output policy. Possible values are:
NOTE:
|
| codec | Integer | Video codec. Possible values are:
|
| profile | Integer | Encoding profile. The recommended value is 3. Possible values are:
|
| level | Integer | Encoding level. Possible values are:
|
| preset | Integer | Encoding quality. Possible values are:
NOTE: A larger value indicates higher encoding quality and longer transcoding time. |
| ref_frames_count | Integer | Maximum reference frames. Value range:
Unit: frame |
| max_iframes_interval | Integer | Maximum I-frame interval. The value ranges from 2 to 10. Default value: 5 Unit: second |
| bframes_count | Integer | Maximum number of B-frames. Value range:
Unit: frame |
| frame_rate | Integer | Frame rate. Its value is 0 or an integer ranging from 5 to 30. |
| aspect_ratio | Integer | Aspect ratio. |
| black_cut | Integer | Whether to enable black bar removal. Possible values are:
|
| Parameter | Type | Description |
|---|---|---|
| PVC | Boolean | Whether to enable low bitrate HD. Possible values are:
Default value: false |
| 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. Default value: 5 Unit: s |
| 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. Default value: 5 Unit: s |
| pack_type | Integer | Packaging type. Possible values are:
NOTE: If pack_type is set to 5 or 6, do not set video parameters. |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Error code |
| error_msg | String | Error description |
Example Requests
```
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,
"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: 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,
"ref_frames_count" : 4,
"max_iframes_interval" : 5,
"bframes_count" : 4,
"frame_rate" : 0,
"sync_timestamp" : false,
"aspect_ratio" : 0,
"black_cut" : 0,
"GOP_structure" : false,
"sr_factor" : null
},
"common" : {
"QDS" : false,
"PVC" : false,
"PVC_version" : null,
"PVC_strength" : 100,
"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.
Last Article: Transcoding Template Group APIs
Next Article: Querying Transcoding Template Groups
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.