NanoPlayer

Reproductor web multi-stream, accesible y extensible, para plataformas de vídeo docente. Un reproductor que no te obliga a forkearlo.

En desarrollo · nada publicado todavía

El reproductor ya funciona y se puede probar aquí abajo, pero no está publicado: no hay paquete en npm, ni CDN, ni versión etiquetada. La API puede cambiar sin aviso. Esto es un escaparate del desarrollo, no una release.

Demo

El reproductor

En construcción

Lo que vería quien lo integre: dual-stream sincronizado, barra de controles accesible, menú de ajustes con velocidad y disposición, y subtítulos en dos idiomas. Se irán añadiendo aquí los plugins según se construyan.

Banco de pruebas del núcleo

Instrumentado

El mismo núcleo con el ciclo de vida en crudo: botones para resolver, enganchar, soltar el motor y desincronizar a propósito. Seis escenarios: mono, dual, HLS, solo audio, audio con diapositivas y un manifiesto inválido.

Spikes de validación

S1 · Sincronización dual-stream

Resuelto

¿Se pueden mantener dos vídeos sincronizados usando solo <video> nativo, sin biblioteca externa? Banco con gráfico de deriva en vivo y botones para provocar cada perturbación.

S2 · Diagnóstico de dispositivo

Resuelto

Mide qué puede hacer un dispositivo con vídeo: decodificación simultánea, pantalla completa, MSE, autoplay y sincronización. Un solo fichero, se abre en cualquier móvil y devuelve un informe.

MotorVídeos a la vez Deriva p95Fullscreen del contenedor
Blink (Chrome)1815 ms
WebKit (Safari, Mac)1754 ms
WebKit (iPhone)17209 msno

S6 · Encadenado de cabecera y cola

Falta el dato de iPhone

¿Se puede pasar de la cabecera al contenido sin que se vea el salto? Sí, pero solo arrancando la pieza siguiente antes de que termine la anterior. Tres piezas de color plano: si aparece negro, hubo hueco.

S5 · Directo dual-stream

Resuelto

¿Se pueden sincronizar dos directos HLS independientes? Sí, pero solo con EXT-X-PROGRAM-DATE-TIME en ambas listas. Este banco necesita emisiones en vivo, así que no se publica aquí: las conclusiones y las medidas están en el repositorio.