更新时间:2024-11-12 GMT+08:00
分享

新建转码模板组

功能介绍

新建转码模板组,最多支持一进六出。

调用方法

请参见如何调用API

URI

POST /v1/{project_id}/template_group/transcodings

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参考获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Authorization

String

使用AK/SK方式认证时必选,携带的鉴权信息。

X-Project_Id

String

使用AK/SK方式认证时必选,携带项目ID信息, 与路径参数中的项目ID相同。

X-Sdk-Date

String

使用AK/SK方式认证时必选,请求的发生时间。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

模板组名称

videos

Array of VideoObj objects

视频信息列表

audio

Audio object

音频信息

video_common

VideoCommon object

视频通用信息

common

Common object

通用信息

表4 VideoObj

参数

是否必选

参数类型

描述

width

Integer

视频宽度(单位:像素)

  • H264:范围[32,4096],必须为2的倍数

  • H265:范围[320,4096],必须是2的倍数

height

Integer

视频高度(单位:像素)

  • H264:范围[32,2880],必须为2的倍数

  • H265:范围[240,2880],必须是2的倍数

bitrate

Integer

输出平均码率。

参考取值范围:0或[40,30000]之间的整数。

单位:kbit/s

若设置为0,则输出平均码率为自适应值。

stream_name

String

流名称

表5 Audio

参数

是否必选

参数类型

描述

output_policy

String

输出策略:

  • 当视频参数中的“output_policy”为“discard”,且音频参数中的“output_policy”为“transcode”时,表示只输出音频。

  • 当视频参数中的“output_policy”为“transcode”,且音频参数中的“output_policy”为“discard”时,表示只输出视频。

  • 当视频参数中的“output_policy”为“copy”,表示直接拷贝原始的视频,不做编解码。

  • 当音频参数中的“output_policy”为“copy”,表示直接拷贝原始的音频,不做编解码。

  • 同时为“discard”不合法。

  • 同时为“transcode”时,表示输出音视频。

取值如下:

  • discard

  • transcode

  • copy

codec

Integer

音频编码格式。

取值如下:

  • 1:AAC格式。

  • 2:HEAAC1格式 。

  • 3:HEAAC2格式。

  • 4:MP3格式 。

sample_rate

Integer

音频采样率。

取值如下:

  • 1:AUDIO_SAMPLE_AUTO

  • 2:AUDIO_SAMPLE_22050(22050Hz)

  • 3:AUDIO_SAMPLE_32000(32000Hz)

  • 4:AUDIO_SAMPLE_44100(44100Hz)

  • 5:AUDIO_SAMPLE_48000(48000Hz)

  • 6:AUDIO_SAMPLE_96000(96000Hz)

说明:

当编码格式为MP3时,音频采样率取值不为6

bitrate

Integer

音频码率。

取值范围:0或[8,1000]。

单位:kbit/s。

channels

Integer

声道数。

取值如下:

  • 1:AUDIO_CHANNELS_1,单声道

  • 2:AUDIO_CHANNELS_2,双声道

  • 6:AUDIO_CHANNELS_5_1,5.1声道

当媒体的封装格式是音频格式(MP3)时,声道数不支持设为5.1声道。

表6 VideoCommon

参数

是否必选

参数类型

描述

output_policy

String

输出策略:

  • 当视频参数中的“output_policy”为“discard”,且音频参数中的“output_policy”为“transcode”时,表示只输出音频。

  • 当视频参数中的“output_policy”为“transcode”,且音频参数中的“output_policy”为“discard”时,表示只输出视频。

  • 当视频参数中的“output_policy”为“copy”,表示直接拷贝原始的视频,不做编解码。

  • 当音频参数中的“output_policy”为“copy”,表示直接拷贝原始的音频,不做编解码。

  • 同时为“discard”不合法。

  • 同时为“transcode”时,表示输出音视频。

取值如下:

  • discard

  • transcode

  • copy

codec

Integer

视频编码格式。

取值如下:

  • 1:表示H.264。

  • 2:表示H.265。

profile

Integer

编码档次,建议设为3。

