RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador

Como diagnosticar alterações RTP SSRC em fluxos de câmera RTSP, redefinições de número de sequência, descontinuidade de carimbo de data/hora, reinicializações do codificador de câmera, fluxos de failover e falhas de decodificador.

mudança rtp ssrc, fluxo de câmera rtsp, redefinição do número de sequência, descontinuidade do carimbo de data/hora, diagnóstico RTP, reinicialização da câmera, falha no decodificador

RTP SSRC identifica a fonte de sincronização de um fluxo RTP. Quando ele muda no meio de uma sessão RTSP, os usuários podem ver congelamentos, quadros pretos, dessincronização de áudio/vídeo, vídeo corrompido, alarmes de perda de pacotes ou redefinição repentina do decodificador. As frases de pesquisa incluem "RTP SSRC alterado", "O fluxo RTSP congela após a reinicialização da câmera", "Redefinição do número de sequência RTP", "Descontinuidade do carimbo de data/hora RTP" e "Fonte do fluxo da câmera alterada no meio do fluxo".

O RTSP Inspector é útil porque esta não é uma pergunta normal do jogador. A principal evidência reside em cabeçalhos de pacotes RTP, relatórios de remetentes RTCP, metadados de rastreamento SDP, números de sequência e carimbos de data/hora.

O que significa SSRC

No RTP, cada fonte de mídia possui um valor SSRC. Uma trilha de vídeo e uma trilha de áudio geralmente possuem valores SSRC diferentes. O receptor usa SSRC junto com tipo de carga útil, número de sequência, carimbo de data/hora e relatórios RTCP para manter a continuidade do fluxo.

Se o SSRC mudar, o receptor deverá decidir se isto é:

  • Uma nova fonte legítima de sincronização.
  • Uma reinicialização do codificador da câmera.
  • Um failover para outro codificador.
  • Um bug de firmware.
  • Um problema de reescrita de NAT/proxy.
  • Um novo fluxo mixado incorretamente na mesma sessão.

Tratar todas as alterações do SSRC como perda de pacotes é enganoso.

Sintomas comuns

Uma alteração no SSRC pode produzir vários sintomas visíveis:

  • O vídeo congela por alguns segundos.
  • O decodificador mostra "unidade NAL inválida" ou "quadro de referência ausente".
  • A reprodução continua, mas a latência aumenta.
  • Áudio e vídeo se distanciam.
  • O cliente registra perda repentina de pacotes.
  • Picos de jitter RTCP.
  • Os números de sequência são reiniciados a partir de um valor pequeno.
  • O carimbo de data/hora RTP salta para trás ou para frente.

A questão importante é se a identidade da mídia mudou ao mesmo tempo que a sequência e a continuidade do carimbo de data/hora.

Reinicialização da câmera ou reinicialização do codificador

Muitas câmeras IP reiniciam o pipeline do codificador sem fechar a conexão TCP RTSP. A sessão de controle ainda pode parecer ativa, mas o RTP muda abaixo dela.

Evidência:

  • O mesmo ID de sessão RTSP continua.
  • Mudanças no RTP SSRC.
  • O número de sequência RTP é reiniciado.
  • O carimbo de data/hora RTP reinicia ou salta.
  • Mapeamento de alterações do relatório do remetente RTCP.
  • O quadro-chave aparece logo após a reinicialização ou o decodificador aguarda até o próximo quadro IDR.

Se o fluxo se recuperar após o próximo quadro-chave, o problema poderá ser a reinicialização do codificador em vez da perda de pacotes de rede.

Fontes de mídia com failover e balanceamento de carga

Alguns sistemas retransmitem fluxos RTSP através de um gateway. Se o gateway alternar câmeras upstream, pipelines de gravação ou trabalhadores transcodificadores, o receptor poderá ver um novo SSRC.

Isso pode acontecer com:

  • Retransmissão NVR.
  • Pontes de câmeras em nuvem.
  • Failover de proxy RTSP.
  • Firmware da câmera multi-codificador.
  • Servidores de fluxo redundantes.
  • Balanceadores de carga que não preservam a afinidade de mídia.

Se as alterações do SSRC estiverem correlacionadas ao failover de back-end, a correção poderá pertencer à camada de retransmissão.

Redefinição do número de sequência

Os números de sequência RTP são de 16 bits e normalmente aumentam um para cada pacote no mesmo fluxo. Pode ser esperada uma redefinição no mesmo momento da mudança do SSRC. Uma redefinição sem alteração do SSRC é mais suspeita.

