Captura por RTSP¶
Sapsan puxa o vídeo de câmeras IP e de outras fontes RTSP em modo cliente (pull).
Configuração¶
streams:
- name: cam1
inputs:
- rtsp:
url: rtsp://admin:password@10.0.0.5:554/stream0
peer_timeout_ms: 5000
| Parâmetro | Descrição |
|---|---|
url |
endereço da câmera; login e senha vão na URL |
peer_timeout_ms |
tempo limite de inatividade da fonte, após o qual a entrada é considerada caída |
via_agent |
captura por um agente Peeklio (agent://ID) quando a câmera está atrás de um NAT — veja o gateway Peeklio |
Autenticação¶
Basic e Digest são suportados (com reversão automática para Basic quando a câmera recusa Digest). As credenciais vêm da URL e não são enviadas em claro para a câmera quando se usa Digest.
Codecs e transporte¶
O transporte é RTP/AVP/TCP (interleaved), robusto diante de NAT e firewalls. São decodificados: vídeo H264, HEVC, VP8, MJPEG; áudio AAC, G.711 (PCMA/PCMU), Opus, MPEG-4; metadados ONVIF (eventos da câmera) direto do stream RTP. O transbordamento e o recuo dos timestamps RTP são tratados.
O parser SDP foi testado a fundo com câmeras reais: Axis, Hikvision, Dahua, Bosch, Panasonic, Uniview, Beward e outras — incluindo câmeras com SDP malformado (PPS ausente, SEI quebrado).
Note
O áudio G.711 não toca por HLS — adicione um transcodificador que recodifique o áudio para AAC.
Aplicação das mudanças¶
A troca de url ou via_agent reinicia a fonte; a troca apenas de peer_timeout_ms é aplicada em tempo real.
Verificação¶
Abra http://server/streaming/v/cam1/index.m3u8 em um reprodutor ou peça uma captura de tela em http://server/streaming/live-preview-jpeg/cam1.