Sesión 19 Feb: OCR intentos, MCP op.gg, timestamps manuales, video final muertes

- Agregado intentos.md con registro de todos los fallos
- Actualizado contexto.md con sesión de noche
- MCP op.gg instalado (no funcionó - 0 matches)
- OCR con Tesseract y EasyOCR (falló - texto muy pequeño)
- Video final generado: HIGHLIGHTS_MUERTES_COMPLETO.mp4
- Juegos separados: JUEGO_1/2/3_COMPLETO.mp4
- 10 muertes secuenciales: 0/1→0/10
- Scripts de extracción automática con timestamps
This commit is contained in:
renato97
2026-02-19 23:29:55 +00:00
parent 504e986164
commit 4cd1d475fe
59 changed files with 1569 additions and 10772 deletions

View File

@@ -436,7 +436,127 @@ Cada "fallo" nos enseñó qué NO funcionaba.
---
**Última actualización**: 19 de Febrero 2026, 17:30
---
## 📅 Sesión Continuación - 19 Febrero 2026 (Noche)
### Nuevo Objetivo: Detección Automática de Muertes con OCR
Tras lograr el sistema híbrido funcional, el usuario solicitó detección **automática y precisa** de muertes (cambios en KDA 0→1, 1→2, etc.) para uso en VPS sin intervención manual.
### Intentos Realizados en esta Sesión
#### 10. OCR con Tesseract - FAIL ❌
**Problema:** Texto del KDA demasiado pequeño en 1080p
**Intentos:**
- Múltiples recortes del HUD (300x130, 280x120, etc.)
- Preprocesamiento: threshold, contraste, CLAHE
- Diferentes configuraciones PSM
**Resultado:** Detectaba "143" en lugar de "0/1/0", confundía dígitos
#### 11. OCR con EasyOCR + GPU - FAIL ❌
**Ventaja:** Soporte CUDA nativo, más rápido
**Problema persistente:**
- Lee TODO el HUD, no solo el KDA
- Resultados inconsistentes entre frames consecutivos
- Detecta "211/5 55 40" en lugar del KDA real
**Intento de solución:** Recorte ultra-específico del KDA (200x40 px)
**Resultado:** Aún así, texto ilegible para OCR estándar
#### 12. Búsqueda Binaria Temporal + OCR - FAIL ❌
**Estrategia:** Algoritmo divide y vencerás para encontrar cambio exacto
**Problema:** El OCR acumula errores
**Ejemplo:** Saltos de 0→4, 1→6, valores absurdos como 2415470 deaths
**Conclusión:** Garbage in, garbage out - OCR no confiable
#### 13. MCP op.gg - FAIL ❌
**Repositorio:** https://github.com/opgginc/opgg-mcp
**Proceso:**
```bash
git clone https://github.com/opgginc/opgg-mcp.git
npm install && npm run build
node consultar_muertes.js
```
**Resultado:**
- ✅ Conexión exitosa al MCP
- ✅ Perfil encontrado: XOKAS THE KING#KEKY
- ❌ **Devuelve 0 matches recientes** (array vacío)
- ❌ API posiblemente requiere autenticación adicional
**Intentos alternativos:**
- curl directo a API op.gg: Bloqueado (requiere headers específicos)
- Diferentes endpoints: Todos retornan vacío o error 403
#### 14. Detección Híbrida (OCR + Audio + Heurísticas) - PARCIAL ⚠️
**Enfoque:** Combinar múltiples señales para validación cruzada
**Componentes:**
- OCR del KDA (baja confianza)
- Palabras clave de audio ("me mataron", "muerto")
- Validación de rango de tiempo (dentro de juego)
- Filtrado de valores absurdos (>30 deaths)
**Problema:** Complejidad alta, sigue requiriendo validación manual
#### 15. Timestamps Manuales Validados - WORKAROUND ✅
**Proceso:**
1. Extraer frames en timestamps candidatos
2. Verificar visualmente KDA
3. Ajustar timestamp exacto
**Resultado:** Encontrada primera muerte real en **41:06** (KDA: 0/0→0/1)
**Limitación:** No es automático, requiere intervención humana
### Solución Final Implementada
Tras múltiples intentos fallidos de automatización completa:
1. **Separar juegos completos** del stream original
- Juego 1: 17:29-46:20 (29 min)
- Juego 2: 46:45-1:35:40 (49 min)
- Juego 3: 1:36:00-2:17:15 (41 min)
2. **Usar timestamps manuales validados** basados en análisis previo
- 10 muertes confirmadas
- Secuencia completa: 0/1→0/2→...→0/10
3. **Generar video final automáticamente** con esos timestamps
**Resultado:**
- `HIGHLIGHTS_MUERTES_COMPLETO.mp4` (344MB, 3m 20s, 10 muertes)
- `JUEGO_1/2/3_COMPLETO.mp4` (9GB total, juegos completos separados)
### Lecciones Clave de esta Sesión
1. **OCR no funciona para HUD de LoL en streams** - Texto demasiado pequeño y comprimido
2. **APIs de terceros (op.gg) son inestables** - Sin garantía de disponibilidad
3. **Para VPS 100% automático:** Se necesita API oficial de Riot Games o ML entrenado específicamente
4. **Solución intermedia válida:** Timestamps manuales + extracción automática
### Archivos Generados en esta Sesión
**Nuevos:**
- `intentos.md` - Registro completo de fallos y aprendizajes
- `detector_ocr_puro.py` - Intento de OCR automático
- `detector_vps_final.py` - Detector con timestamps predefinidos
- `extractor_muertes_manual.py` - Extracción con timestamps manuales
- `instalar_mcp_opgg.sh` - Script de instalación MCP
- `consultar_muertes_opgg.js` - Cliente MCP para Node.js
- `muertes_detectadas.json` - JSON con timestamps de muertes
- `JUEGO_1/2/3_COMPLETO.mp4` - Juegos separados (9GB)
- `HIGHLIGHTS_MUERTES_COMPLETO.mp4` - Video final (344MB)
**Actualizados:**
- `contexto.md` - Este archivo
### Estado Final
-**Sistema funcional** para extracción con timestamps conocidos
- ⚠️ **Detección automática 100%** - Requiere API Riot o ML adicional
-**Video final generado** con 10 muertes secuenciales
-**Juegos separados** para análisis individual
-**Documentación completa** de todos los intentos fallidos
---
**Última actualización**: 19 de Febrero 2026, 22:50
**Desarrollador**: IA Assistant para renato97
**Estado**: Sistema funcional, documentado y subido
**Próximo milestone**: VLM en RX 6800 XT
**Estado**: Sistema funcional, OCR descartado, timestamps manuales + automatización
**Próximo milestone**: Integración API Riot Games oficial para automatización 100%