Files
ATLAS/docs/guias/video-streaming.md
FlotillasGPS Developer 51d78bacf4 FlotillasGPS - Sistema completo de monitoreo de flotillas GPS
Sistema completo para monitoreo y gestion de flotas de vehiculos con:
- Backend FastAPI con PostgreSQL/TimescaleDB
- Frontend React con TypeScript y TailwindCSS
- App movil React Native con Expo
- Soporte para dispositivos GPS, Meshtastic y celulares
- Video streaming en vivo con MediaMTX
- Geocercas, alertas, viajes y reportes
- Autenticacion JWT y WebSockets en tiempo real

Documentacion completa y guias de usuario incluidas.
2026-01-21 08:18:00 +00:00

7.9 KiB

Configuracion de Video Streaming

Guia para configurar camaras y video streaming en FlotillasGPS.

Arquitectura de Video

Camaras en Vehiculos          Servidor              Dashboard/App
      |                          |                       |
  [Dashcam] --RTSP--> [MediaMTX] --WebRTC--> [Navegador]
  [DVR]     --RTSP-->     |      --HLS----> [App Movil]
  [Cam IP]  --RTSP-->     |
                          |
                    [Grabaciones]
                    /opt/flotillas/videos/

Tipos de Camaras Soportadas

1. Dashcams con RTSP

Marcas recomendadas:

  • Viofo (A129, A139) - Excelente calidad, WiFi
  • BlackVue (DR900X, DR750X) - Premium, Cloud opcional
  • Thinkware (U1000, Q800) - Buena integracion

Requisitos:

  • Soporte RTSP
  • Conexion WiFi o Ethernet
  • Alimentacion 12V continua

2. DVR Vehiculares

Para flotas comerciales:

  • Hikvision Mobile DVR - 4/8 canales
  • Dahua Mobile DVR - Industrial
  • Howen - Economico

Caracteristicas:

  • Multiples canales (interior, exterior, lateral)
  • Almacenamiento local SD/HDD
  • 3G/4G integrado

3. Camaras IP Genericas

Cualquier camara con:

  • Protocolo RTSP u ONVIF
  • Resolucion minima 720p
  • Alimentacion PoE o 12V

4. Celular como Dashcam

La app FlotillasGPS puede usar la camara del celular:

  • Sin costo adicional
  • Calidad depende del celular
  • Consume bateria y datos

Configuracion de Camaras

Obtener URL RTSP

Formato tipico:

rtsp://usuario:password@IP:puerto/stream

Ejemplos por marca:

Marca URL RTSP
Hikvision rtsp://admin:pass@IP:554/Streaming/Channels/101
Dahua rtsp://admin:pass@IP:554/cam/realmonitor?channel=1&subtype=0
Viofo rtsp://IP:554/live/ch00_0
Generic rtsp://IP:554/stream1

Verificar Stream

Antes de agregar al sistema, probar con VLC o ffprobe:

# Con ffprobe
ffprobe rtsp://admin:pass@192.168.1.100:554/stream1

# Con VLC
vlc rtsp://admin:pass@192.168.1.100:554/stream1

Agregar Camara en el Dashboard

  1. Ir a detalle del vehiculo > pestaña Video
  2. Click + Agregar camara
  3. Completar:
    • Nombre: Ej. "Frontal", "Interior"
    • Posicion: Frontal, Trasera, Interior, Lateral izq/der
    • Tipo: RTSP, ONVIF
    • URL Stream: URL RTSP completa
    • Usuario/Password: Si requiere autenticacion
  4. Click Probar conexion
  5. Si funciona, click Guardar

Configuracion de MediaMTX

Configuracion Basica

El archivo /etc/mediamtx/mediamtx.yml ya viene configurado. Opciones importantes:

# WebRTC (para dashboard web)
webrtc: yes
webrtcAddress: :8889
webrtcAllowOrigin: '*'

# HLS (para app movil y compatibilidad)
hls: yes
hlsAddress: :8888
hlsSegmentDuration: 1s
hlsSegmentCount: 3

Agregar Camara Manualmente

Si necesitas agregar una camara directamente:

# Via API de MediaMTX
curl -X POST http://localhost:9997/v2/config/paths/add/cam_vehiculo1_frontal \
  -H "Content-Type: application/json" \
  -d '{
    "source": "rtsp://admin:pass@192.168.1.100:554/stream1",
    "sourceOnDemand": true,
    "sourceOnDemandStartTimeout": "10s",
    "sourceOnDemandCloseAfter": "10s"
  }'

Verificar Streams Activos

# Listar paths
curl http://localhost:9997/v2/paths/list

# Ver estado de un path
curl http://localhost:9997/v2/paths/get/cam_vehiculo1_frontal

Conexion de Red

Opcion 1: Router 4G en Vehiculo

[Camara] --Ethernet/WiFi--> [Router 4G] --Internet--> [Servidor]

Configuracion:

  1. Router 4G con IP publica o VPN
  2. Port forward del puerto RTSP al servidor
  3. O usar VPN para conexion segura

Routers recomendados:

  • Teltonika RUT240/RUT955
  • Mikrotik LtAP
  • Sierra Wireless

