You need to enable JavaScript to run this app.
导航
创建录制索引文件
最近更新时间:2024.09.06 17:02:29首次发布时间:2024.03.19 15:14:30

调用 CreateLiveStreamRecordIndexFiles 接口,通过已存在的录制文件重新生成指定开始时间和结束时间的 M3U8 格式录制文件,并将新生成的录制文件存储在指定的 TOS Bucket 中。

注意事项

  • 请求频率:单用户请求频率限制为 20 次/秒
  • 前提条件:创建录制索引文件的直播流,必须存在录制格式为 HLS 的录制配置,且存在录制文件。

请求说明

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

调试

请求参数

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

Query

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

Body

参数类型是否必选示例值描述
DomainStringpush.example.com直播流使用的域名。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的域名。
AppStringLive应用名称,取值与直播流地址中 AppName 字段取值相同。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。
StreamStringexample_stream流名称,取值与直播流地址中 StreamName 字段取值相同。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 100 个字符。
StartTimeString2023-06-30T15:04:05+08:00录制索引文件的开始时间,RFC3339 格式的时间戳,精度为秒。
EndTimeString2023-06-30T15:04:05+08:00录制索引文件的结束时间,RFC3339 格式的时间戳,精度为秒。

OutputBucket

String

testBucket

指定录制文件存储的 TOS Bucket。默认为空,表示与对应录制配置中的存储配置一致。

说明

  • OutputBucket 参数用于覆盖录制配置中的 TOS 存储的 Bucket 参数,OutputObject 参数用于覆盖录制配置中 TOS 存储的 ExactObject 参数。
  • 当您的录制配置存储位置为 VOD ,且创建录制任务仍需存储至 VOD 时,请勿配置 OutputBucketOutputObject

OutputObject

String

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

指定录制文件存储到 TOS 是的存储规则,默认为空,表示与对应录制配置中的存储规则配置一致。
自定义存储规则时,支持以 record/{PubDomain}/{App}/{Stream}/{StartTime}_{EndTime}.m3u8 样式设置存储规则,支持输入字母(A - Z、a - z)、数字(0 - 9)、短横线(-)、叹号(!)、下划线(_)、句点(.)、星号(*)及占位符,最大长度 200 个字符。
存储规则设置注意事项如下。

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

NeedFFProbe

Boolean

true

是否开启获取录制视频宽高数据的功能,开启后会获取视频宽和高信息,支持的取值及含义如下所示,默认不传时表示开启。

  • true:开启;
  • false:禁用。

SeparatedTS

Boolean

false

将录制文件存储到点播时,是否开启索引文件与 TS 文件分离,默认禁用。

  • true:启用,删除索引文件时不会删除关联的 TS 文件;
  • false:禁用,删除索引文件时会删除关联的 TS 文件。
WorkflowIDString25524a2d*********891d7daf4b9将录制文件存储到点播时,如需进行视频处理,可选择已定义的视频处理工作流模板,获取方法请参见工作流模板,默认为空。

TSScheme

String

http

指定访问录制文件的地址中的网络协议,取值及含义如下所示。

  • http:超文本传输协议(默认值);
  • https:安全的超文本传输协议。

返回参数

下表仅列出本接口特有的返回参数。更多信息请见返回结构

参数类型示例值描述
DomainStringpush.example.com直播流使用的域名。
AppStringLive直播流使用的应用名称。
StreamStringexample_stream直播流使用的流名称。
StartTimeString2023-06-30T15:04:05+08:00录制索引文件的开始时间,RFC3339 格式的时间戳,精度为秒。
EndTimeString2023-06-30T15:04:05+08:00录制索引文件的结束时间,RFC3339 格式的时间戳,精度为秒。
HeightInteger1080录制流的高度,单位为 px。当 NeedFFProbe 配置为 true 时返回此参数。
WidthInteger1920录制流的宽度,单位为 px。当 NeedFFProbe 配置为 true 时返回此参数。
DurationFloat60录制文件实际时长,单位为秒。
CreateTimeString2023-06-30T15:04:05Z创建录制索引文件任务的时间,RFC3339 格式的 UTC 时间戳,精度为秒。
RecordURLStringhttp://***.***.com/record/Live/livestream001/1710745385_1710745445.m3u8生成的录制索引文件网网络访问地址。
OutputBucketStringtestBucketBucket 名称,存储到 TOS 时返回此参数。
OutputObjectStringrecord/Live/livestream001/1710745385_1710745445.m3u8根据存储规则生成的存储路径及文件名称,存储到 TOS 时返回此参数。
VodNamespaceStringrecord视频点播的空间名称,录制文件存储到视频点播时返回此参数。
VIDStringv0dc24g10001c***ihs1v0hqjggdd80视频点播文件 ID,录制文件存储到视频点播返回此参数。
URIStringrecord/Live/livestream001/1710745385_1710745445.m3u8"视频点播文件 URI,录制文件存储到视频点播时返回此参数。

请求示例

POST https://live.volcengineapi.com?Action=CreateLiveStreamRecordIndexFiles&Version=2023-01-01
{
  "Domain": "push.example.com",
  "App": "Live",
  "Stream": "example_stream",
  "StartTime": "2024-03-18T15:03:05+08:00",
  "EndTime": "2024-03-18T15:04:05+08:00"
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "20240318165753DE678C93CEB656C73848",
    "Action": "CreateLiveStreamRecordIndexFiles",
    "Version": "2023-01-01",
    "Service": "live",
    "Region": "cn-north-1"
  },
  "Result": {
    "App": "Live",
    "CreateTime": "2024-03-18T15:03:06Z",
    "Domain": "push.example.com",
    "Duration": 60,
    "EndTime": "2024-03-18T15:04:05+08:00",
    "Height": 1080,
    "OutputBucket": "testBucket",
    "OutputObject": "record/Live/livestream001/1710745385_1710745445.m3u8",
    "RecordURL": "http://***.***.com/record/Live/livestream001/1710745385_1710745445.m3u8",
    "StartTime": "2024-03-18T15:03:05+08:00",
    "Stream": "example_stream",
    "Width": 1920
  }
}

错误码

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

状态码错误码错误信息说明
200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。
400InvalidParam.Format%s is required参数缺失,请检查错误消息中指定的参数是否传入。

400

InvalidParam.TimeLogic

startTime later than endTime, etc.

传入的时间参数不符合时间逻辑,请检查是否存在以下问题。

  • 开始时间晚于结束时间
  • 过期时间早于当前时间
404ResourceNotFound-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持
404ResourceNotFound.VhostNotExistvhost not found未找到域名空间(Vhost)。请检查传入的域名空间是否与实际使用的域名空间一致。
404ResourceNotFound.PresetNotExistpreset not found未找到配置模版。请检查传入的配置模版与创建好的配置模板是否一致。
500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持
500InternalError.Presetan internal error related to preset occurred, please contact the administrator.出现与功能配置相关的内部错误,请联系技术支持

SDK

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