Voz + LiveKit auto-hospedado: vídeo da câmera em baixa resolução e travamentos unidirecionais

Olá a todos,

Recentemente configurei um servidor LiveKit para o recurso de Voz do Discourse. As chamadas se conectam e o áudio soa muito bem, mas o vídeo da câmera fica consistentemente embaçado e com bastante atraso (entre 8 e 20 quadros por segundo, com muitos quadros congelados).

Tentei diferentes dispositivos, navegadores e configurações de qualidade de vídeo, incluindo a Máxima, sem resolver o problema.

Minha configuração:

  • Discourse 2026.10.0-latest
  • LiveKit v1.13.7
  • O Discourse e o LiveKit rodam em servidores separados da DigitalOcean, na mesma VPC.
  • Ambos os servidores possuem firewalls da DigitalOcean.
  • Nenhuma alteração personalizada no código do Discourse ou do LiveKit.

Em um teste com duas pessoas usando Chrome e Safari, a pessoa que usava o Safari viu o vídeo do participante do Chrome com travamentos.

Com a ajuda de alguns para a depuração, verificamos o servidor LiveKit durante a chamada. Ele estava com uma carga muito baixa, e ambos os navegadores estavam se conectando via UDP. Os logs incluíram as seguintes mensagens:

adding up track failed: duplicate layer

unbound buffer overflowing, dropping packets

Duas coisas surgiram durante essa investigação que podem ser relevantes:

  • A Voz parece solicitar um stream de câmera em resolução mais baixa, mesmo quando uma qualidade mais alta é selecionada, o que pode explicar a imagem embaçada.
  • Há indícios de que a mesma câmera pode estar sendo publicada duas vezes, o que pode estar relacionado aos travamentos.

Não sei se essas descobertas explicam todo o problema, e não apliquei nenhuma alteração de código, já que este é meu site de produção.

Alguém mais experimentou isso com a Voz e um servidor LiveKit auto-hospedado? Existe alguma configuração que eu possa ter perdido, ou isso pode ser um problema com a integração?

2 Curtiram

ATUALIZAÇÃO!

O problema persiste mesmo depois que migrei para o LiveKit Cloud, então não tem nada a ver com a hospedagem própria do LiveKit. Também testei com dispositivos adicionais (Safari no iPad e Chrome no macOS). No Chrome no macOS, o vídeo vindo do Safari no iPad apresentava travamentos, engasgos e pixelização. O áudio continuava normal.

1 Curtiu

Espero que isso possa ser melhorado, embora saiba que possa estar relacionado a uma falha em nível de sistema (lock-in).

“A restrição do WebKit limita a capacidade dos fabricantes de navegadores de melhorar seus navegadores ao adicionar melhorias ou recursos de segurança adicionais no iOS, em comparação com outras plataformas, incluindo o Android. Portanto, pode diminuir a concorrência entre navegadores em relação a recursos de segurança no iOS.”

Na Apple, todo o conteúdo navegado passa pelo WebKit. Temos Linux ou Android para tudo o mais.

1 Curtiu

Omg, nem tinha pensado nisso. Faz sentido, infelizmente… :frowning:

1 Curtiu