Files
ATLAS/deploy/mediamtx/mediamtx.yml
ATLAS Admin e59aa2a742 feat: Complete ATLAS system installation and API fixes
## Backend Changes
- Add new API endpoints: combustible, pois, mantenimiento, video, configuracion
- Fix vehiculos endpoint to return paginated response with items array
- Add /vehiculos/all endpoint for non-paginated list
- Add /geocercas/all endpoint
- Add /alertas/configuracion GET/PUT endpoints
- Add /viajes/activos and /viajes/iniciar endpoints
- Add /reportes/stats, /reportes/templates, /reportes/preview endpoints
- Add /conductores/all and /conductores/disponibles endpoints
- Update router.py to include all new modules

## Frontend Changes
- Fix authentication token handling (snake_case vs camelCase)
- Update vehiculosApi.listAll to use /vehiculos/all
- Fix FuelGauge component usage in Combustible page
- Fix chart component exports (named + default exports)
- Update API client for proper token refresh

## Infrastructure
- Rename services from ADAN to ATLAS
- Configure Cloudflare tunnel for atlas.consultoria-as.com
- Update systemd service files
- Configure PostgreSQL with TimescaleDB
- Configure Redis, Mosquitto, Traccar, MediaMTX

## Documentation
- Update installation guides
- Update API reference
- Rename all ADAN references to ATLAS

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 03:04:23 +00:00

238 lines
5.8 KiB
YAML

# ============================================
# MediaMTX - Configuracion para Sistema de ATLAS
# ============================================
# Documentacion: https://github.com/bluenviron/mediamtx
#
# MediaMTX es un servidor de streaming multimedia que soporta:
# - RTSP (recibir streams de camaras IP)
# - WebRTC (streaming en navegadores)
# - HLS (streaming adaptativo)
# - RTMP (compatibilidad con OBS, etc.)
# ============================================
# ========================================
# Configuracion General
# ========================================
# Nivel de log: debug, info, warn, error
logLevel: info
# Destino de logs
logDestinations: [stdout]
# Archivo de log (si se habilita file en logDestinations)
# logFile: /var/log/mediamtx/mediamtx.log
# Timeout de lectura/escritura
readTimeout: 10s
writeTimeout: 10s
# Timeout de lectura para UDP
readBufferCount: 512
# ========================================
# API REST
# ========================================
api: yes
apiAddress: 127.0.0.1:9997
# Metricas para Prometheus
metrics: yes
metricsAddress: 127.0.0.1:9998
# ========================================
# RTSP Server
# ========================================
# Recibe streams de camaras IP
rtsp: yes
protocols: [udp, multicast, tcp]
# Puertos RTSP
rtspAddress: :8554
# Rango de puertos UDP para RTP
rtpAddress: :8000
rtcpAddress: :8001
# Multicast (opcional)
multicastIPRange: 224.1.0.0/16
multicastRTPPort: 8002
multicastRTCPPort: 8003
# ========================================
# RTMP Server
# ========================================
# Compatibilidad con OBS, FFmpeg, etc.
rtmp: yes
rtmpAddress: :1935
# Encriptacion RTMPS (requiere certificados)
rtmpEncryption: "no"
# rtmpServerKey: server.key
# rtmpServerCert: server.crt
# ========================================
# HLS Server
# ========================================
# Streaming adaptativo para navegadores antiguos
hls: yes
hlsAddress: :8888
# Permitir origen cruzado (CORS)
hlsAlwaysRemux: no
hlsVariant: lowLatency
hlsSegmentCount: 7
hlsSegmentDuration: 1s
hlsPartDuration: 200ms
hlsSegmentMaxSize: 50M
hlsAllowOrigin: '*'
# Directorio para segmentos HLS
hlsDirectory: ''
# ========================================
# WebRTC Server
# ========================================
# Streaming de baja latencia en navegadores modernos
webrtc: yes
webrtcAddress: :8889
# CORS para WebRTC
webrtcAllowOrigin: '*'
# Configuracion ICE (NAT traversal)
webrtcICEServers2: []
# Usar servidores STUN/TURN si hay NAT
# webrtcICEServers2:
# - urls: [stun:stun.l.google.com:19302]
# Puertos ICE UDP
webrtcICEUDPMuxAddress: :8189
webrtcICETCPMuxAddress: :8189
# ========================================
# SRT Server (Secure Reliable Transport)
# ========================================
srt: no
srtAddress: :8890
# ========================================
# Grabacion
# ========================================
# Guardar streams a disco
record: no
recordPath: ./recordings/%path/%Y-%m-%d_%H-%M-%S-%f
recordFormat: fmp4
recordPartDuration: 100ms
recordSegmentDuration: 1h
recordDeleteAfter: 24h
# ========================================
# Autenticacion
# ========================================
# Proteger acceso a streams
# Metodos de autenticacion: internal, http, jwt
authMethod: internal
# Usuarios internos (basico)
authInternalUsers:
# Usuario admin - acceso total
- user: admin
pass: CHANGE_ME_ADMIN_PASSWORD
permissions:
- action: publish
path: ''
- action: read
path: ''
- action: playback
path: ''
- action: api
# Usuario para publicar (camaras)
# Las camaras usan este usuario para enviar stream
- user: camera
pass: CHANGE_ME_CAMERA_PASSWORD
permissions:
- action: publish
path: ''
# Usuario para ver (clientes)
- user: viewer
pass: CHANGE_ME_VIEWER_PASSWORD
permissions:
- action: read
path: ''
- action: playback
path: ''
# Usuario anonimo (solo lectura, opcional)
# - user: ''
# pass: ''
# permissions:
# - action: read
# path: ''
# ========================================
# Paths (Streams)
# ========================================
# Configuracion de paths/streams individuales
paths:
# Path por defecto - permite cualquier stream
all_others:
# Stream de ejemplo - camara fija
# camara1:
# source: rtsp://192.168.1.100:554/stream1
# sourceOnDemand: yes
# sourceOnDemandStartTimeout: 10s
# sourceOnDemandCloseAfter: 10s
# Stream desde FFmpeg (si necesitas transcodificar)
# stream_transcoded:
# runOnInit: ffmpeg -i rtsp://source -c:v libx264 -preset ultrafast -tune zerolatency -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH
# runOnInitRestart: yes
# Stream de camara vehicular (ejemplo)
# vehiculo_001:
# source: rtsp://usuario:password@192.168.1.101:554/h264
# sourceOnDemand: yes
# runOnDemand: ''
# runOnDemandRestart: no
# runOnDemandStartTimeout: 10s
# runOnDemandCloseAfter: 10s
# ============================================
# Notas de Integracion
# ============================================
#
# PUBLICAR STREAM (desde camara o FFmpeg):
# rtsp://camera:password@servidor:8554/nombre_stream
#
# VER STREAM:
# - RTSP: rtsp://viewer:password@servidor:8554/nombre_stream
# - WebRTC: http://servidor:8889/nombre_stream
# - HLS: http://servidor:8888/nombre_stream/index.m3u8
#
# API REST (ejemplos):
# - Listar streams: curl http://localhost:9997/v3/paths/list
# - Info de stream: curl http://localhost:9997/v3/paths/get/nombre_stream
# - Kick conexion: curl -X POST http://localhost:9997/v3/paths/kick/nombre_stream
#
# INTEGRACION CON FRONTEND:
# Usar libreria como hls.js o adaptador WebRTC para reproducir en navegador
#
# SEGURIDAD:
# 1. Cambiar passwords por defecto
# 2. En produccion, usar authMethod: http para validar contra tu API
# 3. Configurar CORS apropiadamente
# ============================================