Le flux RTSP s'arrête après 30 secondes : Keepalive, Session Timeout, NAT et caméra inactive déconnexions

Pourquoi les flux RTSP s'arrêtent après 30 secondes, 60 secondes ou quelques minutes, et comment déboguer les requêtes keepalive, l'expiration de session, le NAT, le silence RTP et les déconnexions de caméra.


Un flux RTSP qui démarre avec succès puis s'arrête après 30 secondes est un problème différent d'un flux qui ne démarre jamais. L'authentification a fonctionné. SDP a été renvoyé. SETUP et PLAY ont probablement réussi. Les médias sont peut-être arrivés depuis un certain temps. Ensuite, la caméra a fermé la session, RTP s'est arrêté, le lecteur s'est figé ou la connexion a expiré.

Les recherches telles que « Le flux RTSP s'arrête après 30 secondes », « Délai d'expiration RTSP keepalive », « Le flux de la caméra se déconnecte après une minute » et « Délai d'expiration de la session RTSP » indiquent généralement un problème de durée de vie de la session. Le flux peut nécessiter des requêtes keepalive, le mappage NAT peut expirer, la caméra peut fermer des sessions RTSP inactives, le média UDP peut être bloqué après un changement de chemin ou RTCP peut révéler une perte de média avant la déconnexion.

RTSP Inspector est utile ici car la chronologie est importante. Vous devez savoir ce qui s'est passé à la seconde 0, à la seconde 30, à la seconde 60 et au moment exact où le flux s'est arrêté.

Pourquoi RTSP peut s'arrêter après avoir démarré

Les causes courantes incluent :

  • Le client n'envoie pas de keepalive RTSP.
  • La caméra attend le maintien de GET_PARAMETER.
  • La caméra s'attend à ce que « OPTIONS » soit maintenue en vie.
  • Le délai d'expiration de la session RTSP est plus court que prévu.
  • L'état du NAT ou du pare-feu expire.
  • UDP RTP s'arrête tandis que RTSP TCP reste ouvert.
  • La caméra ferme la connexion TCP après le silence des médias.
  • Le client a utilisé une mauvaise URL de contrôle d’agrégation.
  • Le micrologiciel de la caméra présente un bug de nettoyage de session.
  • RTCP signale la perte ou la gigue des paquets avant que le flux ne se fige.

Le correctif dépend de la couche arrêtée en premier : contrôle RTSP, média RTP, retour RTCP ou chemin TCP/UDP sous-jacent.

En-tête et délai d'expiration de la session RTSP

Après SETUP, la caméra renvoie généralement un en-tête Session :

RTSP/1.0 200 OK
Session: 12345678;timeout=60
Transport: RTP/AVP/TCP;unicast;interleaved=0-1

OPTIONS vs GET_PARAMETER keepalive

Two common keepalive methods are:

OPTIONS rtsp://camera/stream RTSP/1.0
Session: 12345678

et:

GET_PARAMETER rtsp://camera/stream RTSP/1.0
Session: 12345678

When debugging, check:

Aggregate control URL problems

This can create subtle behavior:

NAT and firewall idle timeout

Symptoms:

Camera idle disconnects

Look for:

RTP silence vs RTSP disconnect

Checklist for streams that stop after 30 seconds

Use this process:

A useful report includes:

Final diagnosis

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

Preuve reproductible pour « Le flux RTSP s'arrête après 30 secondes : Keepalive, Session Timeout, NAT et caméra inactive déconnexions »

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 « Le flux RTSP s'arrête après 30 secondes : Keepalive, Session Timeout, NAT et caméra inactive déconnexions », 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 à « Le flux RTSP s'arrête après 30 secondes : Keepalive, Session Timeout, NAT et caméra inactive déconnexions » est la suivante : Pourquoi les flux RTSP s'arrêtent après 30 secondes, 60 secondes ou quelques minutes, et comment déboguer les requêtes keepalive, l'expiration de session, le NAT, le silence RTP et les déconnexions de caméra. 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 : Le flux RTSP s'arrête après 30 secondes : Keepalive, Session Timeout, NAT et caméra inacti

Pour « Le flux RTSP s'arrête après 30 secondes : Keepalive, Session Timeout, NAT et caméra inactive déconnexions », séparez une décision du produit d’une limite du système, du matériel, du fichier source, des droits ou du processus. Confirmez la couche qui fournit la preuve avant d’attribuer une cause. Un symptôme voisin ne devient ainsi pas une cause racine prétendument prouvée.

