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

新建转码模板

功能介绍

新建转码模板,采用自定义的模板转码。

调用方法

请参见如何调用API

URI

POST /v1/{project_id}/template/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参数

参数

是否必选

参数类型

描述

template_name

String

转码模板名称。

video

Video object

视频参数

audio

Audio object

音频参数

common

Common object

公共参数

表4 Video

参数

是否必选

参数类型

描述

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。

bitrate

Integer

输出平均码率。

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

单位:kbit/s

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

profile

Integer

编码档次,建议设为3。

缺省值:0,0表示根据codec自适应

  • 当codec=1: profile=3

  • 当codec=2: profile=4

取值如下:

  • 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,若设置的帧率高于片源帧率,则自动调整为片源帧率。

width

Integer

视频宽度。

取值范围:

  • H.264:0或[32,4096]间2的倍数。

  • H.265:0或[320,4096]间2的倍数。

单位:像素。

说明:若视频宽度设置为0,则视频宽度值自适应。

height

Integer

视频高度。

  • H.264:0或[32,2880]且必须为2的倍数。

  • H.265:0或[96,2880]且必须为2的倍数。

单位:像素。

说明:若视频高度设置为0,则视频高度值自适应。

black_cut

Integer

黑边剪裁类型。

取值如下:

  • 0:不开启黑边剪裁。

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

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

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

表7 响应Body参数

参数

参数类型

描述

template_id

Integer

自定义转码模板编号。

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

新建转码模板,采用自定义的模板转码。

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

{
  "template_name" : "MP4_H.264_1920x1080_6000_HEAAC",
  "video" : {
    "codec" : 1,
    "bitrate" : 6000,
    "profile" : 3,
    "level" : 15,
    "preset" : 3,
    "max_iframes_interval" : 5,
    "black_cut" : 0,
    "bframes_count" : 4,
    "frame_rate" : 1,
    "width" : 1920,
    "height" : 1080
  },
  "audio" : {
    "codec" : 1,
    "sample_rate" : 4,
    "bitrate" : 128,
    "channels" : 2
  },
  "common" : {
    "PVC" : false,
    "hls_interval" : 5,
    "dash_interval" : 5,
    "pack_type" : 1
  }
}

响应示例

状态码: 201

新建转码模板成功。

{
  "template_id" : 2000211
}

状态码: 403

新建转码模板失败。

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

状态码

状态码

描述

201

新建转码模板成功。

403

新建转码模板失败。

错误码

请参见错误码