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
dvrhabilitado, a seção globaldvrdeve 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_urlexige reiniciar o processo).
kill -HUP $(pidof sapsan)