Salas de audio y vídeo de LiveKit

Salas de audio y vídeo para grupos NIP-29 mediante un servidor LiveKit: endpoints de tokens, firma JWT y los metadatos de grupo que anuncian las salas.

Preparación

  1. Establece relay.livekit_url, relay.livekit_api_key y relay.livekit_api_secret en el archivo de configuración.
  2. Añade la etiqueta livekit a los metadatos de un grupo mediante una edición kind:9002 de un administrador.
  3. Los clientes obtienen un JWT de /.well-known/nip29/livekit/<group-id> con autenticación NIP-98 (una clave pública vetada con banpubkey de NIP-86 es rechazada).
  4. El relé publica una lista de participantes kind:39004 por grupo livekit, refrescada cada relay.livekit_participants_interval_secs (15 por defecto) y de inmediato cuando LiveKit envía webhooks a /.well-known/nip29/livekit/webhook — apunta webhook.urls del servidor LiveKit ahí y haz que webhook.api_key coincida con relay.livekit_api_key (el relé verifica la carga firmada; el sondeo reconcilia los eventos perdidos). Desactivar el modo LiveKit de un grupo borra la lista.

Comprobar la compatibilidad

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

204 significa que el servidor de salas está habilitado.

Configuración

toml
[relay]
livekit_url = "wss://livekit.example.com"
livekit_api_key = "..."
livekit_api_secret = "..."
livekit_participants_interval_secs = 15
Tip
Los ajustes de LiveKit se fijan al arrancar — cambiarlos requiere un reinicio.