Skip to the content.

TESTING.md — Registro de pruebas

Read in English

Prueba 4.0 — Validación de audio + video simultáneo en la Raspberry Pi real

Fecha: 2026-09-04 / 2026-09-05 Objetivo: confirmar que la Raspberry Pi 2 puede reproducir un video H.264 con audio embebido (sin desincronizarse, ni al inicio ni con el tiempo) simultáneamente con un MP3 independiente, con la interfaz de audio USB Behringer, el M-VAVE y el USB de biblioteca conectados a la vez (los 3 dispositivos reales del show).

Entorno confirmado

Pila de reproducción de video — resultado de la investigación pedida en 4.0

Configuración ALSA usada (~/.asoundrc en la Pi, usuario hesner)

pcm.mixcodec {
    type plug
    slave.pcm "dmix:CARD=CODEC,DEV=0"
}
ctl.mixcodec {
    type hw
    card CODEC
}

Resultados — prueba de 5 minutos, carga simultánea real

Video 1920x1080/30fps H.264+AAC (audio embebido) + MP3 independiente de 300s, reproducidos a la vez, con Behringer + M-VAVE + USB de biblioteca conectados. Métricas muestreadas cada 10s durante toda la prueba.

Métrica Resultado
Sincronía audio-video (avsync) Se mantuvo entre 0 y ~140ms durante los 5 minutos, sin tendencia a crecer. Cumple el requisito crítico de la sección 2 (no desincronización progresiva).
Memoria Estable: ~293→312 MB usados de 921MB totales, siempre >600MB libres. Sin fugas visibles.
CPU ~25-30% de uso durante la reproducción (70%+ idle). La CPU no es el cuello de botella.
Cuadros de video perdidos ~70% de los cuadros (creciendo de forma sostenida y lineal, ~21 fps perdidos de 30fps objetivo). Confirmado real (no artefacto de generación de material de prueba).
Subvoltaje durante la prueba Ninguno nuevo (bits de throttled sin cambios durante los 5 minutos de carga real).

Hallazgo pendiente de resolver: pérdida de cuadros de video

Causa identificada: mpv reporta Assuming 60.000000 FPS for display sync mientras el contenido es de 30fps — hay un desajuste 30-en-60 que el pipeline actual no maneja bien, resultando en descarte masivo de cuadros para mantener la sincronía de audio (que sí se prioriza correctamente).

Hallazgo de alimentación eléctrica (resuelto)

Hallazgo de seguimiento (2026-09-05, sesión en vivo de desarrollo del Core)

Con el mismo cargador de 5V/2.5A ya validado arriba, se observó un segundo evento de subvoltaje aislado vía dmesg (hwmon1: Undervoltage detected! … Voltage normalised ~4s después) cerca de las 3h40m de una sola sesión inusualmente pesada: ambos carriles de mpv (video + solo-audio) corriendo continuamente, combinado con reinicios frecuentes de main.py, una codificación con ffmpeg (conversión a MP3 + generación del fallback-standby), y ciclos repetidos de montaje/desmontaje del USB, todo superponiéndose en varios momentos — una carga combinada mucho más pesada y sostenida que un show real, que no reinicia procesos a mitad de la presentación. vcgencmd get_throttled justo después no mostró subvoltaje activo en ese momento (0x50000 = solo bits históricos), y el sistema se mantuvo totalmente responsivo durante todo el proceso — sin cuelgue, sin MIDI perdido, sin corrupción de audio/video observada. No se trata como un problema nuevo de hardware que requiera arreglo; se anota acá como evidencia a vigilar durante una eventual prueba de duración completa del show con el contenido y setup de hardware final (no una sesión de desarrollo/pruebas con tanto reinicio de procesos).

El hardware (Raspberry Pi 2 Rev 1.1 + USB Behringer + M-VAVE + USB de biblioteca, con fuente de 5V/2.5A) sostiene la reproducción simultánea de audio+video sin desincronización y sin agotar CPU/RAM — el requisito crítico de la sección 2 (audio y video de un mismo clip nunca desincronizados) queda validado.

No se puede dar por cerrada del todo la sección 4.0 hasta repetir la verificación de pérdida de cuadros con una pantalla representativa del show (un televisor real, no el monitor de PC usado en esta prueba) — hay evidencia de que el problema encontrado es específico de las limitaciones de refresco de este monitor de prueba (sin modo 1080p30 nativo) y probablemente no se replique con un TV real. Queda como tarea de seguimiento; no bloquea continuar con el análisis del M-VAVE (sección 4.1) mientras se consigue una pantalla de prueba adecuada.

Prueba de frecuencia de refresco en el TV real (2026-09-05, cierra el seguimiento de arriba)

Repetida con el TV real del show (se trasladó la Pi hasta allá, ciclo de energía completo desde apagado – también, de paso, la primera validación real de que el arranque automático de systemd, sección de systemd/ más abajo, funciona de punta a punta desde un apagado genuino, no solo un systemctl restart).

La sección 4.0 queda cerrada: sincronización audio-video validada, y la línea de investigación del desajuste de frecuencia de refresco del monitor de PC original se siguió hasta el TV real y una conclusión real, basada en evidencia (no un arreglo, sino un no-problema confirmado) en vez de quedar abierta.