跳转到主要内容
通过 webhook 访问控制,当观众尝试播放受限制的内容时,Livepeer Studio 会调用您的端点。您返回 2XX 表示允许,或返回非 2XX 表示拒绝。

1. 创建访问控制 webhook

Livepeer Studio → 开发者 → Webhooks,创建一个类型为 “playback.accessControl 的 webhook,并提供你的端点 URL(例如 “https://yourdomain.com/api/check-access

2. 创建受限制的内容

在创建流或资产时,设置 playbackPolicy到 webhook 类型和你的 webhook ID 和上下文:
await livepeer.stream.create({
  name: "Gated stream",
  playbackPolicy: {
    type: "webhook",
    webhookId: "<webhook_id>",
    webhookContext: { assetId: "...", userId: "..." },
  },
});
同样的想法用于livepeer.asset.createplaybackPolicy.

3. 配置播放器

传递一个访问密钥(例如会话令牌或用户 ID)发送到 Player。Player 会将其转发到 Livepeer,然后转发到您的网络钩子:
<Player.Root src={src} accessKey={getAccessKeyForUser()}>
  <Player.Container><Player.Video /></Player.Container>
</Player.Root>

4. 处理网络钩子

您的端点会收到一个带有accessKeycontext 的 POST 请求。验证密钥(例如检查身份验证、订阅)。返回2XX 以允许播放, 非2XX 以拒绝. 自定义播放器: 对于 WebRTC 或 HLS, 将访问密钥发送到 Livepeer-Access-Key header 或查询参数 accessKey 在播放 URL 上。
Last modified on March 1, 2026