通过 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.create与playbackPolicy.
3. 配置播放器
传递一个访问密钥(例如会话令牌或用户 ID)发送到 Player。Player 会将其转发到 Livepeer,然后转发到您的网络钩子:
<Player.Root src={src} accessKey={getAccessKeyForUser()}>
<Player.Container><Player.Video /></Player.Container>
</Player.Root>
4. 处理网络钩子
您的端点会收到一个带有accessKey 和 context 的 POST 请求。验证密钥(例如检查身份验证、订阅)。返回2XX 以允许播放, 非2XX 以拒绝.
自定义播放器: 对于 WebRTC 或 HLS, 将访问密钥发送到 Livepeer-Access-Key header 或查询参数 accessKey 在播放 URL 上。 Last modified on March 1, 2026