Skip to content

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.

O que vem a seguir