Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de configuration de la caméra et incompatibilité du mode RTP

Comment déboguer les erreurs de transport RTSP non correspondantes lorsque la caméra répond avec un mode de transport RTP différent, des canaux entrelacés incorrects, des ports manquants ou une réponse SETUP incompatible.


Certains échecs RTSP ne renvoient pas de message « 461 Unsupported Transport » propre. Au lieu de cela, le client signale « transport non correspondant dans la réponse du serveur », « en-tête de transport invalide », « le serveur a répondu avec un transport différent » ou « incompatibilité de transport RTP ». Cela se produit souvent lorsqu'une caméra accepte « SETUP » mais répond avec un en-tête « Transport » qui ne correspond pas à ce que le client a demandé ou à ce que le client peut analyser.

Les utilisateurs recherchent « Transport sans correspondance RTSP dans la réponse du serveur », « Transport sans correspondance ffmpeg », « Incompatibilité de transport RTSP SETUP » et « En-tête de transport de caméra invalide », car le flux peut fonctionner dans un lecteur et échouer dans un autre. La caméra n’est pas simplement inaccessible. La négociation de transport RTSP est incohérente.

RTSP Inspector est utile car les en-têtes de demande et de réponse doivent être comparés directement.

À quoi ressemble un échange SETUP correspondant

Le client demande TCP entrelacé :

Transport: RTP/AVP/TCP;unicast;interleaved=0-1

Server replies with compatible TCP interleaved transport:

Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=12345678

Le client demande UDP :

Transport: RTP/AVP;unicast;client_port=50000-50001

Server replies with UDP ports:

Transport: RTP/AVP;unicast;client_port=50000-50001;server_port=6970-6971

Si le serveur change de mode de transport, omet les champs obligatoires ou renvoie des valeurs mal formées, les clients stricts peuvent échouer.

Cas de non-concordance courants

Les exemples courants incluent :

  • Le client demande TCP, le serveur répond UDP.
  • Le client demande UDP, le serveur répond TCP.
  • Le serveur omet interleaved=.
  • Le serveur renvoie les mauvais numéros de canal.
  • Le serveur renvoie des valeurs client_port différentes de la requête.
  • Le serveur omet server_port pour UDP.
  • Le serveur renvoie la multidiffusion lorsque le client a demandé la monodiffusion.
  • Le serveur renvoie plusieurs alternatives de transport dans un format non pris en charge.
  • Le proxy réécrit la demande mais pas la réponse.

Certains clients tolèrent ces bizarreries. D'autres les rejettent.

Pourquoi un joueur fonctionne et un autre échoue

Les implémentations RTSP varient. Un joueur tolérant peut accepter une réponse de transport mal formée ou inattendue et continuer. Un outil plus strict peut échouer parce que la réponse ne respecte pas ses attentes.

Cela ne signifie pas automatiquement que le client strict a tort. Cela signifie que le comportement de la caméra ou du proxy doit être inspecté.

Pour un diagnostic professionnel, conservez :

  • L’en-tête Transport demandé.
  • La réponse de transport du serveur.
  • Suivre l'URL.
  • ID de session.
  • Si les paquets RTP arrivent ensuite.

Réécriture de proxy et de relais

Les relais compatibles RTSP peuvent réécrire les en-têtes de transport pour relier les chemins UDP et TCP. Si la réécriture est incomplète, le client en aval voit une réponse qui ne correspond pas à sa demande.

Exemples :

  • Le client demande TCP au relais.
  • Le relais demande UDP à la caméra.
  • Le relais transmet accidentellement la réponse de transport UDP de la caméra en aval.

Le client signale un transport non correspondant même si la caméra et le relais ont chacun fait quelque chose de partiellement valide.

Liste de contrôle de débogage

