Inadéquation des canaux entrelacés RTSP sur TCP : correction du mappage des canaux RTP/RTCP et aucun problème vidéo
Comment diagnostiquer l'inadéquation des canaux entrelacés RTSP sur TCP, le mappage des canaux RTP et RTCP, les en-têtes de transport, entrelacé = 0-1, l'absence de vidéo et les échecs d'analyse des médias de la caméra.
Le transport entrelacé RTSP sur TCP est souvent utilisé lorsque UDP RTP est bloqué par des pare-feu, NAT, VPN ou chemins de relais cloud. Il peut faire fonctionner un flux de caméra sur des réseaux où UDP échouerait. Mais cela introduit une autre classe de problèmes: "la non-concordance des canaux entrelacés. La session RTSP se connecte. DESCRIBE renvoie SDP. SETUP réussit. « PLAY » réussit. Les octets multimédia arrivent sur la connexion TCP. Ensuite, le client n'affiche aucune vidéo, aucun audio, un canal RTP inconnu, une trame entrelacée mal formée ou des paquets RTCP analysés comme RTP."
Les utilisateurs recherchent « RTSP sur TCP entrelacé sans vidéo », « Incompatibilité de canal entrelacé RTP », « RTSP entrelacé 0-1 », « Mappage de canal TCP RTSP » et « Erreur d'analyse RTP sur RTSP » lorsque le canal de contrôle fonctionne mais que l'analyse multimédia échoue.
RTSP Inspector est utile ici car les preuves importantes se trouvent dans l'en-tête Transport et les données entrelacées encadrées $ sur la connexion RTSP TCP.
Ce que signifie le transport entrelacé
Avec le transport UDP, le contrôle RTSP utilise TCP et les médias RTP/RTCP utilisent des ports UDP distincts. Avec le transport TCP entrelacé, les paquets multimédias sont intégrés dans la connexion TCP RTSP.
La réponse SETUP peut contenir :
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
That means RTP and RTCP for that track should be carried on interleaved channels 0 and 1. Interleaved frames use a $ marker, a channel byte, a length, and then the RTP or RTCP packet.
If the client maps channels incorrectly, it may parse RTP as RTCP, audio as video, or metadata as media.
Multiple tracks create more mappings
A camera with video and audio may return separate SETUP responses:
Video Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Audio Transport: RTP/AVP/TCP;unicast;interleaved=2-3
Le client doit maintenant mapper :
- Canal 0 : vidéo RTP
- Canal 1 : vidéo RTCP
- Canal 2 : audio RTP
- Canal 3 : RTCP audio
Si l’ordre de configuration audio et vidéo change, les hypothèses codées en dur sont rompues. Si une piste de métadonnées est ajoutée, les affectations de canaux peuvent à nouveau changer.
Symptômes courants
Les problèmes de canaux entrelacés ressemblent à :
- La session RTSP atteint « PLAY » mais la vidéo reste noire.
- Les octets RTP arrivent mais l'analyseur de charge utile les rejette.
- Les rapports d'expéditeur RTCP sont analysés en tant que média.
- Les paquets audio sont envoyés au dépacketiseur vidéo.
- Les numéros de séquence semblent impossibles.
- Le type de charge utile ne correspond pas au SDP pour cette piste.
- Le client signale un « paquet RTP invalide » ou un « canal entrelacé inconnu ».
Le réseau peut bien fonctionner. La caméra envoie peut-être des médias. Le client lit simplement le mauvais mappage de canal.
L'en-tête de transport est l'autorité
Ne déduisez pas le mappage des canaux à partir du seul ordre des pistes. Utilisez l'en-tête Transport renvoyé par la caméra pour chaque SETUP.
Pour chaque piste, conservez :
- URL de contrôle de suivi.
- Mode de transport.
- Paire de canaux entrelacés.
- Type de charge utile de SDP.
- Type de média de SDP.
Comparez ensuite les trames entrelacées entrantes à ce mappage.
bizarreries de caméra et de proxy
Certaines caméras se comportent de manière incohérente :
- Ils ignorent les numéros de canaux entrelacés demandés et attribuent les leurs.
- Ils renvoient « interleaved=0-1 » pour plusieurs pistes.
- Ils envoient RTCP sur des canaux inattendus.
- Ils omettent RTCP.
- Un proxy réécrit « Transport » mais ne réécrit pas les images multimédias.
Ce sont exactement les cas où un test réservé aux joueurs cache trop de choses. Le RTSP brut et la preuve de trame entrelacée sont importants.
Liste de contrôle pour le débogage des canaux entrelacés
Utilisez ce flux de travail :
- Capturez SDP depuis
DESCRIBE. - Identifiez chaque piste multimédia.
- Capturez chaque demande et réponse « SETUP ».
- Enregistrez les en-têtes
Transportet les valeursinterleaved=. - Mappez les numéros de canal à suivre et le rôle RTP/RTCP.
- Inspectez les trames
$et les octets de canal entrants. - Comparez les types de charge utile RTP avec SDP pour cette piste.
- Vérifiez si RTCP apparaît sur le canal impair attendu.
- Vérifiez si les mappages de canaux changent après la reconnexion.
- Testez UDP uniquement après avoir compris le mappage entrelacé TCP.
Diagnostic final
Les problèmes d'entrelacement RTSP sur TCP ne sont pas toujours des problèmes de réseau. Si le média arrive mais qu'aucune vidéo n'apparaît, inspectez le mappage des canaux. L'en-tête « Transport » définit quel canal entrelacé transporte chaque flux RTP et RTCP.
RTSP Inspector aide en exposant à la fois le contrôle RTSP et le cadrage multimédia entrelacé, de sorte que « RTSP se connecte mais pas de vidéo » peut être diagnostiqué comme un problème de mappage de canal au lieu d'une hypothèse de codec ou de pare-feu.