Loop de autenticação RTSP: corrigindo falhas 401 não autorizadas, Digest Auth e login da câmera

Um guia prático para loops não autorizados RTSP 401, autenticação Digest, autenticação básica, respostas nonce obsoletas, usuários de câmera errados e problemas de credenciais de URL.

autenticação rtsp, 401 não autorizado, digestão de autenticação, login da câmera ip, diagnóstico rtsp

Um dos problemas mais comuns da câmera RTSP parece simples à primeira vista: "o cliente se conecta, a câmera responde, mas o stream nunca inicia. O log repete 401 Unauthorized, o visualizador pede uma senha novamente ou o aplicativo diz que o URL RTSP está errado, mesmo que o nome de usuário e a senha pareçam corretos." Este é um loop de autenticação RTSP. Acontece quando a câmera desafia o cliente, o cliente envia credenciais e a câmera as rejeita ou pede novamente. A causa raiz pode ser uma senha incorreta, mas também pode ser uma incompatibilidade de autenticação Digest, tratamento de nonce obsoleto, permissões de conta, caracteres especiais na URL, um caminho de transmissão incorreto ou uma câmera que requer autenticação em DESCRIBE, SETUP e PLAY separadamente.

O RTSP Inspector é útil aqui porque a evidência importante está na troca de controle RTSP. Um reprodutor de mídia geralmente oculta os detalhes do desafio e da nova tentativa por trás de um único erro de login. Uma visualização de diagnóstico de protocolo pode mostrar se a falha ocorreu em OPTIONS, DESCRIBE, SETUP ou PLAY e se a câmera retornou WWW-Authenticate, stale=true ou um desafio de reino repetido.

O que significa uma resposta RTSP 401 não autorizada

No RTSP, 401 Unauthorized geralmente significa "autenticação necessária" em vez de "o servidor está inacessível". Uma câmera pode responder a uma solicitação não autenticada como esta:

RTSP/1.0 401 Unauthorized
CSeq: 2
WWW-Authenticate: Digest realm="IP Camera", nonce="abc123"

The client must then send another request with an Authorization header. For Digest authentication, the client does not send the raw password. It computes a response from the username, password, realm, nonce, method, and URI.

If the computed response does not match what the camera expects, the camera returns another 401 Unauthorized. That repeated challenge is the authentication loop.

Basic authentication vs Digest authentication

Some older cameras support Basic authentication. Basic authentication is simpler: the client base64-encodes the username and password. It is easy to implement, but it is not ideal on untrusted networks because the credentials are not protected by the RTSP protocol itself.

Digest authentication is more common on modern IP cameras and NVRs. It avoids sending the password directly, but it is more sensitive to exact request details. A Digest response can fail if:

  • The username or password is wrong.
  • The client uses the wrong URI in the Digest calculation.
  • The camera's realm changed after a firmware update.
  • The nonce expired and the client did not retry correctly.
  • The camera expects MD5 but the client tries a different algorithm.
  • The stream path in the URL is not the same path used in the Authorization calculation.

When users search for "RTSP Digest auth not working" or "RTSP 401 loop camera", they often assume the camera password is the only possible problem. In practice, the method, URI, nonce, and request order matter just as much.

Special characters in RTSP URL credentials

Credentials in an RTSP URL can break when the password contains characters such as @, :, /, ?, #, %, or &.

A URL like this is ambiguous:

rtsp://admin:pa@ss@192.168.1.50:554/stream1

The second @ may be interpreted as the separator between credentials and host. The client may send the wrong password or parse the host incorrectly. The fix is to URL-encode special characters:

rtsp://admin:pa%40ss@192.168.1.50:554/stream1

This is a very common cause of "RTSP works in one app but not another." One application may encode credentials automatically, while another expects the URL to already be valid.

Account permissions can block RTSP even when web login works

Logging into the camera web interface does not always prove that RTSP access is allowed. Many cameras have separate permissions for:

  • Live view
  • Remote streaming
  • ONVIF access
  • RTSP access
  • Sub-stream access
  • Main stream access
  • Administrator settings

A user account may work in the browser but fail for RTSP DESCRIBE or PLAY. Some NVRs also require that the account has permission for the specific channel number.

If an NVR URL contains a channel path like /Streaming/Channels/101, the account may be valid but unauthorized for that channel. The result still looks like an authentication failure.

Wrong stream path can look like wrong credentials

Not every camera returns 404 Not Found for a bad RTSP path. Some devices return 401 Unauthorized first for every protected path, even if that path does not exist. After credentials are accepted, the camera may return 404, 454 Session Not Found, or another error.

That means a 401 does not prove the URL path is valid.