Utilisez ce processus :

  1. Capturez la requête SETUP.
  2. Capturez la réponse « SETUP ».
  3. Comparez les protocoles de transport : UDP, TCP entrelacé, multicast.
  4. Comparez la monodiffusion/la multidiffusion.
  5. Comparez les ports client, les ports serveur et les canaux entrelacés.
  6. Vérifiez si un proxy/restreamer se trouve dans le chemin.
  7. Vérifiez si les paquets RTP ultérieurs suivent le mappage de réponse.
  8. Comparez un joueur tolérant et un client strict en utilisant des preuves par paquets.
  9. Testez l’URL directe de la caméra si possible.
  10. Signalez la paire de transport exacte au vendeur.

Diagnostic final

"Transport sans correspondance dans la réponse du serveur" signifie que la négociation SETUP a produit une réponse de transport incompatible ou mal formée. La caméra ou le relais peut changer de mode RTP, omettre des champs ou renvoyer des valeurs que le client ne peut pas utiliser en toute sécurité.

RTSP Inspector aide en rendant visible la paire demande/réponse de transport, ce qui est le seul moyen fiable de diagnostiquer cette classe de défaillance RTSP.

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

Preuve reproductible pour « Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de configuration de la caméra et incompatibilité du mode RTP »

La réponse directe est qu’un écran noir ou un code isolé ne prouve pas l’origine d’une panne de caméra. Un diagnostic fiable relie requête et réponse RTSP, transport négocié, session valide, puis numéros de séquence RTP, horodatages et éléments RTCP. Pour « Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de configuration de la caméra et incompatibilité du mode RTP », partez de la couche la plus proche du symptôme, tout en conservant une chronologie unique afin de ne pas confondre contrôle, réseau et décodage.

Avant de modifier caméra, pare-feu ou VMS, établissez un test de référence. Notez l’URL RTSP sans mot de passe, l’heure, le chemin, le transport demandé, la réponse du serveur et l’arrivée du premier paquet média. Testez séparément UDP et TCP interleaved si l’équipement les propose. Ne changez pas à la fois chemin, identifiants et transport : un second essai réussi ne dirait pas quelle variable a corrigé l’écart.

Couche Preuve à conserver Question de décision
RTSP méthode, statut, en-têtes, CSeq et Session Le serveur accepte-t-il précisément l’opération ?
SDP control, payload type, clock rate et codec La piste décrite est-elle celle attendue ?
Transport client_port, server_port ou interleaved Les deux extrémités utilisent-elles le même canal ?
RTP SSRC, séquence, timestamp et marker Les unités arrivent-elles dans un ordre explicable ?
RTCP sender report, CNAME et BYE Horloge, identité et fin sont-elles traçables ?
Décodeur SPS/PPS/VPS et packetization mode Le payload reçu permet-il l’initialisation ?

Séparez « aucun média reçu » de « média reçu mais indécodable ». L’absence de RTP après SETUP et PLAY réussis dirige vers UDP, NAT, pare-feu ou une réponse Transport différente de l’offre. Des trous de séquence prouvent perte ou réordonnancement. Une séquence continue sans image déplace l’enquête vers payload type, fréquence d’horloge, limites d’image et paramètres H.264 ou H.265. Cette frontière est plus utile qu’un message générique du lecteur.

Comment rédiger une réponse directement réutilisable ?

Écrivez trois phrases : dernière opération réussie, première preuve en échec, prochain test discriminant. Exemple : « DESCRIBE, SETUP et PLAY réussissent ; aucun RTP n’arrive aux ports annoncés ; un essai TCP interleaved séparera blocage UDP et mauvais chemin média. » N’accusez ni caméra ni réseau sans réponse ou paquet qui matérialise cette limite.

Quelles données rendent le cas reproductible ?

Conservez OPTIONS, DESCRIBE, SETUP et PLAY, le SDP, la réponse Transport et l’identifiant Session nettoyé. Pour RTP, relevez SSRC, première et dernière séquence, clock rate, nombre de trous et durée. Mentionnez le résultat dans VLC ou un autre VMS comme test différentiel, pas comme preuve que le client qui fonctionne respecte toutes les frontières.

Quand tester le serveur ou le client ?

