Correction de la dérive de l'horodatage RTSP : inadéquation de la fréquence d'horloge RTP, synchronisation audio/vidéo et erreurs de synchronisation des images
Correction de la dérive de l'horodatage RTSP provoquant une perte de synchronisation audio/vidéo. Couvre l'inadéquation de la fréquence d'horloge RTP, la gigue, la synchronisation des images, les horodatages non monotones et l'instabilité de la lecture du flux de la caméra.
Un flux de caméra RTSP peut se connecter avec succès, s'authentifier correctement, renvoyer un SDP valide, envoyer des paquets RTP et toujours se comporter mal. La vidéo peut lentement prendre du retard sur le temps réel. L'audio et la vidéo peuvent être désynchronisés. Les images peuvent arriver mais jouer de manière inégale. Un enregistreur peut créer des fichiers d'une durée étrange. Un lecteur peut afficher des avertissements de gigue, de bégaiement, d'« horodatage non monotone », de « DTS invalide », de « saut d'horodatage RTP » ou de « non-concordance de fréquence d'horloge ».
Les utilisateurs recherchent « Dérive d'horodatage RTP », « Synchronisation audio-vidéo de la caméra RTSP », « Fréquence d'horloge RTP incorrecte », « Horodatage de bégaiement du flux RTSP » et « Problème de synchronisation des images du flux de la caméra » lorsque la connexion réseau fonctionne mais pas la chronologie multimédia.
C’est exactement le genre de problème où un test réservé aux joueurs est trop superficiel. Le joueur peut masquer la chronologie des paquets derrière la mise en mémoire tampon et le décodage. RTSP Inspector est utile car la synchronisation RTP est une preuve de protocole : le type de charge utile, l'horodatage RTP, le numéro de séquence, le bit marqueur, la fréquence d'horloge SDP, les rapports de l'expéditeur RTCP, la gigue et le mappage de l'horloge murale sont tous importants.
Les horodatages RTP ne sont pas des horodatages d'horloge murale
Un horodatage RTP est une valeur d'horloge multimédia, pas un horodatage Unix. Pour la vidéo H.264, SDP déclare souvent une horloge de 90 kHz :
a=rtpmap:96 H264/90000
90000 / 30 = 3000
Pour une vidéo à 25 ips, l'incrément est généralement de 3 600 :
90000 / 25 = 3600
SDP clock rate is the first clue
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
m=audio 0 RTP/AVP 97
a=rtpmap:97 MPEG4-GENERIC/48000/2
Si le SDP indique que H.264 utilise 90 000, le client doit interpréter les horodatages RTP vidéo avec cette horloge. Si le SDP est manquant, mal formé ou incohérent avec le comportement de la charge utile, le client peut mal deviner.
Les problèmes courants de synchronisation SDP incluent :
- Il manque
a=rtpmappour le type de charge utile dynamique. - Mauvaise fréquence d’horloge audio.
- Type de charge utile réutilisé de manière incohérente.
- Le micrologiciel de la caméra déclare 90 000 mais envoie des incréments d'horodatage qui ne correspondent pas à la fréquence d'images.
- La configuration AAC ne correspond pas à la fréquence d'échantillonnage réelle.
- Plusieurs pistes utilisent des attributs de contrôle confus ou en double.
RTSP Inspector devrait aider à préserver SDP à côté des preuves RTP, car la chronologie RTP ne peut pas être interprétée correctement sans elle.
Numéro de séquence vs horodatage
Les numéros de séquence RTP et les horodatages répondent à différentes questions.
Le numéro de séquence permet de détecter la perte et l’ordre des paquets :
- Le paquet 1024 est-il arrivé ?
- Le paquet 1025 est-il arrivé ?
- Le paquet 1026 est-il arrivé avant 1025 ?
- Des paquets manquent-ils ?
L'horodatage RTP permet d'interpréter l'heure du média :
- Quels paquets appartiennent à la même image vidéo ?
- Combien de temps multimédia s’est écoulé entre les images ?
- La caméra a-t-elle sauté en avant ou en arrière ?
- L’audio progresse-t-il au rythme attendu ?
- L’heure des médias correspond-elle à l’heure de l’horloge murale ?
Un flux peut avoir une continuité de séquence parfaite tout en ayant des horodatages brisés. Il peut également y avoir une certaine perte de paquets alors que les horodatages restent par ailleurs cohérents.
Limites des bits de marqueur et des images vidéo
Pour de nombreuses charges utiles vidéo RTP, le bit marqueur indique une limite de trame. Avec H.264, plusieurs paquets RTP peuvent transporter des fragments d'une même image vidéo. Ils partagent le même horodatage RTP et le bit marqueur apparaît souvent sur le dernier paquet de l'unité d'accès.
Si les horodatages changent trop souvent, pas assez souvent, ou si le comportement des marqueurs est incohérent, la reconstruction de la trame peut devenir instable.
Les symptômes incluent :
- Bégaiement vidéo sans perte de paquets visible.
- Le décodeur reçoit des trames incomplètes.
- L'enregistreur crée une durée d'image incorrecte.
- La lecture accélère ou ralentit.
- Les horodatages des images ne sont pas monotones.
C'est pourquoi un outil de diagnostic doit afficher les métadonnées RTP au niveau des paquets, et pas seulement les trames décodées.
Dérive de synchronisation audio/vidéo
La synchronisation audio et vidéo dépend du mappage de l'horodatage RTP de chaque piste multimédia sur une base de temps partagée. Les rapports d'expéditeur RTCP sont souvent utilisés à cet effet. Un rapport d'expéditeur peut mapper l'horodatage RTP à l'heure NTP :
RTCP SR:
NTP timestamp: wall-clock reference
RTP timestamp: media timestamp at that reference
Audio/video drift can happen when:
Timestamp jumps
Look for:
Questions to separate them:
Checklist for RTP timestamp drift
Use this workflow:
What to include in a useful report
Final diagnosis
<!-- rtsp-localized-evidence-foundation-v1:start -->Preuve reproductible pour « Correction de la dérive de l'horodatage RTSP : inadéquation de la fréquence d'horloge RTP, synchronisation audio/vidéo et erreurs de synchronisation des images »
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 « Correction de la dérive de l'horodatage RTSP : inadéquation de la fréquence d'horloge RTP, synchronisation audio/vidéo et erreurs de synchronisation des images », 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 à « Correction de la dérive de l'horodatage RTSP : inadéquation de la fréquence d'horloge RTP, synchronisation audio/vidéo et erreurs de synchronisation des images » est la suivante : Correction de la dérive de l'horodatage RTSP provoquant une perte de synchronisation audio/vidéo. Couvre l'inadéquation de la fréquence d'horloge RTP, la gigue, la synchronisation des images, les horodatages non monotones et l'instabilité de la lecture du flux de la 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 : Correction de la dérive de l'horodatage RTSP : inadéquation de la fréquence d'horloge RTP,
Si « Correction de la dérive de l'horodatage RTSP : inadéquation de la fréquence d'horloge RTP, synchronisation audio/vidéo et erreurs de synchronisation d » 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 2 : Correction de la dérive de l'horodatage RTSP provoquant une perte de synchronisation audio
Vérifiez « Correction de la dérive de l'horodatage RTSP provoquant une perte de synchronisation audio/vidéo. Couvre l'inadéquation de la fréquence d'horloge 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 3 : Les horodatages RTP ne sont pas des horodatages d'horloge murale
Si « Les horodatages RTP ne sont pas des horodatages d'horloge murale » 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 4 : SDP clock rate is the first clue
Vérifiez « SDP clock rate is the first clue » 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 5 : Numéro de séquence vs horodatage
Si « Numéro de séquence vs horodatage » 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 6 : Limites des bits de marqueur et des images vidéo
Vérifiez « Limites des bits de marqueur et des images vidéo » 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 7 : Dérive de synchronisation audio/vidéo
Si « Dérive de synchronisation audio/vidéo » 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 8 : Timestamp jumps
Vérifiez « Timestamp jumps » 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 9 : Checklist for RTP timestamp drift
Si « Checklist for RTP timestamp drift » 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 10 : What to include in a useful report
Vérifiez « What to include in a useful report » 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.
Matrice d’acceptation
| Point | Preuve à conserver | Critère de réussite |
|---|---|---|
| Correction de la dérive de l'horodatage RTSP : inadéquation de la fréquence d'horloge RTP, synchronisation audio/vidéo e | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| Correction de la dérive de l'horodatage RTSP provoquant une perte de synchronisation audio/vidéo. Couvre l'inadéquation | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| Les horodatages RTP ne sont pas des horodatages d'horloge murale | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| SDP clock rate is the first clue | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| Numéro de séquence vs horodatage | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| Limites des bits de marqueur et des images vidéo | É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 :
- Modification RTP SSRC à mi-flux : débogage des redémarrages de la caméra, modifications de la source de flux, réinitialisations de séquence
- Erreur RTP dans le correctif du flux principal : diagnostiquer la perte de paquets, le blocage de la caméra et les macroblocs dans RTSP
- Erreur du serveur interne RTSP 500 : chemin du flux de la caméra, ressource de l'encodeur, micrologiciel et diagnostics de session