Descoberta de câmeras¶
device.onvif.discovery
O Sapsan pode descobrir câmeras ONVIF na rede, receber seus eventos (movimento, detecção de pessoas e veículos) e verificar a compatibilidade de uma câmera.
Descoberta de câmeras¶
O Sapsan descobre as câmeras por WS-Discovery (solicitações Probe multicast e respostas ProbeMatch) e adicionalmente entende o protocolo proprietário de descoberta da Hikvision. De cada câmera ele coleta os endereços (XAddrs), o nome e o modelo; observações repetidas da mesma câmera são mescladas.
Ao trabalhar através de NAT, os endereços que uma câmera informa sobre si mesma (URL de snapshot, URL de RTSP) são reescritos automaticamente para o endereço do dispositivo de fato alcançável.
Configuração da câmera por ONVIF¶
Depois de descobrir uma câmera, o Sapsan pode obter sua URL RTSP e configurar a própria câmera por ONVIF. Os parâmetros disponíveis dependem do modelo e das permissões da conta da câmera.
- Obtenha os perfis com
media/GetProfilese identifique o token da configuração do codificador. - Leia
media/GetVideoEncoderConfigurationse os valores permitidos commedia/GetVideoEncoderConfigurationOptions. - Altere os campos necessários da configuração completa e envie-a com
media/SetVideoEncoderConfiguration. Isso permite ajustar resolução e taxa de quadros, bitrate e GOP, além de um codec suportado pela câmera. - Leia novamente a configuração e verifique a entrada RTSP. A câmera pode reiniciar o codificador ao aplicar as mudanças.
Use POST /flussonic/api/onvif_call/{camera}/{service}/{method} na interface HTTP do Sapsan. {camera} é o nome do stream configurado cuja entrada fornece o endereço da câmera; no MBR, usa-se a primeira fonte aninhada. Exemplo de consulta de perfis:
curl --user admin -X POST \
'http://sapsan.example.com:5080/flussonic/api/onvif_call/camera1/media/GetProfiles' \
-H 'Content-Type: application/json' --data '{}'
A autorização no Sapsan e a conta da câmera são independentes. Por padrão, as credenciais da câmera vêm da URL de entrada e o ONVIF usa a porta 80. x-onvif-auth: user:password substitui as credenciais da câmera; x-onvif-port, sua porta ONVIF. O corpo JSON contém os argumentos do método ONVIF; chaves com $ representam atributos XML, como $token.
A configuração do stream pelo central controla a captura no Sapsan. SetVideoEncoderConfiguration altera a própria câmera. Para PTZ e outras operações, consulte controle ONVIF.