跳转到主要内容
您可以创建 剪辑 来自活跃的 Livepeer Studio 流,通过 API。剪辑是流的一个片段(例如最近 N 秒或选定的范围),并存储为一个 资产,您可以像播放任何点播资产一样回放它。
Clipping is supported only for livestreams and livestream recordings. Other asset types are not supported for clipping.

剪辑工作原理

  • 剪辑是从 观看者的视角:例如,“最近 30 秒”是观看者看到的最近 30 秒(基于他们的播放头)。
  • 您发送 开始和结束时间戳(UNIX 毫秒)。这些通常来自播放器(例如 HLS.js playingDate或 Livepeer 播放器的剪辑触发器)。
  • Livepeer 创建一个 资产 用于剪辑。您可以轮询该资产或监听 asset.ready webhook 以了解剪辑何时可播放。

通过 API 创建剪辑

使用 Create Clip API,包括:
  • playbackId活跃流的 播放 ID。
  • startTime — 剪辑的开始时间(UNIX 毫秒,来自播放头)。
  • endTime — 剪辑的结束时间(UNIX 毫秒)。
  • name — (可选)剪辑资产的名称。
确保 startTime 在流开始时或之后,并且 endTime 不在未来。

示例(Node.js)

const result = await livepeer.stream.createClip({
  playbackId: process.env.PLAYBACK_ID_OF_RUNNING_STREAM,
  startTime: endTime - 30000, // 30 seconds before end
  endTime: Date.now(),
  name: "My clip",
});
// result.asset has the new clip asset; result.task has the task ID

使用 Livepeer 播放器

播放器的 剪辑触发器 可以提供 playbackId, startTime,以及 endTime。调用 从您的后端调用 Create Clip API(使用相同的参数)并验证输入(例如最大剪辑长度、速率限制)。

监控剪辑状态

  • 轮询 — 调用 GET /asset/{assetId} 直到 asset.statusready.
  • Webhook — 订阅 asset.ready(以及可选地 asset.failed)。使用 assetId 从 create-clip 响应中匹配事件。
  • 剪辑资产具有 source.type === "clip" 和一个 sessionId 这样你就能判断它是剪辑。
剪辑获取 源播放 首先(快速可播放);在处理完成后会添加转码版本。使用剪辑的 playbackIdPlayback Info API 或者 Player 来播放它。

列出流的剪辑

使用 Clips for livestream API(按流或会话)列出从流创建的剪辑。
Last modified on March 1, 2026