LiveKit 音视频房间

通过 LiveKit 服务器为 NIP-29 群组提供音视频房间:令牌端点、JWT 签发和公布房间的群组元数据。

设置

  1. 在配置文件中设置 relay.livekit_url、relay.livekit_api_key 和 relay.livekit_api_secret。
  2. 通过管理员的 kind:9002 编辑,向群组元数据添加 livekit 标签。
  3. 客户端使用 NIP-98 认证从 /.well-known/nip29/livekit/<group-id> 获取 JWT(被 NIP-86 banpubkey 封禁的公钥会被拒绝)。
  4. 中继为每个 livekit 群组发布 kind:39004 参与者列表,每 relay.livekit_participants_interval_secs(默认 15)刷新一次,并在 LiveKit 向 /.well-known/nip29/livekit/webhook 发送 Webhook 时立即刷新 — 将 LiveKit 服务器的 webhook.urls 指向该地址,并让 webhook.api_key 与 relay.livekit_api_key 一致(中继会验证签名负载;遗漏的事件由轮询核对)。解除群组的 LiveKit 模式会清除该列表。

检查支持

sh
curl -i http://127.0.0.1:8080/.well-known/nip29/livekit

204 表示房间服务器已启用。

配置

toml
[relay]
livekit_url = "wss://livekit.example.com"
livekit_api_key = "..."
livekit_api_secret = "..."
livekit_participants_interval_secs = 15
Tip
LiveKit 设置在启动时固定 — 更改它们需要重启。