直播录制

更新时间:2026-04-15 18:20:37

本指南介绍如何通过录制 API 在互动直播上管理、自动化并控制直播流录制。

录制系统分为三层结构:

  1. 模板 — 定义 如何 录制:包括输出格式、存储目标、文件分段及回调设置。
  2. 规则 — 定义 何时 进行录制:将模板绑定到指定流,实现自动开始录制。
  3. 实时控制 — 按需录制:可对任意正在直播的流手动开始或停止录制会话。

模板是基础。规则和实时控制都会通过 templateId 关联模板,所以至少需要先创建一个模板后才能使用其他 API。

注意: 所有录制 API 共用每位用户每 5 分钟最多 300 次请求的限速。请合理规划您的集成,避免请求被限流。

创建录制模板(模板 API)

录制参数模板用于指导系统如何执行录制任务:包括输出文件的存储位置、文件命名方式、分片时机,以及回调通知发送的目标位置。

无论是自动还是手动触发的每个录制任务,都需要指定一个 templateId,因此模板始终是您需要首先创建的内容。

API 名称 功能说明
AddRecordingParameterTemplate 创建新的录制模板。您需要指定存储目标(对象存储桶名称、管理URL、AccessKey/SecretKey)、文件路径命名规范、回调通知URL、输出格式及自动分段(按大小或时间间隔)等参数。
QueryRecordingParameterTemplate 获取您已创建的模板列表,或根据 templateId 查询某个模板的详细信息。
ModifyRecordingParameterTemplate 更新现有模板的配置信息。
DeleteRecordingParameterTemplate 删除现有模板。

注意: 当前已关联到一个或多个录制规则的模板无法被删除。请先将该模板与所有规则解除关联后再进行删除操作。

设置自动录制规则(规则API)

有了模板后,您可以通过创建录制规则实现录制自动化。规则可将 templateId 绑定到一个或多个直播流上,使得这些流在上线时会自动开始录制。

您可以通过三种精确度级别来指定流对象:

  • Delivery Domain — 记录指定 Domain 下的所有流。
  • Application Name — 记录指定 Application 路径下的所有流。
  • Stream Name — 记录唯一指定的单个流。

系统采用最长匹配原则应用规则:针对特定流名称的规则优先于更广泛的Domain级别规则。这使您可以设置全局默认规则,并在需要时针对单个流进行行为覆盖。

API 名称 功能说明
AddRecordingRules 创建一个规则,将 templateId 与直播流相关联。该规则可按 Delivery Domain、Application Name 或 Stream Name 进行范围限定。
QueryRecordingRule 查询已有录制规则列表。您可以通过 ruleIdtemplateId、Domain 或流名称过滤查询结果。
ModifyRecordingRules 更新已有录制规则的设置。
DeleteRecordingRules 删除录制规则。

注意: 您无法删除当前正在生效或执行录制的规则。请等待录制完成或先停止录制后再删除规则。

触发按需录制(实时控制API)

当您需要立即录制直播流(不依赖任何自动化规则)时,可通过实时控制接口手动开启或停止录制会话。

工作流程连接方式:

  1. 调用 StartRealTimeRecord,并传入 templateId 和最多 5 个流分发 URL。
  2. API 返回一个 persistentId,用于唯一标识该录制任务。
  3. 录制会持续到流自然结束,或您通过相同的 persistentId 调用 StopRealTimeRecord

专业建议: 请务必保存 Start API 返回的 persistentId。这是在流结束前终止指定录制会话的唯一方式。

API 名称 功能说明
StartRealTimeRecord 立即触发正在进行的直播流录制。需要提供 templateId 和最多 5 个流分发 URL。返回唯一标识该录制任务的 persistentId
StopRealTimeRecord 终止一个正在进行的、由手动启动的录制任务。需要在请求路径中携带 persistentId(由 StartRealTimeRecord 返回)。
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!