更新时间:2026-08-20 11:31:51
本文介绍如何使用录制 API 配置、自动触发、控制和查询 Media Acceleration Live Broadcast 的直播录制任务。
直播录制流程由四部分组成:
录制参数模板是整个流程的基础。录制规则和按需录制都需要 templateId,因此请先创建至少一个模板。
所有录制 API 共用同一个频率限制:每个用户每 5 分钟最多 300 次请求。设计重试和轮询机制时,请确保请求频率不超过此限制。
templateId。StartRealTimeRecord,启动按需录制。persistentId。ListRecordings 查询指定时间范围内的录制任务。persistentId 调用 GetRecordingTaskDetail,查询任务状态和录制文件信息。StopRealTimeRecord。录制参数模板用于控制录制文件的存储位置和处理方式。模板可以定义对象存储桶和管理端点、文件路径、文件格式、分片方式、保留时间、音视频处理、超时处理和回调地址。
| API | 用途 |
|---|---|
AddRecordingParameterTemplate |
创建模板。必填配置包括 region、templateName、mgrUrl、recordParams、bucketName、fops 和 fileFormat。 |
QueryRecordingParameterTemplate |
查询全部模板,或根据 templateId 查询指定模板。 |
ModifyRecordingParameterTemplate |
修改现有模板。未传入的字段会保留原值。 |
DeleteRecordingParameterTemplate |
根据 templateId 删除模板。 |
修改模板时请注意:
recordParams,新列表会完整替换现有的存储和格式配置列表。notifyUrl 设置为空字符串可删除回调配置;不传此字段则保留原值。ak,必须同时传入与之匹配的 sk。如果两个字段都不传,系统会使用当前账号的凭证。重要: 如果模板仍与生效中的录制规则关联,则无法删除。删除模板前,请先解除该模板与所有录制规则的关联。
录制规则通过将 templateId 与直播流关联,使系统能够在符合条件的直播流开始推流时自动启动录制。
创建规则时,必须通过 pullDomain 指定播放域名。还可以通过以下可选字段缩小匹配范围:
domain:推流域名appName:发布点streamName:流名streamParams:流名称后缀,例如转码流使用的 _720P系统采用最长、最具体的匹配规则。例如,push.example.com/live/stream1 的规则优先于 push.example.com/live,而后者又优先于 push.example.com。
| API | 用途 |
|---|---|
AddRecordingRules |
创建录制规则并关联模板。 |
QueryRecordingRule |
查询录制规则,或按 ruleId、templateId、推流域名、播放域名、应用名称或流名称进行筛选。 |
ModifyRecordingRules |
修改规则的模板、匹配范围、播放域名、流名称后缀或启用状态。 |
DeleteRecordingRules |
根据 ruleId 删除规则。 |
重要: 处于生效状态或正在执行录制的规则无法删除。请在规则不再处于上述状态后再执行删除操作。
如需立即录制正在直播的流,而不依赖自动录制规则,请使用实时控制 API。
StartRealTimeRecord,传入 templateId,并在 urlList 中提供最多 5 个播放 URL。persistentId。persistentId,后续查询或停止对应录制任务时需要使用该标识符。StopRealTimeRecord 提前终止。| API | 用途 |
|---|---|
StartRealTimeRecord |
为最多 5 个正在直播的播放 URL 启动按需录制。 |
StopRealTimeRecord |
将录制任务的 persistentId 放入请求路径,停止一个正在执行的录制任务。 |
通过任务查询 API,可以查找录制任务、跟踪处理进度、定位失败原因,并获取生成的录制文件信息。
| API | 用途 |
|---|---|
ListRecordingTasks |
查询指定时间范围内提交的录制任务,并获取任务的 persistentId。 |
GetRecordingTaskDetail |
根据 persistentId 查询单个任务的状态和录制文件信息。 |