Common RTSP path patterns include:

  • /stream1
  • /stream2
  • /live
  • /h264
  • /h265
  • /cam/realmonitor?channel=1&subtype=0
  • /Streaming/Channels/101
  • /profile1/media.smp

If a camera keeps challenging credentials, test both the authentication result and the stream path. A protocol trace helps separate "credentials rejected" from "credentials accepted but path failed later."

Stale nonce and repeated Digest challenges

Digest authentication can include a stale=true flag. This means the username and password may be correct, but the nonce expired or is no longer accepted.

The camera may respond with:

WWW-Authenticate: Digest realm="IP Camera", nonce="new-value", stale=true

Um cliente correto deve tentar novamente com o novo nonce. Se o cliente não entender o tratamento de nonce obsoleto, o fluxo poderá nunca progredir além da autenticação.

Esse problema é especialmente comum com câmeras atrás de proxies, camadas de retransmissão NVR ou firmware que implementa a autenticação Digest de maneira flexível. Também pode aparecer quando um cliente reutiliza uma sessão RTSP antiga de forma muito agressiva.

Autenticação em DESCRIBE, SETUP e PLAY

Algumas câmeras desafiam apenas a solicitação inicial DESCRIBE. Outros desafiam vários métodos. Um fluxo pode falhar assim:

  1. DESCRIBE é bem-sucedido após a autenticação.
  2. SETUP recebe outro 401 Unauthorized.
  3. O cliente não reenvia credenciais para SETUP.
  4. A reprodução nunca começa.

O mesmo pode acontecer em PLAY. Uma câmera pode exigir cabeçalhos Autorização em todas as solicitações protegidas. Se o cliente autenticar apenas a primeira solicitação, poderá mostrar um erro confuso "não é possível reproduzir o stream" em vez de um erro de autenticação.

O RTSP Inspector torna isso mais fácil de ver porque trata a sequência do método RTSP como evidência de primeira classe. A questão não é apenas "o login funcionou?" mas "qual método foi desafiado e o cliente respondeu corretamente?"

Lista de verificação para loops de autenticação RTSP 401

Use esta ordem ao depurar:

  1. Confirme o nome de usuário e a senha exatos com uma conta de câmera conhecida.
  2. Caracteres especiais de codificação de URL no URL RTSP.
  3. Teste se a câmera requer autenticação Digest ou Básica.
  4. Inspecione o cabeçalho WWW-Authenticate para domínio, nonce, algoritmo e sinalizadores obsoletos.
  5. Verifique se o cliente envia Autorização em DESCRIBE, SETUP e PLAY.
  6. Verifique se a conta tem permissão de RTSP e de canal, não apenas permissão de UI da web.
  7. Teste os caminhos do stream principal e do stream secundário separadamente.
  8. Compare o URI usado na solicitação RTSP com o URI usado no cálculo da resposta Digest.
  9. Verifique se o firmware da câmera alterou o comportamento de autenticação.
  10. Evite diagnosticar codecs de mídia até que a autenticação RTSP seja realmente concluída.

O que as pesquisas do Google geralmente significam

Quando alguém pesquisa por “Câmera IP não autorizada RTSP 401”, geralmente precisa saber se a credencial está errada. Quando procuram por "loop de autenticação RTSP Digest", geralmente já tentaram a senha e precisam de evidências de protocolo. Quando pesquisam por “a câmera RTSP pede senha repetidamente”, eles precisam inspecionar o desafio e tentar novamente a sequência.

A resposta útil não é apenas “redefinir a senha”. A resposta útil é:

  • A câmera contestou o pedido?
  • O cliente respondeu com o esquema de autenticação esperado?
  • A câmera aceitou a resposta?
  • Um método RTSP posterior falhou novamente?
  • O caminho do stream ou a permissão da conta falharam após o login?

É por isso que uma ferramenta orientada a protocolo é melhor do que um teste somente para jogadores para esse tipo de problema.

Diagnóstico final

Um loop de autenticação RTSP é resolvido combinando credenciais, codificação de URL, esquema de autenticação, URI de solicitação, permissão de conta e comportamento de autorização em nível de método. Se o rastreamento mostrar respostas repetidas 401 Unauthorized com alteração de nonces, inspecione o tratamento do Digest. Se mostrar sucesso de autenticação seguido de erros de fluxo, vá para caminho de URL, SDP, transporte, RTP e diagnóstico de codec.

O RTSP Inspector foi projetado para esse fluxo de trabalho que prioriza a evidência: confirme o caminho de controle RTSP antes de assumir que a falha é da câmera, do player, do codec ou da rede.

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