取值如下:

  • 1:VIDEO_PROFILE_H264_BASE

  • 2:VIDEO_PROFILE_H264_MAIN

  • 3:VIDEO_PROFILE_H264_HIGH

  • 4:VIDEO_PROFILE_H265_MAIN

level

Integer

编码级别。

取值如下:

  • 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

编码质量等级。

取值如下:

  • 1:VIDEO_PRESET_SPEED,编码快速档位

  • 2:VIDEO_PRESET_NORMAL,编码普通档位,不推荐使用2。

  • 3:VIDEO_PRESET_HIGHQUALITY,编码高质量档位

默认值1。

max_iframes_interval

Integer

I帧最大间隔

取值范围:[2,10]。

默认值:5。

单位:秒。

bframes_count

Integer

最大B帧间隔。

取值范围:

  • H264:[0,8],默认值为4。

  • H265:[0,8],默认值为7。

单位:帧。

frame_rate

Integer

帧率

取值范围:0或[5,60]之间的整数,0表示自适应

单位:帧每秒

black_cut

Integer

黑边剪裁类型

取值如下:

  • 0:不开启黑边剪裁

  • 1:开启黑边剪裁,低复杂度算法,针对长视频(>5分钟)

  • 2:开启黑边剪裁,高复杂度算法,针对短视频(<=5分钟)

表7 Common

参数

是否必选

参数类型

描述

PVC

Boolean

是否开启高清低码功能。

取值如下:

  • false:关闭。(当前默认关闭)

  • true:开启。

(数字0表示关闭,其余正整数,负数都表示true)

hls_interval

Integer

HLS分片间隔,仅封装类型“pack_type”取值为1或3时,该参数生效。

取值范围:[2,10]。

单位:秒。

dash_interval

Integer

DASH间隔,仅封装类型“pack_type”取值为2或3时,该参数生效。

取值范围:[2,10]。

单位:秒。

pack_type

Integer

封装类型。

取值如下:

  • 1:HLS

  • 2:DASH

  • 3:HLS+DASH

  • 4:MP4

  • 5:MP3

  • 6:ADTS

说明:

pack_type设置为5和6时,不能设置视频参数。

响应参数

状态码: 201

表8 响应Body参数

参数

参数类型

描述

template_group

TemplateGroup object

模板组信息。

表9 TemplateGroup

参数

参数类型

描述

group_id

String

模板组id

name

String

模板组名称

template_ids

Array of integers

模板组模板ID

videos

Array of VideoAndTemplate objects

视频信息列表

audio

Audio object

音频信息

video_common

VideoCommon object

视频通用信息

common

Common object

通用信息

表10 VideoAndTemplate

参数

参数类型

描述

template_id

Integer

模板ID

width

Integer

视频宽度(单位:像素)

  • H264:范围[32,4096],必须为2的倍数

  • H265:范围[320,4096],必须是2的倍数

height

Integer

视频高度(单位:像素)

  • H264:范围[32,2880],必须为2的倍数

  • H265:范围[240,2880],必须是2的倍数

bitrate

Integer

输出平均码率。

取值范围:0或[40,30000]之间的整数。

单位:kbit/s

若设置为0,则输出平均码率为自适应值。

stream_name

String

流名称

表11 Audio

参数

参数类型

描述

output_policy

String

输出策略:

  • 当视频参数中的“output_policy”为“discard”,且音频参数中的“output_policy”为“transcode”时,表示只输出音频。

  • 当视频参数中的“output_policy”为“transcode”,且音频参数中的“output_policy”为“discard”时,表示只输出视频。

  • 当视频参数中的“output_policy”为“copy”,表示直接拷贝原始的视频,不做编解码。

  • 当音频参数中的“output_policy”为“copy”,表示直接拷贝原始的音频,不做编解码。

  • 同时为“discard”不合法。

  • 同时为“transcode”时,表示输出音视频。

取值如下:

  • discard

  • transcode

  • copy

codec

Integer

音频编码格式。

取值如下:

  • 1:AAC格式。

  • 2:HEAAC1格式 。

  • 3:HEAAC2格式。

  • 4:MP3格式 。

sample_rate

Integer

音频采样率。

