RTMS v2.6.0 — Previsualizaciones WebRTC WHEP, Canal WebSocket de Telemetría a 10 Hz, Monitoreo Determinista, Negociación MJPEG por Silicio y Escaneo Continuo Snyk
RTMS v2.6.0 — Previsualizaciones WebRTC WHEP, Canal WebSocket de Telemetría a 10 Hz, Monitoreo Determinista, Negociación MJPEG por Silicio y Escaneo Continuo Snyk
(2026-09-23)
🌐 Previsualizaciones WebRTC de Latencia Cero (<40 ms) con WHEP y Proxy Anti-CORS
- Protocolo RFC 9397 (WHEP):
- Integración nativa con MediaMTX WebRTC (
webrtc: yes,webrtcAddress: :8889,webrtcLocalUDPAddress: :8189). - Visor HTML5
<video id="preview-video">en el frontend, eliminando la sobrecarga y latencia del streaming MJPEG en flujos activos. - Proxy seguro
POST /api/stream/{device_path}/whepen FastAPI para evitar bloqueos CORS y mantener el tráfico dentro del mismo origen (127.0.0.1:8000). - Fallback automático y transparente al generador MJPEG para cámaras virtuales o flujos detenidos.
- Integración nativa con MediaMTX WebRTC (
⚡ Canal WebSocket de Telemetría a 10 Hz y Eventos Reactivos
- Ruta Asíncrona
/ws/telemetry:TelemetryWebSocketHubcon control de ciclo de vida: ticker de 10 Hz activo únicamente cuando hay clientes conectados (0% CPU en reposo).- Tasa de 10 Hz (100 ms) para métricas de video (FPS instantáneo, bitrate, dropped frames), GPU y rendimiento de red.
- Muestreo a 1 Hz para métricas pesadas de sistema (CPU y memoria RAM).
- Push reactivo inmediato de eventos de hardware y streaming (
device_lost,device_recovered,stream_started,stream_stopped), eliminando la necesidad de polling HTTP continuo. - Mutación granular en tiempo real del DOM por identificador, sin re-renderizado destructivo.
📊 Monitoreo Determinista con -progress pipe:1 (Sin Regex en Stderr)
- Eliminación de Scraping Regex en Stderr:
- Inyección de
-progress pipe:1 -nostatsen el generador de comandos FFmpeg. - Lector asíncrono
proc.read_progressenStreamProcpara parseo determinista de pareskey=valuedesdestdout. - Prevención garantizada de bloqueos de buffer de tubería (pipe deadlock) en Windows mediante drenado concurrente de
stdoutystderr. - Contabilización precisa de fotogramas caídos (dropped frames) y total de frames procesados.
- Inyección de
🔌 Negociación Inteligente DirectShow MJPEG por Silicio con Fallback Automático a YUYV/NV12
- Descompresión en el Chip Interno de la Cámara con Fallback de Alta Resiliencia:
- Sonda preventiva en memoria (
probe_device_mjpeg_support) de soporte de compresión MJPEG en DirectShow. - Conmutación automática instantánea a formato nativo sin compresión (
YUYV/NV12) cuando la cámara no soporta hardware MJPEG (webcams integradas de laptops), eliminando caídas porCould not set video options. - Fallback reactivo en tiempo de ejecución ante fallos de negociación en DirectShow.
- Reducción de más del 95% del consumo de ancho de banda en el bus USB en webcams con sensor MJPEG (de ~1000 Mbps en YUY2 sin comprimir a 25–40 Mbps en MJPEG).
- Sonda preventiva en memoria (
🎨 Refinamiento Visual y Estético en el Panel Web
- Badge de Versión Independiente en Barra Superior:
- Desacoplamiento de
<span class="version-tag">del contenedor degradado con recorte de texto-webkit-background-clip: text. - Diseño de píldora moderno, nítido y perfectamente centrado para
v2.6.0en WebView2.
- Desacoplamiento de
🛡️ Seguridad Continua con Snyk Security y Resolución de Dependabot
- Escaneo Automatizado SAST & SCA:
- Workflow
.github/workflows/snyk.ymlpara auditoría de vulnerabilidades con reporte SARIF integrado en GitHub Code Scanning. - Sincronización completa con
ruff >= 0.16.8ymypy >= 2.3.1(absorbiendo y resolviendo Dependabot PR #13 y PR #14). - Resolución determinista de 68 dependencias con
uv.lock. SECURITY.mdactualizado para soporte oficial de la versión>= 2.6.0.
- Workflow
📐 Modelos Pydantic v2 de Dominio Estricto
core/config_models.py:CameraConfig: validación estricta de resoluciones (480p,720p,1080p,1440p,4K), FPS (15–120), bitrate (500–50000 kbps), encoders y passphrases SRT (10–79 chars).SystemSettingsConfig: validación de puertos MediaMTX (SRT, WebRTC) y ajustes del sistema.
🧪 Calidad, Verificación y Suite de Pruebas
- Suite ampliada con pruebas automatizadas completas cubriendo WebSockets, WHEP proxy,
-progress pipe:1, modelos Pydantic v2 y workflows de CI/CD. - Linters y formateador
ruffvalidados sin advertencias. - Preservación estricta del catálogo canónico de GitHub (32/32 [OK]).