A sala de vídeo da Kontato monitora qualidade da conexão em tempo real e oferece 2 níveis de recovery quando algo trava — desde restart leve da câmera até re-join completo da sala.
Indicador de rede (5 barras coloridas)
No header da sala tem um ícone com 5 barras verticais estilo wifi. Cores conforme useNetwork().threshold do Daily:
| Threshold | Barras | Cor | Significado |
|---|---|---|---|
good | 5 de 5 | 🟢 Verde | Boa — packet loss baixo, RTT < 200ms |
low | 3 de 5 | 🟡 Amarelo | Instável — perda esporádica, jitter notável |
very-low | 1 de 5 | 🔴 Vermelho | Ruim — perda severa ou desconectando |
Hover no ícone mostra tooltip: "Conexão: boa" / "Conexão: instável" / "Conexão: ruim".
Indicador local apenas: mostra a SUA conexão (
useNetwork()semparticipantId). Pra ver a do outro participante, precisaria fazer dev-mode futuramente — não há UI hoje.
O que Daily mede
Daily calcula threshold baseado em:
- Packet loss (perda de pacotes RTC)
- RTT (round-trip time)
- Jitter (variação de latência)
Sistema é adaptativo — Daily reduz automaticamente bitrate de vídeo quando detecta low/very-low (simulcast layers menores), pra preservar áudio.
Banner laranja "Conexão instável"
Quando Daily detecta problema persistente (network-low por 5+ segundos ou auto-recover falhou), aparece banner laranja no topo da sala:
⚠️ Conexão instável. [↻ Reconectar]
Click "Reconectar" — recovery em 2 etapas
- Etapa 1 (leve, ~1s):
daily.startCamera()+ toggle mic — re-acquire devices sem sair da room. Resolve ~70% dos travamentos locais sem custo de re-join. - Etapa 2 (caro, ~3s): se etapa 1 falhar, sistema faz
daily.leave()+daily.join()— full re-join na room. Funciona em quase tudo.
Banner some quando reconexão termina (sucesso ou falha — onReconectado callback).
Recovery manual via engrenagem
Mesmo sem o banner aparecer (rede estabilizou mas algo trava), você pode forçar recovery manualmente. Click na engrenagem ⚙ na ControlBar → menu MediaSettingsMenu mostra 2 ações:
"Reconectar mídia" (~1s)
- Equivale à Etapa 1 acima
daily.startCamera()re-acquire câmera + mic- Útil quando: vídeo travou em tela preta mas sala continua conectada
- Não te tira da sala
- Outros participantes nem percebem
"Recarregar chamada" (~3s)
- Equivale à Etapa 2 acima
daily.leave()+ delay 600ms +daily.join()com mesma URL/token- Útil quando: nada do "Reconectar mídia" resolveu, ou estado da sala parece corrompido
- Você sai e volta — outros participantes veem você sair e reentrar (~3s offline)
- Mais agressivo — usa só se "Reconectar mídia" falhar
Nas 2 ações o SDK Daily restaura sua presença na sala. Você não precisa abrir nova URL nem re-autorizar.
Diferença entre as 2 ações
| Reconectar mídia | Recarregar chamada | |
|---|---|---|
| Tempo | ~1s | ~3s |
| Sai da sala? | Não | Sim (re-join) |
| Outros veem? | Não | Sim (você sai e volta) |
| Resolve | Travamento de devices | Estado de sala corrompido |
| Quando usar | 1ª tentativa | 2ª tentativa se a 1ª não resolver |
Sequência recomendada: Reconectar mídia → falhou? → Recarregar chamada → falhou? → fechar e abrir aba.
Causas comuns de queda de qualidade
WiFi fraco / longe do roteador
Sintoma: barras vão verde → amarelo → vermelho gradualmente. Áudio começa a cortar. Solução: mover pra perto do roteador, ou tentar 4G se o sinal celular estiver melhor.
Banda compartilhada com download/upload pesado
Sintoma: qualidade cai bruscamente quando alguém na rede começa download grande. Solução: pausar downloads, fechar Netflix/streaming em outras pessoas em casa.
CPU sobrecarregada
Sintoma: vídeo trava e descongela mas rede está boa. Solução: fechar abas Chrome pesadas, fechar apps de fundo (Slack, Spotify, Zoom em outra reunião).
Bateria do laptop em modo economia
Sintoma: vídeo "pisca" / fica embaçado. Sistema operacional reduz CPU. Solução: plugar na tomada ou desligar modo economia.
Mobile: 4G fraco
Sintoma: começou bom no WiFi, saiu de casa, conexão piorou drasticamente. Solução: voltar pro WiFi ou ir pra área com sinal melhor.
Dois mics conectados ao mesmo tempo
Sintoma: áudio duplica, eco, ou nenhum áudio. Solução: ver Trocar dispositivos — escolher um único mic ativo.
Mobile vs desktop
Mobile (iOS Safari + Android Chrome)
- Sensível a mudança de rede (WiFi ↔ 4G troca em segundos)
- Bateria fraca pode afetar codec encoding (CPU economiza)
- Background tab do Safari iOS: vídeo pode pausar (limitação Apple) — manter app em foreground
Desktop
- Geralmente mais estável (banda fixa + CPU farta)
- Recovery automatic resolve >90% dos travamentos sem intervenção do user
- Plugar cabo de rede em vez de WiFi quando possível
Sem live captions afeta qualidade?
Não — Daily mede qualidade APENAS do RTC media (audio + video tracks). Features pós-call (transcrição Whisper, sentimento real-time) rodam em servidores separados e não impactam a qualidade da chamada ao vivo.
Quando NADA resolve
Cenários raros onde recovery não consegue restaurar:
- Firewall corporativo bloqueando UDP (Daily fallback pra TURN TCP, mas pode falhar)
- Provedor de internet com NAT muito restritivo
- Bug raro do Daily SDK em browsers exóticos
Última opção: fechar a aba e abrir o link do início de novo. Vai criar nova sessão Daily completa.
Edge cases
Banner não aparece mesmo com rede ruim
Daily só dispara network-low event após 5+ segundos consecutivos de problema. Se sua queda é rápida (~2s), banner não aparece — só a barra do header muda de cor.
Banner some sem clicar Reconectar
Se Daily resolveu sozinho (auto-recover), banner some automaticamente. Não há ação a tomar.
"Reconectar" mostrou Loader2 girando infinito
Bug raro — geralmente é falha no leave(). Recarregue a aba.
Próximos artigos
- Trocar dispositivos — recovery por device errado
- Botões da sala — incluindo onde fica o ícone de rede
- Troubleshooting vídeo — quando recovery não resolve