Comparações úteis:

  • Intervalo de sequência SSRC antigo.
  • Novo primeiro número de sequência do SSRC.
  • Tipo de carga útil antes e depois.
  • Carimbo de data e hora antes e depois.
  • Comportamento do bit marcador próximo ao limite.
  • Se um quadro-chave aparece após a redefinição.

Essa distinção é importante para o SEO porque muitas pessoas procuram por “redefinição do número de sequência RTP” e presumem a perda de pacotes, enquanto a causa real é a substituição da fonte.

Descontinuidade do carimbo de data/hora

Os carimbos de data/hora RTP seguem o relógio da mídia. Para vídeo, geralmente é 90 kHz. Se o carimbo de data/hora retroceder, um receptor poderá descartar quadros ou reordená-los incorretamente. Se avançar muito, o comportamento do buffer de jitter poderá mudar.

Quando o SSRC muda, a descontinuidade do carimbo de data/hora pode ser aceitável se o receptor a tratar como uma nova fonte. Quando o SSRC não muda, a descontinuidade do carimbo de data/hora geralmente indica um relógio do remetente quebrado.

O Inspetor RTSP deve mostrar claramente o limite do carimbo de data/hora:

old SSRC: sequence 43120, timestamp 88210000
new SSRC: sequence 210, timestamp 3000

That kind of evidence is more useful than a player screenshot.

RTCP sender report changes

RTCP sender reports map RTP timestamps to wall-clock time. If SSRC changes, the receiver should watch for new RTCP sender reports.

Questions to answer:

  • Does the new SSRC send RTCP SR?
  • Does the old SSRC send RTCP BYE?
  • Does the camera announce source shutdown?
  • Is jitter calculated per SSRC or across the boundary?
  • Does packet loss accounting reset correctly?

If a tool merges statistics across SSRC changes, it may show false loss, false jitter, or false bitrate dips.

Decoder behavior

Even when RTP is valid, decoders need a clean frame boundary. For H.264 and H.265, recovery may require SPS/PPS/VPS and an IDR frame.

After an SSRC change, check:

  • Does the next access unit include a keyframe?
  • Are SPS and PPS repeated?
  • Does the SDP still match the actual stream?
  • Does payload type stay the same?
  • Does fragmentation restart in the middle of a frame?

If the new source starts with P-frames only, the receiver may show black video until the next keyframe.

Debug checklist

Use this workflow:

  1. Identify all SSRC values per RTP track.
  2. Locate the exact packet where SSRC changes.
  3. Compare sequence numbers before and after.
  4. Compare RTP timestamps before and after.
  5. Check RTCP BYE and sender reports.
  6. Check whether RTSP session ID changed.
  7. Check whether payload type changed.
  8. Look for keyframe or codec config after the boundary.
  9. Separate source restart from network loss.
  10. Export the boundary packets for firmware or gateway debugging.

Final diagnosis

An RTP SSRC change is not automatically a network problem. It can reveal camera encoder restart, RTSP relay failover, timestamp reset, media source replacement, or decoder recovery delay.

RTSP Inspector helps by showing the media evidence that players hide: SSRC, sequence number, timestamp, RTCP behavior, keyframe recovery, and the exact packet where the stream identity changed.

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

Evidência reproduzível para “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador”

A resposta direta é que uma tela preta ou um único código não prova a origem da falha. Um diagnóstico confiável liga pedido e resposta RTSP, transporte negociado, sessão válida e depois números de sequência RTP, timestamps e sinais RTCP. Em “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador”, comece pela camada mais próxima do sintoma, mas mantenha uma cronologia comum para não confundir controle, rede e decodificação.

Antes de alterar câmera, firewall ou VMS, crie um teste de referência pequeno. Registre URL RTSP sem senha, horário, caminho, Transport solicitado, resposta do servidor e chegada do primeiro pacote de mídia. Teste UDP e TCP interleaved separadamente quando disponíveis. Não mude caminho, credenciais e transporte juntos; caso a segunda tentativa funcione, será necessário identificar a variável decisiva.

Camada Evidência a preservar Pergunta
RTSP método, estado, cabeçalhos, CSeq e Session O servidor aceitou exatamente a operação?
SDP control, payload type, clock rate e codec A faixa esperada foi descrita?
Transport client_port, server_port ou interleaved Os dois lados usam o mesmo canal?
RTP SSRC, sequência, timestamp e marker As unidades chegam em ordem explicável?
RTCP sender report, CNAME e BYE Relógio, identidade e fim são rastreáveis?
Decoder SPS/PPS/VPS e packetization mode O payload recebido inicializa o decoder?

