You need to enable JavaScript to run this app.
导航
更新录制配置
最近更新时间:2024.09.20 17:51:55首次发布时间:2023.09.25 14:34:04

调用 UpdateRecordPresetV2 接口,更新已添加的录制配置。

注意事项

  • 请求频率:单用户请求频率限制为 10 次/秒
  • 生效说明:新增、更新、删除录制配置,均需在新增、更新、删除操作后(3-5 分钟)重新进行推流才会使用变更后的配置。

请求说明

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

调试

请求参数

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

Query

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

Body

参数类型是否必选示例值描述
VhostStringpush.example.com域名空间。您可以调用 ListVhostRecordPresetV2 接口查看待更新录制配置的 Vhost 取值。
AppStringlive应用名称,取值与直播流地址的 AppName 字段取值相同,用来指定待更新的录制配置,默认为空。您可以调用 ListVhostRecordPresetV2 接口查看待更新录制配置的 App 取值。
StreamStringexample_stream流名称,取值与直播流地址的 StreamName 字段取值相应,用来指定待更新的录制配置,默认为空。您可以调用 ListVhostRecordPresetV2 接口查看待更新录制配置的 Stream 取值。
PresetStringliverecord录制配置的名称。您可以调用 ListVhostRecordPresetV2 接口查看待更新录制配置的 Name 取值。

RecordPresetConfig

Object of RecordPresetConfig

-

录制配置的详细参数配置。

说明

以下录制参数,未传入值时表示与更新前的配置相同。

RecordPresetConfig

参数类型是否必选示例值描述

TranscodeRecord

Integer

1

是否录制转码流,默认值为 0。支持的取值如下所示。

  • 0:不录制;
  • 1:录制全部转码流;
  • 2:录制指定转码流,即通过转码后缀列表 TranscodeSuffixList 匹配转码流进行录制,如果转码流后缀列表为空仍表示录制全部转码流。

说明

转码流和源流需至少选一个进行录制,即是否录制转码流(TranscodeRecord)和是否录制源流(OriginRecord)的取值至少一个不为 0。

OriginRecord

Integer

1

是否录制源流,默认值为 0,支持的取值及含义如下所示。

  • 0:不录制;
  • 1:录制。

说明

转码流和源流需至少选一个进行录制,即是否录制转码流(TranscodeRecord)和是否录制源流(OriginRecord)的取值至少一个不为 0。

SliceDurationInteger5录制为 HLS 格式时,单个 TS 切片时长,单位为秒,默认值为 10,取值范围为 [5,30]。

FlvParam

Object of RecordParam

-

录制为 FLV 格式时的录制参数。

说明

您需至少配置一个录制格式,即 FlvParamHlsParamMp4Param 至少开启一个。

HlsParam

Object of RecordParam

-

录制为 HLS 格式时的录制参数。

说明

您需至少配置一个录制格式,即 FlvParamHlsParamMp4Param 至少开启一个。

Mp4Param

Object of RecordParam

-

录制为 MP4 格式时的录制参数。

说明

您需至少配置一个录制格式,即 FlvParamHlsParamMp4Param 至少开启一个。

TranscodeSuffixListArray of String["_hd"]转码流后缀列表,是否录制转码设置为根据转码流列表匹配(TranscodeRecord 取值为 2)时生效,TranscodeSuffixList 默认配置为空,效果等同于录制全部转码流。

RecordParam

参数类型是否必选示例值描述

Enable

Boolean

true

当前格式的录制是否开启,默认 false,取值及含义如下所示。

  • false:不开启;
  • true:开启。

Duration

Integer

7200

断流录制场景下,单文件录制时长,单位为秒,默认值为 7200,取值范围为 -1 和 [300,86400]。

  • 取值为 -1 时,表示不限制录制时长,录制结束后生成一个完整的录制文件。
  • 取值为 [300,86400] 之间的值时,表示根据设置的录制文件时长,到达时长立即生成录制文件,完成录制后一起上传。

说明

  • 断流录制场景仅在录制格式为 HLS 时生效,且断流录制和实时录制为二选一配置。
  • 如录制过程中出现断流,对应生成的录制文件时长也会相应缩短。

Splice

Integer

0

断流录制场景下,断流拼接时长,单位为秒,默认值为 0,支持的取值及含义如下所示。

  • -1:一直拼接,表示每次断流都不会影响录制任务,录制完成后生成一个完整的录制文件;
  • 0:不拼接,表示每次断流结束录制任务生成一个录制文件,断流恢复重新开始一个新的录制任务;
  • 大于 0:拼接容错时间,表示如果断流时间小于拼接容错时间时,则录制任务不会停止,不会生成新的录制文件;如果断流时间大于拼接容错时间,则录制任务停止,断流恢复后重新开始一个新的录制任务。

说明

断流录制场景仅在录制格式为 HLS 时生效,且断流录制和实时录制为二选一配置。

RealtimeRecordDuration

Integer

7200

实时录制场景下,单文件录制时长,单位为秒,默认值为 1800,取值范围为 [300,21600]。录制时间到达设置的单文件录制时长时,会立即生成录制文件实时上传存储。

说明

如录制过程中出现断流,对应生成的录制文件时长也会相应缩短。