Opcion 2: Camara con 4G Integrado

Camaras con SIM integrada:

  • Hikvision DS-2CD6425G1
  • Dahua IPC-HFW4X31E-SE

Ventaja: Sin router adicional Desventaja: Mas costoso, SIM por camara

Opcion 3: VPN Site-to-Site

[Vehiculo] --VPN--> [Servidor]
   |
[Camara con IP local]

Configuracion:

  1. Router en vehiculo con cliente VPN (WireGuard/OpenVPN)
  2. Servidor con servidor VPN
  3. Acceso a camara via IP de VPN

Grabacion de Video

Tipos de Grabacion

  1. Continua: Graba todo el tiempo
  2. Por eventos: Solo cuando hay alertas
  3. Manual: Iniciada por el operador
  4. Programada: En horarios especificos

Configuracion de Grabacion

En el dashboard, por camara:

  • Grabar continuo: Si/No
  • Grabar eventos: Si/No
  • Calidad continuo: Baja/Media/Alta
  • Calidad eventos: Media/Alta
  • Pre-evento: Segundos antes del evento (buffer)
  • Post-evento: Segundos despues del evento
  • Solo con motor encendido: Si/No

Almacenamiento

Estimacion de espacio:

Calidad Bitrate Por hora Por dia (10h)
Baja (480p) 1 Mbps 450 MB 4.5 GB
Media (720p) 2 Mbps 900 MB 9 GB
Alta (1080p) 4 Mbps 1.8 GB 18 GB

Para 20 vehiculos con grabacion continua 720p:

  • Por dia: 180 GB
  • Por mes: 5.4 TB

Recomendacion:

  • Grabacion continua solo en horario laboral
  • O solo grabacion por eventos

Retencion

Configurar en Configuracion > Retencion de datos:

  • Videos continuos: 7-14 dias
  • Videos de eventos: 30-90 dias

Script de limpieza automatica:

# Ejecutar diariamente via cron
find /opt/flotillas/videos -name "*.mp4" -mtime +30 -delete

Ver Video en el Dashboard

Video en Vivo

  1. Ir a Video > En Vivo
  2. Seleccionar layout (1, 2x2, 3x3)
  3. Click en celda para seleccionar camara
  4. Controles:
    • Pantalla completa: Expandir
    • Captura: Tomar screenshot
    • Grabar: Iniciar grabacion manual

Video Sincronizado con Viaje

  1. Ir a Viajes > seleccionar viaje > Replay
  2. El video se sincroniza con la posicion en el mapa
  3. Usar timeline para navegar

Buscar Grabaciones

  1. Ir a Video > Grabaciones
  2. Filtrar por:
    • Vehiculo
    • Camara
    • Fecha/hora
    • Tipo (continua, evento, manual)
  3. Click para reproducir
  4. Descargar si es necesario

Eventos de Video

Deteccion Automatica

El sistema puede detectar eventos basados en:

  • Datos de GPS: Frenado brusco, aceleracion, impacto
  • Sensores de camara: G-sensor integrado
  • Alertas del sistema: Al generar alerta, marca el video

Configurar Deteccion

En Configuracion > Video > Eventos:

  • Umbral de frenado brusco: -0.5 G
  • Umbral de aceleracion: 0.4 G
  • Umbral de impacto: 2.0 G

Revisar Eventos

  1. Ir a Video > Eventos
  2. Lista de eventos con severidad
  3. Click para ver clip
  4. Marcar como revisado
  5. Agregar notas

Solucion de Problemas de Video

Camara no conecta

  1. Verificar URL RTSP es correcta
  2. Verificar credenciales
  3. Verificar conectividad de red
  4. Probar con ffprobe:
ffprobe -v error rtsp://admin:pass@IP:554/stream

Video con lag alto

Posibles causas:

  • Ancho de banda insuficiente
  • Servidor sobrecargado
  • Bitrate muy alto

Soluciones:

  • Reducir calidad en camara
  • Usar sub-stream (menor resolucion)
  • Verificar conexion de datos del vehiculo

Video se corta frecuentemente

Posibles causas:

  • Conexion 4G inestable
  • Timeout de conexion

Soluciones:

  • Aumentar timeouts en MediaMTX
  • Configurar reconexion automatica
  • Usar buffering mas largo

No se guardan grabaciones

Verificar:

# Espacio en disco
df -h /opt/flotillas/videos

# Permisos
ls -la /opt/flotillas/videos

# Logs de MediaMTX
journalctl -u mediamtx -f

Seguridad

Autenticacion

  • URLs RTSP internas no expuestas a internet
  • Acceso a video solo via dashboard autenticado
  • Tokens temporales para streams

Encriptacion

  • RTSP puede usar RTSPS (SSL)
  • WebRTC usa DTLS (encriptado por defecto)
  • HLS puede usar HTTPS

Mejores Practicas

  1. No exponer puertos de video directamente a internet
  2. Usar VPN para acceso remoto a camaras
  3. Cambiar credenciales default de camaras
  4. Actualizar firmware de camaras regularmente