Skip to content

Configuração do Sapsan

Toda a configuração do Sapsan vive em um único arquivo YAML, sapsan.yaml. Esta página descreve suas seções e as regras de recarga.

Estrutura do arquivo

listeners:        # portas em que o servidor escuta
  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:              # armazenamento compartilhado do arquivo
  root: /storage
  disks:
  - path: d1

auth: {}            # autorização de reprodução e publicação
config_external: {} # gestão externa da configuração
rproxy: {}          # gateway Peeklio
api_auth:           # login/senha do Admin API
  login: admin
  password: secret
Seção O que configura Detalhes
listeners portas HTTP, RTSP, RTMP e WebRTC do servidor esta página
streams streams: fontes, transcodificador, DVR, push, capturas de tela captura
dvr armazenamento em disco do arquivo gravação DVR
auth tokens e backends de autorização autorização
config_external obtenção da configuração de um servidor externo configuração externa
rproxy gateway Peeklio para agentes gateway Peeklio
api_auth acesso ao Admin API Admin API

Validação

O Sapsan valida a configuração no carregamento e se recusa a iniciar com uma inválida:

  • campos desconhecidos são erro (proteção contra erros de digitação);
  • cada entrada de um stream deve conter exatamente um protocolo;
  • as portas não podem ser reutilizadas entre listeners e streams;
  • se um stream tem dvr habilitado, a seção global dvr deve existir.

Recarga a quente

Ao receber SIGHUP, o Sapsan relê o arquivo sapsan.yaml e aplica as mudanças sem reiniciar o processo:

  • streams, autorização e DVR são reconfigurados na hora;
  • os listeners só voltam a se vincular quando uma porta muda;
  • o gateway rproxy mantém as conexões dos agentes entre recargas (mas trocar streampoint_key / endpoint_auth_url exige reiniciar o processo).
kill -HUP $(pidof sapsan)