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 設定在啟動時固定 — 變更它們需要重新啟動。