ContinueDurationInteger180实时录制场景下,断流等待时长,单位为秒,默认值为 180,取值范围为 [0,3600]。如果实际断流时间小于断流等待时长,录制任务不会停止;如果实际断流时间大于断流等待时长,录制任务会停止,断流恢复后重新开始一个新的录制任务。

TOSParam

Object of TOSParam

-

TOS 存储相关配置。

说明

录制文件只能选择一个位置进行存储,即 TOSParamVODParam 配置且配置其中一个。

VODParam

Object of VODParam

-

VOD 存储相关配置。

说明

录制文件只能选择一个位置进行存储,即 TOSParamVODParam 配置且配置其中一个。

TOSParam

参数类型是否必选示例值描述

Enable

Boolean

true

是否使用 TOS 存储,默认为 false,取值及含义如下所示。

  • false:不使用;
  • true:使用。

Bucket

String

live-test-tos-example

TOS 存储对应的 Bucket。例如,存储位置为 live-test-tos-example/live/liveapp 时,Bucket 取值为 live-test-tos-example

说明

如果使用 TOS 存储,即 TOSParamEnable 取值为 true 时,Bucket 为必填。

StorageDirStringlive/liveappTOS 存储对应 Bucket 下的存储目录,默认为空。例如,存储位置为 live-test-tos-example/live/liveapp 时,StorageDir 取值为 live/liveapp

ExactObject

String

record/{PubDomain}/{App}/{Stream}/{StartTime}_{EndTime}

录制文件的存储规则,最大长度为 200 个字符,支持以
record/{PubDomain}/{App}/{Stream}/{StartTime}_{EndTime} 样式设置存储规则,支持输入字母(A - Z、a - z)、数字(0 - 9)、短横线(-)、叹号(!)、下划线(_)、句点(.)、星号(*)及占位符。
存储规则设置注意事项如下。

  • 目录层级至少包含2级及以上,如 live/{App}/{Stream}
  • record 为自定义字段;
  • {PubDomain} 取值为当前配置的 vhost 值;
  • {App} 取值为当前配置的 AppName 值;
  • {Stream} 取值为当前配置的 StreamName 值;
  • {StartTime} 取值为录制的开始时间戳;
  • {EndTime} 取值为录制的结束时间戳。

VODParam

参数类型是否必选示例值描述

Enable

Boolean

true

是否使用 VOD 存储,默认为 false,取值及含义如下所示。

  • false:不使用;
  • true:使用。

VodNamespace

String

Snapshot

视频点播(VOD)空间名称。可登录视频点播控制台查询。

说明

如果使用 VOD 存储,即 VODParamEnable 取值为 true 时,VodNamespace 为必填。

WorkflowIDString25524a2d*********891d7daf4b9视频点播工作流模板 ID,对于存储在点播的录制文件,会使用该工作流模版对录制的视频进行处理,可登录视频点播控制台获取工作流模板 ID,默认为空。
ClassificationIDInteger12**34直播录制文件存储到点播时的视频分类 ID,您可以通过视频点播的 ListVideoClassifications 接口查询视频分类 ID 等信息,默认为空。

StorageClass

Integer

1

直播录制文件存储到点播时的存储类型,存储类型介绍请参考媒资存储管理。默认值为 1,支持的取值及含义如下所示。

  • 1:标准存储;
  • 2:归档存储。

ExactObject

String

record/{PubDomain}/{App}/{Stream}/{StartTime}_{EndTime}

录制文件的存储规则,最大长度为 200 个字符,支持以
record/{PubDomain}/{App}/{Stream}/{StartTime}_{EndTime} 样式设置存储规则,支持输入字母(A - Z、a - z)、数字(0 - 9)、短横线(-)、叹号(!)、下划线(_)、句点(.)、星号(*)及占位符。
存储规则设置注意事项如下。

  • 目录层级至少包含2级及以上,如 live/{App}/{Stream}
  • record 为自定义字段;
  • {PubDomain} 取值为当前配置的 vhost 值;
  • {App} 取值为当前配置的 AppName 值;
  • {Stream} 取值为当前配置的 StreamName 值;
  • {StartTime} 取值为录制的开始时间戳;
  • {EndTime} 取值为录制的结束时间戳。

返回参数

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

请求示例

POST https://live.volcengineapi.com?Action=UpdateRecordPresetV2&Version=2023-01-01
{
    "Vhost":"push.example.com",
    "App":"live",
    "Preset":"liverecord",
    "RecordPresetConfig": { 
				"OriginRecord": 1,  
				"HlsParam": { 
				    "Enable": "true", 
				    "RealtimeRecordDuration": 7200, 
				    "Splice": 0,
				    "TOSParam": { 
				        "Enable": true, 
				        "Bucket": "live-test-tos-example", 
				        "StorageDir": "", 
				        "RecordObject": "record/{PubDomain}/{App}/{Stream}/{StartTime}_{EndTime}" 
				    },
				}, 
    }
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "20220726*******************051B513A",
    "Action": "UpdateRecordPresetV2",
    "Version": "2023-01-01",
    "Service": "live",
    "Region": "cn-north-1"
  }
}

错误码

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

状态码错误码错误信息说明
200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。
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-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持
404ResourceNotFound.PresetNotExistpreset not found未找到配置模版。请检查传入的配置模版与创建好的配置模板是否一致。
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。