You need to enable JavaScript to run this app.
导航
添加转码配置
最近更新时间:2024.10.31 11:04:13首次发布时间:2023.09.25 14:34:03

调用 CreateTranscodePreset 接口创建一个转码配置,在直播流传输的过程中,系统将根据您的转码配置,对直播流进行实时转码。

使用说明

CreateTranscodePreset 接口支持创建多个 Vhost + App 级别的转码配置,不同的转码配置需要使用转码后缀(SuffixName)进行区分。创建转码配置后,您可以通过在拉流地址中为流名称添加转码后缀的方式,使用转码配置。

注意事项

  • 计费说明:使用直播转码功能可能产生转码费用,费用详细说明请参考转码计费
  • 请求频率:单用户请求频率限制为 10 次/秒
  • 生效说明:新增、更新、删除转码配置,均需在新增、更新、删除操作后(3-5 分钟)重新进行推流才会使用变更后的配置。

请求说明

  • 请求方式:POST
  • 请求地址:https://live.volcengineapi.com?Action=CreateTranscodePreset&Version=2023-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数类型是否必选示例值描述
ActionStringCreateTranscodePreset接口名称。当前 API 的名称为 CreateTranscodePreset
VersionString2023-01-01接口版本。当前 API 的版本为 2023-01-01

Body

参数类型是否必选示例值描述
VhostStringpush.example.com域名空间,即直播流地址的域名所属的域名空间。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看需要转码的直播流使用的域名所属的域名空间。
AppStringlive应用名称,取值与直播流地址的 AppName 字段取值相同。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。

SuffixName

String

_hd

转码后缀,支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)和短横线(-)组成,长度为 1 到 10 个字符。
转码后缀通常以流名称后缀的形式来使用,常见的标识有 _sd_hd_uhd,例如,当转码配置的标识为 _hd 时,拉取转码流时转码流的流名名称为 源流的流名称_hd

VideoBitrate

Integer

1000000

视频码率,单位为 bps,默认值为 1000000;取值为 0 时,表示与源流的视频码率相同。
视频码率的取值范围根据视频编码格式(Vcodec)的不同有所差异,视频码率的取值范围如下所示。

  • 视频编码格式为 H.264 或 H.265 (Vcodec 取值为 h264h265)时,视频码率取值范围为 [0,30000000];
  • 视频编码格式为 H.266 (Vcodec 取值为 h266)时,视频码率取值范围为 [0,6000000]。

Vcodec

String

h265

视频编码格式,支持的取值及含义如下所示。

  • h264:使用 H.264 视频编码格式;
  • h265:使用 H.265 视频编码格式;
  • h266:使用 H.266 视频编码格式;
  • copy:不进行视频转码,所有视频编码参数不生效,视频编码参数包括视频帧率(FPS)、视频码率(VideoBitrate)、分辨率设置(AsWidthHeightShortSideLongSide)、GOPBFrames 等。
AudioBitrateInteger50音频码率,单位为 kbps,默认值为 128,取值范围为 [0,1000];取值为 0 时,表示与源流的音频码率相同。

Acodec

String

acc

音频编码格式,默认值为 aac,支持的取值及含义如下所示。

  • aac:使用 AAC 音频编码格式;
  • opus:使用 Opus 音频编码格式。
  • copy:不进行音频转码,所有音频编码参数不生效,音频编码参数包括音频码率(AudioBitrate)等。

FPS

Integer

25

视频帧率,单位为 fps,默认值为 25,取值为 0 时表示与源流视频帧率相同。
视频帧率的取值范围根据视频编码格式(Vcodec)的不同有所差异,视频码率的取值范围如下所示。

  • 视频编码格式为 H.264 或 H.265 (Vcodec 取值为 h264h265)时,视频帧率取值范围为 [0,60];
  • 视频编码格式为 H.266 (Vcodec 取值为 h266)时,视频帧率取值范围为 [0,35]。