Point de contrôle 2 : Pourquoi les flux RTSP s'arrêtent après 30 secondes, 60 secondes ou quelques minutes, et c

Ne fermez « Pourquoi les flux RTSP s'arrêtent après 30 secondes, 60 secondes ou quelques minutes, et comment déboguer les requêtes keepalive, l'expiration de sess » que lorsque le résultat enregistré, exporté ou rouvert correspond encore à l’état observé. Le retour temporaire de l’interface aide, mais une preuve durable est plus forte. Consignez toute limite restante pour la suite.

Point de contrôle 3 : Pourquoi RTSP peut s'arrêter après avoir démarré

Pour « Pourquoi RTSP peut s'arrêter après avoir démarré », séparez une décision du produit d’une limite du système, du matériel, du fichier source, des droits ou du processus. Confirmez la couche qui fournit la preuve avant d’attribuer une cause. Un symptôme voisin ne devient ainsi pas une cause racine prétendument prouvée.

Point de contrôle 4 : En-tête et délai d'expiration de la session RTSP

Ne fermez « En-tête et délai d'expiration de la session RTSP » que lorsque le résultat enregistré, exporté ou rouvert correspond encore à l’état observé. Le retour temporaire de l’interface aide, mais une preuve durable est plus forte. Consignez toute limite restante pour la suite.

Point de contrôle 5 : OPTIONS vs GETPARAMETER keepalive

Pour « OPTIONS vs GETPARAMETER keepalive », séparez une décision du produit d’une limite du système, du matériel, du fichier source, des droits ou du processus. Confirmez la couche qui fournit la preuve avant d’attribuer une cause. Un symptôme voisin ne devient ainsi pas une cause racine prétendument prouvée.

Point de contrôle 6 : Aggregate control URL problems

Ne fermez « Aggregate control URL problems » que lorsque le résultat enregistré, exporté ou rouvert correspond encore à l’état observé. Le retour temporaire de l’interface aide, mais une preuve durable est plus forte. Consignez toute limite restante pour la suite.

Point de contrôle 7 : NAT and firewall idle timeout

Pour « NAT and firewall idle timeout », séparez une décision du produit d’une limite du système, du matériel, du fichier source, des droits ou du processus. Confirmez la couche qui fournit la preuve avant d’attribuer une cause. Un symptôme voisin ne devient ainsi pas une cause racine prétendument prouvée.

Point de contrôle 8 : Camera idle disconnects

Ne fermez « Camera idle disconnects » que lorsque le résultat enregistré, exporté ou rouvert correspond encore à l’état observé. Le retour temporaire de l’interface aide, mais une preuve durable est plus forte. Consignez toute limite restante pour la suite.

Point de contrôle 9 : RTP silence vs RTSP disconnect

Pour « RTP silence vs RTSP disconnect », séparez une décision du produit d’une limite du système, du matériel, du fichier source, des droits ou du processus. Confirmez la couche qui fournit la preuve avant d’attribuer une cause. Un symptôme voisin ne devient ainsi pas une cause racine prétendument prouvée.

Point de contrôle 10 : Checklist for streams that stop after 30 seconds

Ne fermez « Checklist for streams that stop after 30 seconds » que lorsque le résultat enregistré, exporté ou rouvert correspond encore à l’état observé. Le retour temporaire de l’interface aide, mais une preuve durable est plus forte. Consignez toute limite restante pour la suite.

Matrice d’acceptation

Point Preuve à conserver Critère de réussite
Le flux RTSP s'arrête après 30 secondes : Keepalive, Session Timeout, NAT et caméra inactive déconnexions État initial, une action et état obtenu Une seconde personne reproduit le résultat
Pourquoi les flux RTSP s'arrêtent après 30 secondes, 60 secondes ou quelques minutes, et comment déboguer les requêtes k État initial, une action et état obtenu Une seconde personne reproduit le résultat
Pourquoi RTSP peut s'arrêter après avoir démarré État initial, une action et état obtenu Une seconde personne reproduit le résultat
En-tête et délai d'expiration de la session RTSP État initial, une action et état obtenu Une seconde personne reproduit le résultat
OPTIONS vs GETPARAMETER keepalive État initial, une action et état obtenu Une seconde personne reproduit le résultat
Aggregate control URL problems É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 -->