Skip to content

Configuración de Sapsan

Toda la configuración de Sapsan vive en un único archivo YAML, sapsan.yaml. Esta página describe sus secciones y las reglas de recarga.

Estructura del archivo

listeners:        # puertos en los que escucha el servidor
  http:
    - port: 80
  rtsp:
    - port: 554
  rtmp:
    - port: 1935
  webrtc:
    - port: 5005

streams:          # lista de streams
  - name: cam1
    inputs:
    - rtsp:
        url: rtsp://admin:password@10.0.0.5/stream0
    dvr: {}

dvr:              # almacenamiento compartido del archivo
  root: /storage
  disks:
  - path: d1

auth: {}            # autorización de reproducción y publicación
config_external: {} # gestión externa de la configuración
rproxy: {}          # pasarela Peeklio
api_auth:           # usuario/contraseña del Admin API
  login: admin
  password: secret
Sección Qué configura Detalles
listeners puertos HTTP, RTSP, RTMP y WebRTC del servidor esta página
streams streams: fuentes, transcodificador, DVR, push, capturas de pantalla captura
dvr almacenamiento en disco del archivo grabación DVR
auth tokens y backends de autorización autorización
config_external obtención de la configuración desde un servidor externo configuración externa
rproxy pasarela Peeklio para agentes pasarela Peeklio
api_auth acceso al Admin API Admin API

Validación

Sapsan valida la configuración al cargarla y se niega a arrancar con una que no sea válida:

  • los campos desconocidos son un error (protección contra erratas);
  • cada entrada de un stream debe contener exactamente un protocolo;
  • los puertos no pueden repetirse entre listeners y streams;
  • si un stream tiene dvr habilitado, debe existir la sección global dvr.

Recarga en caliente

Al recibir SIGHUP, Sapsan vuelve a leer sapsan.yaml y aplica los cambios sin reiniciar el proceso:

  • los streams, la autorización y el DVR se reconfiguran sobre la marcha;
  • los listeners solo se vuelven a enlazar cuando cambia un puerto;
  • la pasarela rproxy conserva las conexiones de los agentes entre recargas (pero cambiar streampoint_key / endpoint_auth_url exige reiniciar el proceso).
kill -HUP $(pidof sapsan)