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.
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:
- Find the sequence boundary near
65535. - Check next packets after zero.
- Confirm SSRC stays the same.
- Confirm payload type stays the same.
- Compare RTP timestamp deltas.
- Check marker bit around frame boundary.
- Check RTCP loss reports.
- Separate rollover from actual missing packets.
- Preserve packets before and after rollover.
- 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:
- Error de RTP en la solución de transmisión principal: diagnosticar pérdida de paquetes, congelaciones de cámara y macrobloques en RTSP
- Informes del remitente RTCP, fluctuaciones y pérdida de paquetes: lectura del estado de la transmisión sin mirar el vídeo
- Cómo solucionar errores RTP/NDPI de 'escritura desconocida': tipo de carga útil dinámica y asignación de SDP en transmisiones RTSP