Separe “nenhuma mídia chegou” de “a mídia chegou, mas não decodifica”. Se RTP falta depois de SETUP e PLAY bem-sucedidos, verifique UDP, NAT, firewall e resposta Transport. Lacunas de sequência provam perda ou reordenação. Uma sequência contínua sem imagem desloca a investigação para payload type, clock rate, limites de frame e parâmetros H.264 ou H.265. Essa fronteira é mais útil que a mensagem genérica do player.

Como escrever uma resposta citável?

Use três frases: última operação bem-sucedida, primeira evidência com falha e próximo teste que separa duas causas. Exemplo: “DESCRIBE, SETUP e PLAY funcionam; nenhum RTP chega às portas anunciadas; um teste TCP interleaved separará bloqueio UDP de caminho de mídia errado”. Não atribua a falha à câmera ou rede sem resposta ou pacote que demonstre o limite.

Quais dados tornam o caso reproduzível?

Preserve OPTIONS, DESCRIBE, SETUP e PLAY, SDP, resposta Transport e Session sem segredos. Para RTP registre SSRC, primeira e última sequência, clock rate, lacunas e duração. Informe se VLC ou outro VMS funciona, mas trate isso como comparação controlada, não como prova de que o cliente bem-sucedido interpreta corretamente todas as regras.

Quando examinar servidor ou cliente?

Examine o servidor quando recusar método, fornecer control URL ausente, responder com transporte incompatível ou mudar SSRC ou relógio sem transição. Examine o cliente quando reutilizar nonce vencido, perder Session, solicitar UDP sem abrir portas ou tratar todo fim de NAL como fim de access unit. Se o problema estiver entre os dois, pacote e horário devem acompanhar cada conclusão.

Como revisar o relatório?

Repita a partir de uma conexão nova e compare as cronologias até a primeira diferença. Remova senhas e valores Authorization completos. Ligue cada conclusão a CSeq, sequência ou timestamp. Siga o guia RTSP relacionado e use RTSP Inspector para testar um stream RTSP e coletar evidências localmente, sem enviar o vídeo para um serviço público.

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

Resposta direta e limite de aceitação

A resposta curta para “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador” é: Como diagnosticar alterações RTP SSRC em fluxos de câmera RTSP, redefinições de número de sequência, descontinuidade de carimbo de data/hora, reinicializações do codificador de câmera, fluxos de failover e falhas de decodificador. Trate essa frase como um resultado a verificar, não como promessa para qualquer entrada, dispositivo, projeto ou ambiente. Um resultado completo registra estado inicial, ação exata, saída visível e condição que comprova a conclusão da tarefa no RTSP Inspector.

Procedimento orientado por evidências

Comece com um caso pequeno e repetível antes de alterar um projeto completo. Registre versão do aplicativo, sistema operacional, identidade da entrada ou dispositivo, configurações relevantes e resultado esperado. Execute uma ação deliberada, preserve a primeira transição inesperada e compare com um caso conhecido quando possível. Alterar vários controles ao mesmo tempo esconde qual condição criou ou corrigiu o problema.

Ponto de controle 1: RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte d

Trate “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificado” como uma etapa de aceitação separada para “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador”. Registre o estado antes da ação, a primeira mudança visível e o estado final. Se o resultado divergir do objetivo descrito, volte ao último ponto confirmado em vez de continuar com suposições.

Ponto de controle 2: Como diagnosticar alterações RTP SSRC em fluxos de câmera RTSP, redefinições de número de

Converta “Como diagnosticar alterações RTP SSRC em fluxos de câmera RTSP, redefinições de número de sequência, descontinuidade de carimbo de data/hora, reinicia” em uma declaração reproduzível de aprovação ou falha. Inclua o que deve aparecer, o que deve estar ausente e qual recuperação é segura. Preserve o projeto ou captura original até a cópia corrigida passar pelo mesmo teste.

Ponto de controle 3: O que significa SSRC

Trate “O que significa SSRC” como uma etapa de aceitação separada para “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador”. Registre o estado antes da ação, a primeira mudança visível e o estado final. Se o resultado divergir do objetivo descrito, volte ao último ponto confirmado em vez de continuar com suposições.

Ponto de controle 4: Sintomas comuns

Converta “Sintomas comuns” em uma declaração reproduzível de aprovação ou falha. Inclua o que deve aparecer, o que deve estar ausente e qual recuperação é segura. Preserve o projeto ou captura original até a cópia corrigida passar pelo mesmo teste.

