378 lines
7.8 KiB
Markdown
378 lines
7.8 KiB
Markdown
# Configuracion de Video Streaming
|
|
|
|
Guia para configurar camaras y video streaming en ADAN.
|
|
|
|
## Arquitectura de Video
|
|
|
|
```
|
|
Camaras en Vehiculos Servidor Dashboard/App
|
|
| | |
|
|
[Dashcam] --RTSP--> [MediaMTX] --WebRTC--> [Navegador]
|
|
[DVR] --RTSP--> | --HLS----> [App Movil]
|
|
[Cam IP] --RTSP--> |
|
|
|
|
|
[Grabaciones]
|
|
/opt/adan/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 ADAN 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:
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```yaml
|
|
# 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:
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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:
|
|
```bash
|
|
# Ejecutar diariamente via cron
|
|
find /opt/adan/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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
# Espacio en disco
|
|
df -h /opt/adan/videos
|
|
|
|
# Permisos
|
|
ls -la /opt/adan/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
|