GOPInteger2IDR 帧之间的最大间隔时间,单位为秒,取值范围为 [1,30]。

Width

Integer

0

视频宽度,单位为 px,默认值为 0
视频宽度的取值范围根据视频编码格式(Vcodec)的不同所有差异,视频宽度取值如下所示。

  • 视频编码格式为 H.264 或 H.265 (Vcodec 取值为 h264h265)时,取值范围为 [150,1920];
  • 视频编码格式为 H.266 (Vcodec 取值为 h266)时,不支持设置 Width 和 Height。

说明

  • 当关闭视频分辨率自适应(As 取值为 0)时,转码分辨率将取 WidthHeight 的值对转码视频进行拉伸;
  • 当关闭视频分辨率自适应(As 取值为 0)时,WidthHeight 任一取值为 0 时,转码视频将保持源流尺寸。

Height

Integer

200

视频高度,默认值为 0
视频高度的取值范围根据视频编码格式(Vcodec)的不同所有差异,视频高度取值如下所示。

  • 视频编码格式为 H.264 或 H.265 (Vcodec 取值为 h264h265)时,取值范围为 [150,1920];
  • 视频编码格式为 H.266 (Vcodec 取值为 h266)时,不支持设置 WidthHeight

说明

  • 当关闭视频分辨率自适应(As 取值为 0)时,转码分辨率将取 WidthHeight 的值对转码视频进行拉伸;
  • 当关闭视频分辨率自适应(As 取值为 0)时,WidthHeight 任一取值为 0 时,转码视频将保持源流尺寸。

As

String

1

视频分辨率自适应模式开关,默认值为 0。支持的取值及含义如下。

  • 0:关闭视频分辨率自适应;
  • 1:开启视频分辨率自适应。

说明

  • 关闭视频分辨率自适应模式(As 取值为 0)时,转码配置的视频分辨率取视频宽度(Width)和视频高度(Height)的值对转码视频进行拉伸;
  • 开启视频分辨率自适应模式(As 取值为 1)时,转码配置的视频分辨率按照短边长度(ShortSide)、长边长度(LongSide)、视频宽度(Width)、视频高度(Height)的优先级取值,另一边等比缩放。

ShortSide

Integer

768

短边长度,默认值为 0。配置不同的转码类型(Roi)和视频编码方式(Vcodec)时,短边长度的取值范围存在如下。

  • 转码类型为标准转码(Roi 取值为 false)时:
    • 视频编码方式为 H.264 (Vcodec 取值为 h264)时取值范围为 0 和 [150,2160];
    • 视频编码方式为 H.265 (Vcodec 取值为 h265)时取值范围为 0 和 [150,4096];
    • 视频编码方式为 H.266 (Vcodec 取值为 h266)时取值范围为 0 和 [150,720]。
  • 转码类型为极智超清转码(Roi 取值为 true)时:
    • 视频编码方式为 H.264H.265Vcodec 取值为 h264h265)时取值范围为 0 和 [150,1920]。

说明

  • 当开启视频分辨率自适应模式(As 取值为 1)时,参数生效,反之则不生效。
  • 当开启视频分辨率自适应模式(As 取值为 1)时,如果 LongSideShortSideWidthHeight 同时取 0,表示保持源流尺寸。

LongSide

Integer

500

长边长度,默认值为 0。配置不同的转码类型(Roi)和视频编码方式(Vcodec)时,短边长度的取值范围存在如下。

  • 转码类型为标准转码(Roi 取值为 false)时:
    • 视频编码方式为 H.264 (Vcodec 取值为 h264)时取值范围为 0 和 [150,4096];
    • 视频编码方式为 H.265 (Vcodec 取值为 h265)时取值范围为 0 和 [150,7680];
    • 视频编码方式为 H.266 (Vcodec 取值为 h266)时取值范围为 0 和 [150,1280]。
  • 转码类型为极智超清转码(Roi 取值为 true)时:
    • 视频编码方式为 H.264 或 H.265 (Vcodec 取值为 h264h265)时取值范围为 0 和 [150,1920]。

