Depuración envolvente del número de secuencia RTP: rollover de 16 bits, pérdida falsa de paquetes, picos de fluctuación y transmisiones largas de cámara

Cómo depurar envoltura de números de secuencia RTP, reinversión de 16 bits, falsas alarmas de pérdida de paquetes, transmisiones de cámara RTSP de larga duración, picos de fluctuación y errores de seguimiento de secuencias.

número de secuencia rtp, wraparound, pérdida de paquetes, pico de nerviosismo, cámara rtsp, corriente larga, diagnóstico rtp

Los números de secuencia RTP son valores de 16 bits. Eventualmente pasan de 65535 a 0. Los usuarios buscan "cambio de número de secuencia RTP", "pérdida de paquetes falsos RTP", "pico de fluctuación RTSP después de un minuto", "cambio de secuencia RTP" y "alarma de pérdida de paquetes de transmisión de cámara incorrecta" cuando una transmisión de larga duración de repente parece perder miles de paquetes.

RTSP Inspector es útil porque se trata de un problema de contabilidad de encabezados de medios. La transmisión puede estar en buen estado, pero el analizador, la puerta de enlace o la lógica de monitoreo pueden tratar la transferencia como una pérdida.

Cómo se ve la envoltura

La progresión normal de la secuencia RTP cerca del rollover se ve así:

65533
65534
65535
0
1
2

That is not a gap. It is expected 16-bit rollover.

If a tool calculates 0 - 65535 as a huge negative jump or treats it as missing packets, it will report false loss.

Common symptoms

Wraparound bugs show up as:

  • Packet loss spikes at regular intervals.
  • Jitter graph jumps suddenly.
  • Recording marks a healthy stream as unstable.
  • RTP replay stops at sequence 65535.
  • Analyzer reports negative sequence delta.
  • Gateway resets statistics incorrectly.
  • Long streams fail while short tests pass.

This case matters because many test streams are too short to expose the bug.

How fast rollover happens

Rollover timing depends on packet rate. A high bitrate video stream with many RTP packets per second can wrap relatively often. Low bitrate audio wraps much later.

Factors:

  • Frame rate.
  • Resolution.
  • Bitrate.
  • Fragmentation.
  • MTU.
  • Codec.
  • Whether audio and video are analyzed separately.

If an H.264 keyframe is heavily fragmented, sequence numbers advance faster.

Loss vs rollover

A real loss near rollover is possible, so the analyzer must handle both cases.

Compare:

  • Expected next sequence modulo 65536.
  • Payload continuity.
  • RTP timestamp continuity.
  • Marker bit behavior.
  • SSRC continuity.
  • RTCP receiver reports.

If SSRC, timestamp, and payload cadence continue normally, rollover is likely benign.

SSRC changes are different

Do not confuse sequence wraparound with SSRC change. When SSRC changes, a new sequence space may start. When only sequence number wraps, the same stream identity continues.

Evidence:

  • Same SSRC before and after.
  • Same payload type.
  • Same clock rate.
  • Timestamp continues.
  • No RTCP BYE.
  • No RTSP reconnect.

That is sequence rollover, not source replacement.

Replay and archive bugs

Tools that archive RTP events can fail at wraparound if they sort by raw sequence number instead of extended sequence number.

Bad behavior:

  • Packets after zero are sorted before older packets.
  • Replay jumps backward.
  • Loss calculation resets incorrectly.
  • Exported evidence looks out of order.

RTSP Inspector should preserve raw sequence numbers but calculate continuity with rollover-aware logic.

Debug checklist

Use this process:

  1. Find the sequence boundary near 65535.
  2. Check next packets after zero.
  3. Confirm SSRC stays the same.
  4. Confirm payload type stays the same.
  5. Compare RTP timestamp deltas.
  6. Check marker bit around frame boundary.
  7. Check RTCP loss reports.
  8. Separate rollover from actual missing packets.
  9. Preserve packets before and after rollover.
  10. Test long enough streams, not only short samples.