Examinez le serveur s’il refuse une méthode, fournit une URL control absente, renvoie un transport incompatible ou change SSRC ou horloge sans transition. Examinez le client s’il réutilise un nonce expiré, perd Session, demande UDP sans ouvrir les ports ou assimile chaque fin de NAL à une fin d’access unit. Entre les deux, paquet et heure doivent accompagner chaque conclusion.

Comment valider le rapport ?

Recommencez avec une connexion neuve et comparez les chronologies jusqu’à la première divergence. Retirez mots de passe et valeurs Authorization complètes. Reliez chaque conclusion à CSeq, séquence ou timestamp. La documentation RTSP associée couvre les étapes voisines ; RTSP Inspector permet de tester un flux RTSP et de collecter localement les preuves sans téléverser la vidéo vers un service public.

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

Réponse directe et limite d’acceptation

La réponse courte à « Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de configuration de la caméra et incompatibilité du mode RTP » est la suivante : Comment déboguer les erreurs de transport RTSP non correspondantes lorsque la caméra répond avec un mode de transport RTP différent, des canaux entrelacés incorrects, des ports manquants ou une réponse SETUP incompatible. Considérez cette phrase comme un résultat à vérifier, et non comme une promesse valable pour toute entrée, tout appareil, tout projet ou tout environnement. Un résultat complet consigne l’état initial, l’action exacte, la sortie visible et la condition qui prouve la fin de la tâche dans RTSP Inspector.

Procédure fondée sur les preuves

Commencez par un cas petit et répétable avant de modifier un projet complet. Notez version de l’application, système, identité de l’entrée ou de l’appareil, réglages pertinents et résultat attendu. Exécutez une action volontaire, conservez la première transition inattendue et comparez-la à un cas nominal si possible. Plusieurs changements simultanés masquent la condition qui a créé ou corrigé le problème.

Point de contrôle 1 : Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de c

Vérifiez « Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de configuration de la caméra et incompatibilité du mode RTP » avec la plus petite entrée représentative. Gardez les réglages indépendants inchangés, répétez la même action et contrôlez le résultat après réouverture ou reconnexion. Une image seule est moins forte qu’un relevé comprenant entrée, réglage, action, sortie et heure.

Point de contrôle 2 : Comment déboguer les erreurs de transport RTSP non correspondantes lorsque la caméra répon

Si « Comment déboguer les erreurs de transport RTSP non correspondantes lorsque la caméra répond avec un mode de transport RTP différent, des canaux entrel » est ambigu, comparez un cas nominal et un cas défaillant dans des conditions identiques. Marquez la première différence utile au lieu de lister tous les symptômes suivants. Cette limite produit généralement une demande d’assistance plus claire.

Point de contrôle 3 : À quoi ressemble un échange SETUP correspondant

Vérifiez « À quoi ressemble un échange SETUP correspondant » avec la plus petite entrée représentative. Gardez les réglages indépendants inchangés, répétez la même action et contrôlez le résultat après réouverture ou reconnexion. Une image seule est moins forte qu’un relevé comprenant entrée, réglage, action, sortie et heure.

Point de contrôle 4 : Cas de non-concordance courants

Si « Cas de non-concordance courants » est ambigu, comparez un cas nominal et un cas défaillant dans des conditions identiques. Marquez la première différence utile au lieu de lister tous les symptômes suivants. Cette limite produit généralement une demande d’assistance plus claire.

Point de contrôle 5 : Pourquoi un joueur fonctionne et un autre échoue

Vérifiez « Pourquoi un joueur fonctionne et un autre échoue » avec la plus petite entrée représentative. Gardez les réglages indépendants inchangés, répétez la même action et contrôlez le résultat après réouverture ou reconnexion. Une image seule est moins forte qu’un relevé comprenant entrée, réglage, action, sortie et heure.

Point de contrôle 6 : Réécriture de proxy et de relais

Si « Réécriture de proxy et de relais » est ambigu, comparez un cas nominal et un cas défaillant dans des conditions identiques. Marquez la première différence utile au lieu de lister tous les symptômes suivants. Cette limite produit généralement une demande d’assistance plus claire.

Point de contrôle 7 : Liste de contrôle de débogage

