YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

🎥 WebRTC Latency Test

Servidor WebRTC para teste de latência em tempo real com timestamps precisos.

📋 Características

  • ✅ Geração de vídeo em tempo real (30 FPS)
  • ✅ Timestamps precisos com milissegundos
  • ✅ Cliente web para visualização
  • ✅ Teste automatizado com Playwright
  • ✅ Suporte a múltiplos usuários simultâneos
  • ✅ Scripts de instalação e gerenciamento

🚀 Instalação Rápida

# 1. Clone o repositório
git clone <repo-url>
cd webrtc-latency-test

# 2. Execute a instalação
./scripts/install.sh

# 3. Inicie o servidor
./scripts/start.sh

📁 Estrutura do Projeto

webrtc-latency-test/
├── README.md                          # Este arquivo
├── requirements.txt                   # Dependências Python
├── server/
│   ├── webrtc-server.py              # Servidor WebRTC
│   └── webrtc-client.html            # Cliente web
├── tests/
│   └── test_latency_playwright.py    # Teste automatizado
├── scripts/
│   ├── install.sh                    # Instalação
│   ├── start.sh                      # Iniciar servidor
│   └── stop.sh                       # Parar servidor
└── docs/
    ├── TESTING_INSTRUCTIONS.md       # Manual de testes
    └── AUTOMATED_TESTING.md          # Testes automatizados

🎯 Como Usar

Iniciar Servidor

./scripts/start.sh

O servidor estará disponível em: http://localhost:9000

Acessar Cliente Web

Abra o navegador e acesse:

  • Direto: http://<ip-servidor>:9000
  • Via SSH tunnel: http://localhost:9000

Parar Servidor

./scripts/stop.sh

📊 Medição de Latência

Manual

  1. Acesse o cliente web
  2. Clique em "Conectar"
  3. Observe o timestamp no vídeo
  4. Compare com o horário local
  5. Latência = Hora Local - Timestamp no Vídeo

Automatizada

# Teste com 1 usuário
python3 tests/test_latency_playwright.py 1 true

# Teste com 5 usuários simultâneos
python3 tests/test_latency_playwright.py 5 true

# Teste com 10 usuários
python3 tests/test_latency_playwright.py 10 true

📈 Latência Esperada

Latência Classificação Uso
< 100ms ✅ Excelente Quase imperceptível
100-300ms ✅ Bom Ideal para conversação
300-500ms ⚠️ Aceitável Pequenos delays
> 500ms ❌ Ruim Latência muito alta

🔧 Requisitos

  • Python 3.8+
  • pip
  • Navegador moderno (Chrome, Firefox, Safari)

Dependências Python

  • aiortc
  • aiohttp
  • opencv-python
  • numpy
  • playwright (opcional, para testes automatizados)

📖 Documentação

🎬 O que é medido

O vídeo gerado mostra:

  • Timestamp: Hora atual com milissegundos
  • Frame Number: Contador de frames
  • FPS: Taxa de quadros (30 FPS)
  • Elapsed Time: Tempo decorrido desde início
  • Borda colorida: Indicador visual de atualização

🌐 Uso via SSH Tunnel

Se o servidor não estiver acessível externamente:

# Criar tunnel SSH
ssh -L 9000:localhost:9000 user@servidor

# Acessar localmente
http://localhost:9000

🚀 Deploy em Servidor Remoto

# 1. Copiar projeto para servidor
scp -r webrtc-latency-test user@servidor:/root/

# 2. SSH no servidor
ssh user@servidor

# 3. Instalar e iniciar
cd /root/webrtc-latency-test
./scripts/install.sh
./scripts/start.sh

📊 Componentes da Latência (~200ms típico)

  • Processamento servidor: ~40-60ms

    • Geração de frame
    • WebRTC encoding
  • Transporte de rede: ~80-120ms

    • Upload
    • Roteamento
    • Download
  • Processamento cliente: ~30-50ms

    • WebRTC decoding
    • Rendering
  • Buffering: ~20-30ms

    • Jitter buffer
    • Render buffer

🛠️ Solução de Problemas

Servidor não inicia

# Verificar se porta 9000 está em uso
netstat -tuln | grep 9000

# Matar processos na porta 9000
lsof -ti:9000 | xargs kill -9

Vídeo não aparece

  1. Verifique se o servidor está rodando: ./scripts/start.sh
  2. Verifique o console do navegador (F12)
  3. Verifique os logs: tail -f /tmp/webrtc.log

Latência muito alta

  • Use servidor geograficamente próximo
  • Verifique conexão de rede
  • Reduza resolução do vídeo
  • Use conexão cabeada ao invés de Wi-Fi

📝 Licença

MIT License

🤝 Contribuições

Contribuições são bem-vindas! Abra uma issue ou pull request.

📧 Contato

Para dúvidas e sugestões, abra uma issue no GitHub.


Desenvolvido para testes de latência WebRTC em tempo real 🎯

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support