Ponto de controle 5: Reinicialização da câmera ou reinicialização do codificador

Trate “Reinicialização da câmera ou reinicialização do codificador” como uma etapa de aceitação separada para “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador”. Registre o estado antes da ação, a primeira mudança visível e o estado final. Se o resultado divergir do objetivo descrito, volte ao último ponto confirmado em vez de continuar com suposições.

Ponto de controle 6: Fontes de mídia com failover e balanceamento de carga

Converta “Fontes de mídia com failover e balanceamento de carga” em uma declaração reproduzível de aprovação ou falha. Inclua o que deve aparecer, o que deve estar ausente e qual recuperação é segura. Preserve o projeto ou captura original até a cópia corrigida passar pelo mesmo teste.

Ponto de controle 7: Redefinição do número de sequência

Trate “Redefinição do número de sequência” como uma etapa de aceitação separada para “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador”. Registre o estado antes da ação, a primeira mudança visível e o estado final. Se o resultado divergir do objetivo descrito, volte ao último ponto confirmado em vez de continuar com suposições.

Ponto de controle 8: Descontinuidade do carimbo de data/hora

Converta “Descontinuidade do carimbo de data/hora” em uma declaração reproduzível de aprovação ou falha. Inclua o que deve aparecer, o que deve estar ausente e qual recuperação é segura. Preserve o projeto ou captura original até a cópia corrigida passar pelo mesmo teste.

Ponto de controle 9: RTCP sender report changes

Trate “RTCP sender report changes” como uma etapa de aceitação separada para “RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequência e falhas de decodificador”. Registre o estado antes da ação, a primeira mudança visível e o estado final. Se o resultado divergir do objetivo descrito, volte ao último ponto confirmado em vez de continuar com suposições.

Ponto de controle 10: Decoder behavior

Converta “Decoder behavior” em uma declaração reproduzível de aprovação ou falha. Inclua o que deve aparecer, o que deve estar ausente e qual recuperação é segura. Preserve o projeto ou captura original até a cópia corrigida passar pelo mesmo teste.

Matriz de aceitação

Ponto Evidência a manter Condição de aprovação
RTP SSRC Change Mid-Stream: depuração de reinicializações de câmera, alterações de fonte de stream, redefinições de sequ Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Como diagnosticar alterações RTP SSRC em fluxos de câmera RTSP, redefinições de número de sequência, descontinuidade de Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
O que significa SSRC Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Sintomas comuns Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Reinicialização da câmera ou reinicialização do codificador Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Fontes de mídia com failover e balanceamento de carga Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado

Isolamento, recuperação e entrega

Pare no primeiro limite que falhar. Preserve fonte, projeto, sessão ou captura, duplique antes de edição destrutiva e altere uma variável por experimento. Repetir um fluxo amplo depois de várias mudanças pode gerar outro resultado sem explicar o motivo.

Separe ausência de evidência de evidência de ausência. Uma tela vazia pode indicar entrada, escopo, filtro, permissão, dispositivo, intervalo ou estado incorreto. Verifique aquisição ou importação antes de interpretar decoder, editor, relatório ou exportação.

Antes da entrega, reabra o artefato e examine início, ponto de decisão e final. Registre versão, plataforma, configuração, expectativa, observação e reprodução mínima. Remova ou oculte dados sensíveis e confirme a autorização do destinatário.

Perguntas e respostas

Qual é a maneira confiável mais rápida de começar?

Use o menor caso representativo, escreva o resultado esperado e altere uma variável. Confirme o caminho básico antes de adicionar filtros, efeitos, edições, automação ou uma fonte maior.

Quais evidências devem ser salvas?

Mantenha identidade da entrada, versão, plataforma, configurações, ação exata, primeira transição inesperada e saída final. Feche e reabra projeto, sessão, relatório ou exportação antes de tratá-lo como durável.

Quando o procedimento deve ser repetido?

Repita após mudanças relevantes no aplicativo, sistema, driver, firmware, modelo, fonte ou fluxo. Preserve o caso aceito anterior como referência sem alterações.

Quando a tarefa está pronta para entrega?

Quando outra pessoa autorizada identifica a entrada, repete a ação, vê o mesmo resultado, entende os limites restantes e abre o artefato sem depender de estado local não documentado.

Guias relacionados

Estas páginas no mesmo idioma cobrem etapas próximas sem alterar o proprietário canônico deste assunto:

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