Final diagnosis

RTP sequence wraparound is normal. False alarms happen when tools treat 16-bit rollover as packet loss or stream reset.

RTSP Inspector helps diagnose long-running camera streams by showing sequence continuity, SSRC continuity, timestamp behavior, and real packet-loss evidence across rollover.

<!-- rtsp-localized-evidence-foundation-v1:start -->

Evidencia reproducible para «Depuración envolvente del número de secuencia RTP: rollover de 16 bits, pérdida falsa de paquetes, picos de fluctuación y transmisiones largas de cámara»

La respuesta directa es que una avería de vídeo no se demuestra con una ventana negra ni con un solo código de estado. Un diagnóstico fiable conecta la petición y la respuesta RTSP, el transporte negociado, una sesión válida y después los números de secuencia RTP, las marcas de tiempo y las señales RTCP. Para «Depuración envolvente del número de secuencia RTP: rollover de 16 bits, pérdida falsa de paquetes, picos de fluctuación y transmisiones largas de cámara», empieza por la capa más cercana al síntoma visible, pero conserva una cronología común para no mezclar un fallo de control con uno de red o decodificación.

Antes de cambiar la cámara, el firewall o el VMS, crea una prueba base pequeña. Anota la URL RTSP sin contraseña, la hora, la ruta, el transporte solicitado, la respuesta del servidor y el instante del primer paquete multimedia. Prueba UDP y TCP interleaved por separado cuando el equipo ofrezca ambos. No cambies ruta, credenciales y transporte a la vez; si el segundo intento funciona, necesitas saber qué variable produjo la diferencia.

Capa Evidencia que se debe guardar Pregunta de decisión
RTSP método, estado, cabeceras, CSeq y Session ¿El servidor aceptó exactamente la operación?
SDP control, payload type, clock rate y codec ¿El servidor describió la pista esperada?
Transport client_port, server_port o interleaved ¿Ambos extremos usan el mismo canal?
RTP SSRC, secuencia, timestamp y marker ¿Las unidades llegan en un orden explicable?
RTCP sender report, CNAME y BYE ¿Se pueden relacionar reloj, identidad y final?
Decoder SPS/PPS/VPS y packetization mode ¿El payload recibido permite iniciar el decoder?

Separa «no llega multimedia» de «llega multimedia que no se puede decodificar». Si no aparece RTP después de SETUP y PLAY correctos, revisa UDP, NAT, firewall y una respuesta Transport distinta de la oferta. RTP con huecos de secuencia prueba pérdida o reordenación. Una secuencia continua sin imagen desplaza la investigación hacia payload type, clock rate, límites de cuadro y parámetros H.264 o H.265. Esta frontera es más útil que el mensaje general del reproductor.

¿Cómo se redacta una respuesta que pueda citarse?

Usa tres frases: última operación correcta, primera evidencia que falla y siguiente prueba que separa dos causas. Ejemplo: «DESCRIBE, SETUP y PLAY terminan correctamente; no llega RTP a los puertos anunciados por el cliente; repetir por TCP interleaved separará el bloqueo UDP de una ruta multimedia incorrecta». No atribuyas el fallo a la cámara o a la red sin una respuesta o un paquete que marque ese límite.

¿Qué hace reproducible el caso?

Guarda OPTIONS, DESCRIBE, SETUP y PLAY, el SDP, la respuesta Transport y el identificador Session saneado. Para RTP registra SSRC, primer y último número de secuencia, clock rate, huecos y duración. Indica si VLC u otro VMS funciona, pero úsalo como comparación controlada, no como prueba de que el cliente exitoso interpreta todas las reglas de forma correcta.

¿Cuándo se investiga el servidor y cuándo el cliente?

