Recientemente configuré un servidor de LiveKit para la función de Voz de Discourse. Las llamadas se conectan y el audio suena bien, pero el video de la cámara está consistentemente borroso y muy con retraso (entre 8 y 20 fotogramas por segundo, con muchos cuadros congelados).
He probado con diferentes dispositivos, navegadores y configuraciones de calidad de video, incluida la opción Máxima, sin resolver el problema.
Mi configuración:
Discourse 2026.10.0-latest
LiveKit v1.13.7
Discourse y LiveKit se ejecutan en servidores separados de DigitalOcean dentro de la misma VPC.
Ambos servidores tienen firewalls de DigitalOcean.
No se han realizado cambios personalizados en el código de Discourse o LiveKit.
En una prueba de dos personas usando Chrome y Safari, la persona que usaba Safari vio el video del participante de Chrome con tirones.
Con la ayuda de algunos para diagnosticar, revisamos el servidor de LiveKit durante la llamada. Estaba con muy poca carga y ambos navegadores se conectaban mediante UDP. Los registros incluían estos mensajes:
Durante esa investigación surgieron dos cosas que podrían ser relevantes:
Voz parece solicitar un flujo de cámara de menor resolución incluso cuando se selecciona una calidad más alta, lo que podría explicar la imagen borrosa.
Hay indicios de que la misma cámara podría estar publicándose dos veces, lo que podría estar relacionado con los tirones.
No sé si esos hallazgos explican todo el problema, y no he aplicado ningún cambio de código ya que este es mi sitio de producción.
¿Alguien más ha experimentado esto con Voz y un servidor de LiveKit autoalojado? ¿Hay alguna configuración que pueda haber pasado por alto, o podría ser un problema con la integración?
El problema persiste después de migrar a LiveKit Cloud, por lo que no tiene nada que ver con la autoalojación de LiveKit. También lo probé con dispositivos adicionales (Safari en iPad y Chrome en macOS). En Chrome en macOS, el video proveniente de Safari en iPad se veía con retrasos, tartamudeos y pixelado. El audio seguía siendo correcto.
Espero que se pueda mejorar, aunque sé que podría estar relacionado con una falla a nivel de sistema (bloqueo).
“La restricción de WebKit limita la capacidad de los proveedores de navegadores para mejorar sus navegadores añadiendo mejoras de seguridad adicionales o funciones en iOS, en comparación con otras plataformas, incluido Android. Por lo tanto, podría reducir la competencia entre navegadores en funciones de seguridad en iOS.”
En Apple, todo el contenido navegado pasa por WebKit. Para todo lo demás, tenemos Linux o Android.