RTSP¶
media.ingest.rtsp
Descripción¶
Sapsan toma el video de cámaras IP y de otras fuentes RTSP en modo cliente (pull).
Configuración¶
Configure el stream mediante la API de central. Fragmento de configuración:
streams:
- name: cam1
inputs:
- rtsp:
url: rtsp://admin:password@10.0.0.5:554/stream0
peer_timeout_ms: 5000
Parámetros¶
| Parámetro | Descripción |
|---|---|
url |
dirección de la cámara; el usuario y la contraseña van en la URL |
peer_timeout_ms |
tiempo de espera de inactividad de la fuente, tras el cual la entrada se considera caída |
via_agent |
captura a través de un agente Peeklio (agent://ID) cuando la cámara está tras un NAT — vea la pasarela Peeklio |
Autenticación¶
Se soportan Basic y Digest (con repliegue automático a Basic cuando la cámara rechaza Digest). Las credenciales se toman de la URL y no viajan en claro hacia la cámara cuando se usa Digest.
Opciones de transporte¶
RTP/AVP/TCP (interleaved): los medios viajan dentro de la conexión TCP RTSP.
Códecs admitidos¶
El SDP de la fuente identifica el códec, pero la captura también depende del empaquetado de los fotogramas en RTP. Los siguientes formatos disponen de procesamiento específico de la carga útil:
| Códec | Nombre en SDP / RTP | Condiciones de captura |
|---|---|---|
| H.264 | H264 |
Reconstrucción de NAL individuales, paquetes de agregación STAP-A y fragmentos FU-A |
| HEVC / H.265 | H265, HEVC |
Reconstrucción de NAL individuales y fragmentos FU; esta entrada no desempaqueta los paquetes de agregación AP |
| AV1 | AV1 |
Reconstrucción de unidades temporales a partir de paquetes RTP; la configuración llega en la cabecera de secuencia del stream |
| AAC | MPEG4-GENERIC |
Empaquetado AAC-hbr con cabeceras AU; parámetros del códec en config del SDP |
| AAC en LATM | MP4A-LATM |
cpresent=0, con StreamMuxConfig en config del SDP; el empaquetado LATM se elimina durante la captura |
| G.711 A-law | PCMA |
Incluido el tipo de carga útil RTP estático 8 |
| G.711 μ-law | PCMU |
Incluido el tipo de carga útil RTP estático 0 |
Aquí, MPEG4-GENERIC y MP4A-LATM designan formas de transportar AAC por RTP, no dos códecs de audio adicionales. Por eso no se incluye «MPEG-4 Audio» como entrada independiente junto a AAC. Los formatos se especifican en RFC 3640 y RFC 6416.
Las demás pistas reconocidas usan un modo limitado: las cargas útiles se concatenan hasta el bit marker de RTP, sin analizar las cabeceras RTP específicas del códec. Esto se aplica a los siguientes nombres SDP:
- Opus:
opus. - JPEG / MJPEG:
JPEG. - VP9:
VP9. - PCM lineal:
L16. - MPEG Audio:
MPAyMP3. - Vídeo sin comprimir:
raw.
La compatibilidad depende del empaquetado de la fuente y del uso del bit marker. Reconocer un nombre SDP no garantiza la captura correcta de la paquetización RTP estándar de estos formatos. La entrada RTSP no reconoce VP8, por lo que no figura entre los códecs admitidos.
Comportamiento ante errores¶
El estado de la entrada y la causa del fallo están en las estadísticas del stream. Ante desconexión o ausencia de fotogramas se aplican los mecanismos de reintento y conmutación a reserva.
Aplicación de cambios¶
El cambio de url o via_agent reinicia la fuente; el cambio de solo peer_timeout_ms se aplica en caliente.
Contadores¶
Las tablas indican los nombres exactos de los campos de estadísticas del protocolo, incluidos contadores de eventos e indicadores del valor actual. Los campos nulos pueden omitirse. API y Prometheus exponen proyecciones distintas; un único resultado de Admin API no incluye necesariamente toda la lista. El detalle depende de la licencia de contadores.
Totales comunes de entrada: bytes, frames, errors, warnings. Agregan datos del protocolo; no deben sumarse otra vez a los contadores del protocolo.
Rtsp¶
| Campo | Tipo |
|---|---|
bytes |
counter |
reads |
counter |
frames |
counter |
errors |
counter |
warnings |
counter |
broken_interleaved |
counter |
desync |
counter |
memory_bytes |
gauge |
RtpChannel¶
| Campo | Tipo |
|---|---|
channel_id |
label |
rtp_packets |
counter |
rtcp_packets |
counter |
bytes |
counter |
frames |
counter |
pt_reject_count |
counter |
pt_reject_bytes |
counter |
ts_goes_backwards |
counter |
ts_jump_forward |
counter |
ts_stuck |
counter |
errors_dts_stuck |
counter |
sr_ts_stuck |
counter |
ts_stuck_restarts |
counter |
resync_sr |
counter |
marker_packets_count |
counter |
no_marker_mode_flag |
gauge |
errors_broken_payload |
counter |
errors_lost_packets |
counter |
errors_dropped_packets |
counter |
errors_late_packets |
counter |
errors_incomplete_frames |
counter |
nack_count |
counter |
onvif_buffer_overflow |
counter |
onvif_seq_gap |
counter |
onvif_marker_mismatch |
counter |
onvif_resync_dropped |
counter |
Otros detalles¶
Verificación¶
Abra http://server/streaming/v/cam1/index.m3u8 en un reproductor o solicite una captura de pantalla en http://server/streaming/live-preview-jpeg/cam1.