Mira el servidor si rechaza un método, entrega un control URL inexistente, responde con un transporte incompatible o cambia SSRC o reloj sin transición. Mira el cliente si reutiliza un nonce caducado, pierde Session, solicita UDP sin abrir los puertos o interpreta cada final NAL como final de access unit. Si el límite está entre ambos, conserva paquete y hora en cada afirmación.

¿Cómo se revisa el informe?

Repite desde una conexión nueva y compara las dos cronologías solo hasta la primera diferencia. Elimina contraseñas y valores Authorization completos. Relaciona cada conclusión con CSeq, secuencia o timestamp. Continúa con la guía RTSP relacionada y usa RTSP Inspector para probar un stream RTSP y recoger evidencia de forma local, sin subir el vídeo de la cámara a un servicio público.

<!-- rtsp-localized-evidence-foundation-v1:end --><!-- multilingual-blog-closeout:start -->

Respuesta directa y límite de aceptación

La respuesta breve a «Depuración envolvente del número de secuencia RTP: rollover de 16 bits, pérdida falsa de paquetes, picos de fluctuación y transmisiones largas de cámara» es: Cómo depurar envoltura de números de secuencia RTP, reinversión de 16 bits, falsas alarmas de pérdida de paquetes, transmisiones de cámara RTSP de larga duración, picos de fluctuación y errores de seguimiento de secuencias. Trate esa frase como un resultado que debe comprobarse, no como una promesa para cualquier entrada, dispositivo, proyecto o entorno. Un resultado completo registra estado inicial, acción exacta, salida visible y condición que demuestra que la tarea terminó en RTSP Inspector.

Procedimiento basado en evidencia

Empiece con un caso pequeño y repetible antes de cambiar un proyecto completo. Anote versión de la aplicación, sistema operativo, identidad de entrada o dispositivo, ajustes relevantes y resultado esperado. Ejecute una acción deliberada, conserve la primera transición inesperada y compárela con un caso conocido cuando exista. Cambiar varios controles a la vez oculta qué condición creó o corrigió el problema.

Punto de control 1: Depuración envolvente del número de secuencia RTP: rollover de 16 bits, pérdida falsa de p

Cierre «Depuración envolvente del número de secuencia RTP: rollover de 16 bits, pérdida falsa de paquetes, picos de fluctuación y transmisiones largas de cáma» solo cuando el resultado guardado, exportado o reabierto conserve el estado observado. La respuesta temporal de la interfaz orienta, pero la evidencia duradera es más fuerte. Documente cualquier límite pendiente para quien continúe.

Punto de control 2: Cómo depurar envoltura de números de secuencia RTP, reinversión de 16 bits, falsas alarmas

Para «Cómo depurar envoltura de números de secuencia RTP, reinversión de 16 bits, falsas alarmas de pérdida de paquetes, transmisiones de cámara RTSP de lar», separe una decisión del producto de un límite del sistema, hardware, archivo fuente, permiso o proceso. Confirme qué capa produjo la evidencia antes de atribuir una causa. Así evita convertir un síntoma cercano en una causa raíz supuestamente probada.

Punto de control 3: Cómo se ve la envoltura

Cierre «Cómo se ve la envoltura» solo cuando el resultado guardado, exportado o reabierto conserve el estado observado. La respuesta temporal de la interfaz orienta, pero la evidencia duradera es más fuerte. Documente cualquier límite pendiente para quien continúe.

Punto de control 4: Common symptoms

Para «Common symptoms», separe una decisión del producto de un límite del sistema, hardware, archivo fuente, permiso o proceso. Confirme qué capa produjo la evidencia antes de atribuir una causa. Así evita convertir un síntoma cercano en una causa raíz supuestamente probada.

Punto de control 5: How fast rollover happens

Cierre «How fast rollover happens» solo cuando el resultado guardado, exportado o reabierto conserve el estado observado. La respuesta temporal de la interfaz orienta, pero la evidencia duradera es más fuerte. Documente cualquier límite pendiente para quien continúe.

Punto de control 6: Loss vs rollover