说明

  • 当开启视频分辨率自适应模式时(As 取值为 1)时,参数生效,反之则不生效。
  • 当开启视频分辨率自适应模式时(As 取值为 1)时,如果 LongSideShortSideWidthHeight 同时取 0,表示保持源流尺寸。

BFrames

Integer

3

转码输出视频中 2 个参考帧之间的最大 B 帧数量,默认值为 3,取值为 0 时表示去除 B 帧。
最大 B 帧数量的取值范围根据视频编码格式(Vcodec)的不同有所差异,取值范围如下所示。

  • 视频编码格式为 H.264 (Vcodec 取值为 h264)时取值范围为 [0,7];
  • 视频编码格式为 H.265 或 H.266 (Vcodec 取值为 h265h266)时取值范围为 [0,3]、7、15。

Roi

Boolean

true

转码类型是否为极智超清转码,默认值为 false,取值及含义如下。

  • true:极智超清转码;
  • false:标准转码。

说明

视频编码格式为 H.266 (Vcodec 取值为 h266)时,转码类型不支持极智超清转码。

AutoTransResolution

Integer

1

是否开启转码视频分辨率不超过源流分辨率,默认值为 1 表示开启。开启后,当源流分辨率低于转码配置分辨率时(即源流宽低于转码配置宽且源流高低于转码配置高时),将按源流视频分辨率进行转码。

  • 0:关闭;
  • 1:开启。

AutoTransVb

Integer

1

是否开启转码视频码率不超过源流码率,默认值为 1 表示开启。开启后,当源流码率低于转码配置码率时,将按照源流视频码率进行转码。

  • 0:关闭;
  • 1:开启。

AutoTransVr

Integer

1

是否开启转码视频帧率不超过源流帧率,默认值为 1 表示开启。开启后,当源流帧率低于转码配置帧率时,将按照源流视频帧率进行转码。

  • 0:关闭;
  • 1:开启。
StopIntervalInteger60转码停止时长,支持触发方式为拉流转码(TransType 取值为 Pull)时设置,表示断开拉流后转码停止的时长,单位为秒,取值范围为 -1 和 [0,300],-1 表示不停止转码,默认值为 60

TransType

String

Pull

转码触发方式,默认值为 Pull,支持的取值及含义如下。

  • Push:推流转码,直播推流后会自动启动转码任务,生成转码流;
  • Pull:拉流转码,直播推流后,需要主动播放转码流才会启动转码任务,生成转码流。

返回参数

本接口无特有的返回参数。更多信息请见返回结构

请求示例

POST https://live.volcengineapi.com?Action=CreateTranscodePreset&Version=2023-01-01
{
    "Vhost":"push.example.com",
    "App":"live",
    "SuffixName":"hd",
    "Vcodec":"h264"
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "201806041104200100100232280022D30",
    "Action": "CreateTranscodePreset",
    "Version": "2023-01-01",
    "Service": "live",
    "Region": "cn-north-1"
  }
}

错误码

下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。

状态码错误码错误信息说明
200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。
400InvalidParam.OutOfRange%s should be one of {[%s]}%s should be between %d and %d参数超出允许范围,请检查错误消息中指定参数的取值是否超出取值范围。
403RequestForbidden-请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.AccountIDNotAllowthis AccountID does not have permission to access the corresponding resource, please check the request parameters请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.BillingStatusBilling status is not available for the AccountID, please activate the service or recharge.未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。
404ResourceNotFound-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持
500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持
500InternalError.Presetan internal error related to preset occurred, please contact the administrator.出现与功能配置相关的内部错误,请联系技术支持
502InternalServiceErroran internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
502InternalServiceError.BadResponsean internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
504InternalServiceTimeoutInternal Service is timeout. please contact the administrator.内部服务超时,请联系技术支持

服务端 SDK

视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。