Diagnóstico de transmisión de cámara RTSP: un flujo de trabajo sistemático para la resolución de problemas desde DESCRIBE hasta la reproducción
Los problemas de la cámara RTSP generalmente siguen un patrón: la capa de conexión, la capa de control o la capa de medios. Este flujo de trabajo de diagnóstico muestra qué evidencia recopilar, qué etapa del protocolo está fallando y cómo leer SDP, RTP y RTCP para identificar la falla exacta.
Los fallos de la cámara RTSP no necesitan conjeturas. El protocolo tiene capas: "conexión (TCP/TLS), control (DESCRIBE/SETUP/PLAY) y medios (RTP/RTCP). Cuando la corriente se rompe, una de estas capas es el problema. Tu trabajo es encontrar cuál."
El modelo de tres capas
Cada problema RTSP se divide en uno de tres grupos. Comience aquí antes de profundizar en códigos de error específicos:
Capa 1: Conexión: ¿Puede el cliente llegar a la cámara? Protocolo de enlace TCP, negociación TLS, filtrado de puertos, enrutamiento VPN. Si telnet camera-ip 554 no se conecta, nada más importa.
Capa 2 — Control: La conexión funciona, pero los comandos RTSP fallan. DESCRIBIR devuelve 400/404/401. SETUP devuelve 461. PLAY devuelve 453. El plano de control tiene problemas a nivel de protocolo: formato de URL, autenticación, negociación de transporte, gestión de sesiones.
Capa 3 - Medios: El control funciona perfectamente, pero el vídeo/audio no funciona. Los paquetes RTP llegan pero no se pueden decodificar. Las marcas de tiempo se desvían. Los marcos están corruptos. RTCP informa pérdida. El plano de medios tiene problemas con la carga útil, el códec o la calidad de la red.
Mesa de triaje rápido
| Symptom | Capa probable | comprobar primero |
|---|---|---|
| "Conexión rechazada" | Capa 1 | ¿Puerto 554 accesible? ¿Bloqueo de firewall? |
| 400 Solicitud incorrecta en DESCRIBIR | Capa 2 | Formato de URL RTSP, codificación, encabezados proxy |
| 401 No autorizado | Capa 2 | Parámetros de autenticación de resumen, nombre de usuario/contraseña |
| 461 Transporte no compatible | Capa 2 | Transporte UDP vs TCP, encabezado SETUP |
| DESCRIBE OK, CONFIGURACIÓN OK, no hay vídeo | Capa 3 | Tipo de carga útil RTP, mapeo de códec |
| El vídeo se reproduce y luego se congela. | Capa 3 | Pérdida de paquetes, mantenimiento de actividad, tiempo de espera de sesión |
| El audio y el vídeo se separan | Capa 3 | Marca de tiempo RTP, discrepancia en la frecuencia del reloj |
La evidencia que debes recolectar
Antes de diagnosticar cualquier problema RTSP, capture estas cinco pruebas:
- La respuesta DESCRIBIR completa: SDP le indica qué pistas existen, qué códecs están en uso y qué tipos de carga útil están asignados.
- La solicitud y respuesta de CONFIGURACIÓN: el encabezado de transporte muestra UDP frente a TCP, puertos de cliente e ID de canales entrelazados.
- La respuesta PLAY: confirma que la sesión está activa y que el RTP fluye.
- Muestras de paquetes RTP: byte de tipo de carga útil, números de secuencia, marcas de tiempo, SSRC.
- Informes de remitente/receptor RTCP: recuentos de pérdida de paquetes, fluctuaciones y retrasos entre llegadas.
Sin estos, estás adivinando. Con ellos, el fracaso suele ser evidente.
Guías detalladas por error
- Solicitud incorrecta de RTSP 400: DESCRIBE fallida, URL con formato incorrecto
- Transporte RTSP 461 no compatible: Error de configuración
- Fragmentación H.264 FU-A: pérdida de paquetes RTP y reensamblaje NAL
- No coincide el tipo de carga dinámica RTP: SDP y asignación de códec
- RTSP UDP RTP bloqueado: cortafuegos, NAT y VPN
- Deriva de marca de tiempo RTP: frecuencia de reloj y sincronización de audio/vídeo
- Tiempo de espera de sesión RTSP y Keepalive
- Informes del remitente RTCP: análisis de fluctuación y pérdida de paquetes
Cuando escalar
Si las tres capas funcionan (TCP se conecta, los comandos RTSP se ejecutan correctamente, los paquetes RTP llegan con los tipos de carga correctos y marcas de tiempo estables) pero el vídeo aún se ve mal, el problema probablemente esté en el decodificador o en la capa de aplicación, no en el transporte RTSP. En ese punto, capture un PCAP breve, exporte unos segundos de RTP y entréguelo al equipo de descodificación.