Para «Loss vs rollover», separe una decisión del producto de un límite del sistema, hardware, archivo fuente, permiso o proceso. Confirme qué capa produjo la evidencia antes de atribuir una causa. Así evita convertir un síntoma cercano en una causa raíz supuestamente probada.

Punto de control 7: SSRC changes are different

Cierre «SSRC changes are different» solo cuando el resultado guardado, exportado o reabierto conserve el estado observado. La respuesta temporal de la interfaz orienta, pero la evidencia duradera es más fuerte. Documente cualquier límite pendiente para quien continúe.

Punto de control 8: Replay and archive bugs

Para «Replay and archive bugs», separe una decisión del producto de un límite del sistema, hardware, archivo fuente, permiso o proceso. Confirme qué capa produjo la evidencia antes de atribuir una causa. Así evita convertir un síntoma cercano en una causa raíz supuestamente probada.

Punto de control 9: Debug checklist

Cierre «Debug checklist» solo cuando el resultado guardado, exportado o reabierto conserve el estado observado. La respuesta temporal de la interfaz orienta, pero la evidencia duradera es más fuerte. Documente cualquier límite pendiente para quien continúe.

Punto de control 10: Final diagnosis

Para «Final diagnosis», separe una decisión del producto de un límite del sistema, hardware, archivo fuente, permiso o proceso. Confirme qué capa produjo la evidencia antes de atribuir una causa. Así evita convertir un síntoma cercano en una causa raíz supuestamente probada.

Matriz de aceptación

Punto Evidencia que conservar Condición de aprobado
Depuración envolvente del número de secuencia RTP: rollover de 16 bits, pérdida falsa de paquetes, picos de fluctuación Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
Cómo depurar envoltura de números de secuencia RTP, reinversión de 16 bits, falsas alarmas de pérdida de paquetes, trans Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
Cómo se ve la envoltura Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
Common symptoms Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
How fast rollover happens Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado
Loss vs rollover Estado inicial, una acción y estado resultante Otra persona reproduce el resultado declarado

Aislamiento, recuperación y entrega

Deténgase en el primer límite que falla. Conserve fuente, proyecto, sesión o captura, duplíquelo antes de una edición destructiva y cambie una variable por experimento. Repetir un flujo amplio después de varios cambios puede dar otro resultado sin explicar la causa.

Separe ausencia de evidencia de evidencia de ausencia. Una vista vacía puede indicar entrada, alcance, filtro, permiso, dispositivo, intervalo o estado equivocado. Verifique adquisición o importación antes de interpretar el decoder, editor, informe o exportación.

Antes de entregar, reabra el artefacto y revise inicio, punto de decisión y final. Registre versión, plataforma, configuración, expectativa, observación y reproducción mínima. Elimine o redacte datos sensibles y confirme que el destinatario está autorizado.

Preguntas y respuestas

¿Cuál es la forma fiable más rápida de empezar?

Use el caso representativo más pequeño, escriba el resultado esperado y cambie una variable. Confirme el recorrido básico antes de añadir filtros, efectos, ediciones, automatización o una fuente mayor.

¿Qué evidencia debe guardarse?

Conserve identidad de entrada, versión, plataforma, ajustes, acción exacta, primera transición inesperada y salida final. Cierre y reabra cualquier proyecto, sesión, informe o exportación antes de considerarlo duradero.

¿Cuándo debe repetirse el procedimiento?

Repítalo después de cambios relevantes en aplicación, sistema, driver, firmware, modelo, fuente o flujo. Preserve el caso aceptado anterior como referencia sin modificar.

¿Cuándo está listo para entregar?

Cuando otra persona autorizada identifica la entrada, repite la acción, obtiene el mismo resultado, entiende los límites restantes y abre el artefacto sin depender de estado local no documentado.

Guías relacionadas

Estas páginas en el mismo idioma cubren etapas contiguas sin cambiar el propietario canónico del tema:

<!-- multilingual-blog-closeout:end -->