取值如下:

  • 1:AUDIO_SAMPLE_AUTO

  • 2:AUDIO_SAMPLE_22050(22050Hz)

  • 3:AUDIO_SAMPLE_32000(32000Hz)

  • 4:AUDIO_SAMPLE_44100(44100Hz)

  • 5:AUDIO_SAMPLE_48000(48000Hz)

  • 6:AUDIO_SAMPLE_96000(96000Hz)

说明:

当编码格式为MP3时,音频采样率取值不为6

bitrate

Integer

音频码率。

取值范围:0或[8,1000]。

单位:kbit/s。

channels

Integer

声道数。

取值如下:

  • 1:AUDIO_CHANNELS_1,单声道

  • 2:AUDIO_CHANNELS_2,双声道

  • 6:AUDIO_CHANNELS_5_1,5.1声道

当媒体的封装格式是音频格式(MP3)时,声道数不支持设为5.1声道。

表12 VideoCommon

参数

参数类型

描述

output_policy

String

输出策略:

  • 当视频参数中的“output_policy”为“discard”,且音频参数中的“output_policy”为“transcode”时,表示只输出音频。

  • 当视频参数中的“output_policy”为“transcode”,且音频参数中的“output_policy”为“discard”时,表示只输出视频。

  • 当视频参数中的“output_policy”为“copy”,表示直接拷贝原始的视频,不做编解码。

  • 当音频参数中的“output_policy”为“copy”,表示直接拷贝原始的音频,不做编解码。

  • 同时为“discard”不合法。

  • 同时为“transcode”时,表示输出音视频。

取值如下:

  • discard

  • transcode

  • copy

codec

Integer

视频编码格式。

取值如下:

  • 1:表示H.264。

  • 2:表示H.265。

profile

Integer

编码档次,建议设为3。

取值如下:

  • 1:VIDEO_PROFILE_H264_BASE

  • 2:VIDEO_PROFILE_H264_MAIN

  • 3:VIDEO_PROFILE_H264_HIGH

  • 4:VIDEO_PROFILE_H265_MAIN

level

Integer

编码级别。

取值如下:

  • 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

编码质量等级。

取值如下:

  • 1:VIDEO_PRESET_SPEED,编码快速档位

  • 2:VIDEO_PRESET_NORMAL,编码普通档位,不推荐使用2。

  • 3:VIDEO_PRESET_HIGHQUALITY,编码高质量档位

默认值1。

max_iframes_interval

Integer

I帧最大间隔

取值范围:[2,10]。

默认值:5。

单位:秒。

bframes_count

Integer

最大B帧间隔。

取值范围:

  • H264:[0,8],默认值为4。

  • H265:[0,8],默认值为7。

单位:帧。

frame_rate

Integer

帧率

取值范围:0或[5,60]之间的整数,0表示自适应

单位:帧每秒

black_cut

Integer

黑边剪裁类型

取值如下:

  • 0:不开启黑边剪裁

  • 1:开启黑边剪裁,低复杂度算法,针对长视频(>5分钟)

  • 2:开启黑边剪裁,高复杂度算法,针对短视频(<=5分钟)

表13 Common

参数

参数类型

描述

PVC

Boolean

是否开启高清低码功能。

取值如下:

  • false:关闭。(当前默认关闭)

  • true:开启。

(数字0表示关闭,其余正整数,负数都表示true)

hls_interval

Integer

HLS分片间隔,仅封装类型“pack_type”取值为1或3时,该参数生效。

取值范围:[2,10]。

单位:秒。

dash_interval

Integer

DASH间隔,仅封装类型“pack_type”取值为2或3时,该参数生效。

取值范围:[2,10]。

单位:秒。

pack_type

Integer

封装类型。

取值如下:

  • 1:HLS

  • 2:DASH

  • 3:HLS+DASH

  • 4:MP4

  • 5:MP3

  • 6:ADTS

说明:

pack_type设置为5和6时,不能设置视频参数。

状态码: 400

表14 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

新建转码模板组,最多支持一进六出。

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
  }
}

响应示例

状态码: 201

新建转码模板组成功。

{
  "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
    }
  }
}

状态码: 400

新建转码模板组失败。

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

状态码

状态码

描述

201

新建转码模板组成功。

400

新建转码模板组失败。

错误码

请参见错误码

相关文档