Evidência reproduzível para “Loop de autenticação RTSP: corrigindo falhas 401 não autorizadas, Digest Auth e login da câmera”

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 “Loop de autenticação RTSP: corrigindo falhas 401 não autorizadas, Digest Auth e login da câmera”, 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 “Loop de autenticação RTSP: corrigindo falhas 401 não autorizadas, Digest Auth e login da câmera” é: Um guia prático para loops não autorizados RTSP 401, autenticação Digest, autenticação básica, respostas nonce obsoletas, usuários de câmera errados e problemas de credenciais de URL. 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: Loop de autenticação RTSP: corrigindo falhas 401 não autorizadas, Digest Auth e login da c

Encerre “Loop de autenticação RTSP: corrigindo falhas 401 não autorizadas, Digest Auth e login da câmera” somente quando o resultado salvo, exportado ou reaberto continuar igual ao estado observado. O retorno temporário da interface ajuda, mas evidência durável é mais forte. Registre qualquer limite restante para a próxima pessoa.

Ponto de controle 2: Um guia prático para loops não autorizados RTSP 401, autenticação Digest, autenticação bás

Para “Um guia prático para loops não autorizados RTSP 401, autenticação Digest, autenticação básica, respostas nonce obsoletas, usuários de câmera errados e”, separe uma decisão do produto de um limite do sistema, hardware, arquivo, permissão ou processo. Confirme qual camada produziu a evidência antes de atribuir causa. Isso evita transformar um sintoma próximo em causa raiz supostamente provada.

Ponto de controle 3: O que significa uma resposta RTSP 401 não autorizada

Encerre “O que significa uma resposta RTSP 401 não autorizada” somente quando o resultado salvo, exportado ou reaberto continuar igual ao estado observado. O retorno temporário da interface ajuda, mas evidência durável é mais forte. Registre qualquer limite restante para a próxima pessoa.

Ponto de controle 4: Basic authentication vs Digest authentication

Para “Basic authentication vs Digest authentication”, separe uma decisão do produto de um limite do sistema, hardware, arquivo, permissão ou processo. Confirme qual camada produziu a evidência antes de atribuir causa. Isso evita transformar um sintoma próximo em causa raiz supostamente provada.

Ponto de controle 5: Special characters in RTSP URL credentials

Encerre “Special characters in RTSP URL credentials” somente quando o resultado salvo, exportado ou reaberto continuar igual ao estado observado. O retorno temporário da interface ajuda, mas evidência durável é mais forte. Registre qualquer limite restante para a próxima pessoa.

Ponto de controle 6: Account permissions can block RTSP even when web login works

Para “Account permissions can block RTSP even when web login works”, separe uma decisão do produto de um limite do sistema, hardware, arquivo, permissão ou processo. Confirme qual camada produziu a evidência antes de atribuir causa. Isso evita transformar um sintoma próximo em causa raiz supostamente provada.

Ponto de controle 7: Wrong stream path can look like wrong credentials

Encerre “Wrong stream path can look like wrong credentials” somente quando o resultado salvo, exportado ou reaberto continuar igual ao estado observado. O retorno temporário da interface ajuda, mas evidência durável é mais forte. Registre qualquer limite restante para a próxima pessoa.

Ponto de controle 8: Stale nonce and repeated Digest challenges

Para “Stale nonce and repeated Digest challenges”, separe uma decisão do produto de um limite do sistema, hardware, arquivo, permissão ou processo. Confirme qual camada produziu a evidência antes de atribuir causa. Isso evita transformar um sintoma próximo em causa raiz supostamente provada.

Ponto de controle 9: Autenticação em DESCRIBE, SETUP e PLAY

Encerre “Autenticação em DESCRIBE, SETUP e PLAY” somente quando o resultado salvo, exportado ou reaberto continuar igual ao estado observado. O retorno temporário da interface ajuda, mas evidência durável é mais forte. Registre qualquer limite restante para a próxima pessoa.

Ponto de controle 10: Lista de verificação para loops de autenticação RTSP 401

Para “Lista de verificação para loops de autenticação RTSP 401”, separe uma decisão do produto de um limite do sistema, hardware, arquivo, permissão ou processo. Confirme qual camada produziu a evidência antes de atribuir causa. Isso evita transformar um sintoma próximo em causa raiz supostamente provada.

Matriz de aceitação

Ponto Evidência a manter Condição de aprovação
Loop de autenticação RTSP: corrigindo falhas 401 não autorizadas, Digest Auth e login da câmera Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Um guia prático para loops não autorizados RTSP 401, autenticação Digest, autenticação básica, respostas nonce obsoletas Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
O que significa uma resposta RTSP 401 não autorizada Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Basic authentication vs Digest authentication Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Special characters in RTSP URL credentials Estado inicial, uma ação e estado resultante Outra pessoa reproduz o resultado declarado
Account permissions can block RTSP even when web login works 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 -->