Vérifiez « Liste de contrôle de débogage » avec la plus petite entrée représentative. Gardez les réglages indépendants inchangés, répétez la même action et contrôlez le résultat après réouverture ou reconnexion. Une image seule est moins forte qu’un relevé comprenant entrée, réglage, action, sortie et heure.

Point de contrôle 8 : Diagnostic final

Si « Diagnostic final » est ambigu, comparez un cas nominal et un cas défaillant dans des conditions identiques. Marquez la première différence utile au lieu de lister tous les symptômes suivants. Cette limite produit généralement une demande d’assistance plus claire.

Point de contrôle 9 : Preuve reproductible pour « Transport RTSP sans correspondance dans la réponse du serveur

Vérifiez « Preuve reproductible pour « Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de configuration de la caméra et inc » avec la plus petite entrée représentative. Gardez les réglages indépendants inchangés, répétez la même action et contrôlez le résultat après réouverture ou reconnexion. Une image seule est moins forte qu’un relevé comprenant entrée, réglage, action, sortie et heure.

Point de contrôle 10 : Comment rédiger une réponse directement réutilisable ?

Si « Comment rédiger une réponse directement réutilisable ? » est ambigu, comparez un cas nominal et un cas défaillant dans des conditions identiques. Marquez la première différence utile au lieu de lister tous les symptômes suivants. Cette limite produit généralement une demande d’assistance plus claire.

Matrice d’acceptation

Point Preuve à conserver Critère de réussite
Transport RTSP sans correspondance dans la réponse du serveur : débogage des réponses de configuration de la caméra et i État initial, une action et état obtenu Une seconde personne reproduit le résultat
Comment déboguer les erreurs de transport RTSP non correspondantes lorsque la caméra répond avec un mode de transport RT État initial, une action et état obtenu Une seconde personne reproduit le résultat
À quoi ressemble un échange SETUP correspondant État initial, une action et état obtenu Une seconde personne reproduit le résultat
Cas de non-concordance courants État initial, une action et état obtenu Une seconde personne reproduit le résultat
Pourquoi un joueur fonctionne et un autre échoue État initial, une action et état obtenu Une seconde personne reproduit le résultat
Réécriture de proxy et de relais État initial, une action et état obtenu Une seconde personne reproduit le résultat

Isolation, reprise et transmission

Arrêtez-vous à la première limite en échec. Conservez source, projet, session ou capture, dupliquez avant toute modification destructive et changez une variable par essai. Rejouer un flux entier après plusieurs changements peut modifier le résultat sans expliquer pourquoi.

Distinguez absence de preuve et preuve d’absence. Une vue vide peut signaler mauvaise entrée, portée, filtre, permission, appareil, période ou état du projet. Vérifiez acquisition ou import avant d’interpréter décodeur, éditeur, rapport ou export.

Avant transmission, rouvrez l’artefact durable et inspectez début, point de décision et fin. Notez version, plateforme, configuration, attente, observation et reproduction minimale. Retirez ou masquez les données sensibles et confirmez l’autorisation du destinataire.

Questions et réponses

Quelle est la manière fiable la plus rapide de commencer ?

Utilisez le plus petit cas représentatif, écrivez le résultat attendu et ne changez qu’une variable. Validez le parcours de base avant d’ajouter filtres, effets, modifications, automatisation ou grande source.

Quelles preuves faut-il conserver ?

Gardez identité de l’entrée, version, plateforme, réglages, action exacte, première transition inattendue et sortie finale. Fermez puis rouvrez projet, session, rapport ou export avant de le considérer durable.

Quand faut-il répéter la procédure ?

Répétez-la après un changement pertinent d’application, système, pilote, firmware, modèle, source ou processus. Conservez le cas accepté précédent comme référence non modifiée.

Quand le résultat est-il transmissible ?

Lorsqu’une seconde personne autorisée identifie l’entrée, répète l’action, obtient le même résultat, comprend les limites et ouvre l’artefact sans état local non documenté.

Guides associés

Ces pages dans la même langue couvrent les étapes voisines sans changer le propriétaire canonique du sujet :

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