Skip to content
belcaikPublic

About

Integración local en Linux de un NVR 2NLF/EasyVideo: API, protocolo P6S, auditoría y monitoreo con egress bloqueado

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

open-nvr

Integración local en Linux del kit de videovigilancia 2NLF GAD3035WT2 (un NVR con software EasyVideo y cuatro cámaras PoE), para usarlo sin la aplicación de Windows ni servicios en la nube.

El equipo es del autor. Todo el trabajo es local y de interoperabilidad.

Estado

Etapas 0–2 completadas y etapa 3 (auditoría) documentada. La etapa 4 (monitoreo en Baphomet) está implementada pero sin desplegar.

Función Estado
Vídeo en directo (RTSP HEVC 2304×1296 y 800×448) ✅
Audio de la cámara (G.711 μ-law) ✅
Pan/tilt, zoom (hasta 6.8X), presets, luz ✅ Por API HTTP propietaria
Captura JPEG y eventos por WebSocket ✅
ONVIF ❌ El NVR no lo ofrece
Audio bidireccional 🟡 PCM/WebSocket/P6S validados en canales 1 y 2; corregidas la «pérdida de conexión» (T99) y la voz en la cámara anterior por usar canal base 0 (T102). Falta la verificación audible de todas las cámaras
Grabación y reproducción ✅ Grabación continua y reproducción web H.264
Configuración de cámaras ✅ Credencial de cada cámara en el NVR (tras cambiar la clave en la propia cámara), OSD, imagen, IR, movimiento, horario 7×48, P2P, registros (/System/Logging exige la query sin codificar :, T101) y audio global (se aplica, pero el NVR relee siempre los valores de fábrica, T105)
Cámaras registradas ✅ Canales 1, 2 y 4 en la última comprobación
Salida a Internet bloqueada ✅ El NVR sale por Baphomet (192.168.0.8), descarte por defecto; P2P offline

Leyenda: ✅ comprobado · ❌ no disponible · ⚠️ requiere acción · ❓ pendiente · ⏳ en curso.

Prueba rápida

read -rs NVR_PASS; export NVR_USER=admin NVR_PASS   # ajustar usuario
mpv --rtsp-transport=tcp "rtsp://$NVR_USER:$NVR_PASS@192.168.0.227:554/live/0/MAIN"

Documentación

Arquitectura prevista

go2rtc es el único cliente RTSP del NVR y reparte los flujos a mpv y al navegador. El control (PTZ, luz, estado) usa la API HTTP propietaria, porque el NVR no implementa ONVIF. Baphomet hace de puerta de enlace del NVR: bloquea la salida a Internet por defecto y avisa por ntfy de destinos nuevos y de cambios de comportamiento. El detalle está en la etapa 4 del plan.

Reglas de trabajo

  1. Autorización del propietario (2026-10-26): se permiten el diagnóstico, PTZ, audio, cambios reversibles de configuración, reinicios controlados y capturas de tráfico propio. Requieren autorización específica: firmware, bootloader o particiones, procedimientos con riesgo de inutilizar el equipo, borrar grabaciones o formatear, restablecer de fábrica y exponer el equipo a Internet. Las pruebas se clasifican en pasivas, de lectura, de actuación y de cambio (clases).
  2. Hechos, hipótesis y pendientes se marcan siempre por separado. Un dato pasa a ✅ solo con un comando reproducible y su resultado.
  3. Credenciales solo en variables de entorno. Nunca en el repositorio, en los logs ni en las capturas versionadas.
  4. Capturas (captures/) fuera de git: contienen números de serie, MAC y a veces credenciales.
  5. El NVR (servidor Boa 0.94.14rc21, sin mantenimiento) no se expone a Internet. El acceso remoto se hace por VPN al host Linux.

Licencia

open-nvr se distribuye bajo la GNU Affero General Public License v3.0 o posterior (AGPL-3.0-or-later). Es la variante de la GPL para servicios de red: quien use una versión modificada a través de la web tiene derecho a su código fuente. Se elige porque la detección de personas usa modelos YOLO de Ultralytics, que están bajo AGPL-3.0.

About

Integración local en Linux de un NVR 2NLF/EasyVideo: API, protocolo P6S, auditoría y monitoreo con egress bloqueado

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages