Mancata corrispondenza del canale interleaved RTSP su TCP: correzione della mappatura dei canali RTP/RTCP e assenza di problemi video

Come diagnosticare la mancata corrispondenza del canale interleaved RTSP su TCP, la mappatura dei canali RTP e RTCP, le intestazioni di trasporto, interleaved=0-1, nessun video e errori di analisi dei supporti della fotocamera.

rtsp su tcp, rtp interfogliato, Mancata corrispondenza del canale rtp, canale rtcp, intestazione di trasporto rtsp, nessun video, diagnostica rtsp

Il trasporto interleaved RTSP su TCP viene spesso utilizzato quando l'RTP UDP è bloccato da firewall, NAT, VPN o percorsi di inoltro cloud. Può far funzionare il flusso della telecamera attraverso reti in cui UDP fallirebbe. Ma introduce un'altra classe di problemi: "la mancata corrispondenza dei canali interleaved. La sessione RTSP si connette. "DESCRIBE" restituisce SDP. "SETUP" ha avuto successo. "GIOCA" ha successo. I byte multimediali arrivano sulla connessione TCP. Quindi il client non mostra video, audio, canale RTP sconosciuto, frame interleaved non valido o pacchetti RTCP analizzati come RTP." Gli utenti cercano "RTSP over TCP interleaved no video", "RTP interleaved channel mismatch", "RTSP interleaved 0-1", "RTSP TCP channel mapping" e "RTP over RTSP parsing error" quando il canale di controllo funziona ma l'analisi multimediale non riesce.

RTSP Inspector è utile in questo caso perché la prova importante è nell'intestazione "Transport" e nei dati interleaved con frame "$" sulla connessione TCP RTSP.

Cosa significa trasporto intercalato

Con il trasporto UDP, il controllo RTSP utilizza TCP e i supporti RTP/RTCP utilizzano porte UDP separate. Con il trasporto interleaved TCP, i pacchetti multimediali vengono incorporati all'interno della connessione TCP RTSP.

La risposta "SETUP" può contenere:

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

Ora il client deve mappare:

  • Canale 0: RTP video
  • Canale 1: video RTCP
  • Canale 2: RTP audio
  • Canale 3: audio RTCP

Se l'ordine di configurazione audio e video cambia, i presupposti codificati vengono interrotti. Se viene aggiunta una traccia di metadati, le assegnazioni dei canali possono spostarsi nuovamente.

Sintomi comuni

I problemi del canale interleaved sono simili a:

  • La sessione RTSP raggiunge "PLAY" ma il video rimane nero.
  • I byte RTP arrivano ma il parser del payload li rifiuta.
  • I rapporti del mittente RTCP vengono analizzati come supporti.
  • I pacchetti audio vengono inviati al depacketizzatore video.
  • I numeri sequenziali sembrano impossibili.
  • Il tipo di carico utile non corrisponde all'SDP per quella traccia.
  • Il client segnala "pacchetto RTP non valido" o "canale interleaved sconosciuto".

La rete potrebbe andare bene. La fotocamera potrebbe inviare contenuti multimediali. Il client sta semplicemente leggendo la mappatura dei canali sbagliata.

L'intestazione del trasporto è l'autorità

Non dedurre la mappatura dei canali solo dall'ordine delle tracce. Utilizza l'intestazione "Transport" restituita dalla fotocamera per ogni "SETUP".

Per ogni traccia, conserva:

  • URL di controllo traccia.
  • Modalità di trasporto.
  • Coppia di canali interlacciati.
  • Tipo di carico utile da SDP.
  • Tipo di supporto da SDP.

Quindi confronta i fotogrammi interlacciati in entrata con quella mappatura.

Stranezze della fotocamera e del proxy

Alcune fotocamere si comportano in modo incoerente:

  • Ignorano i numeri di canale interleaved richiesti e ne assegnano uno proprio.
  • Restituiscono "interleaved=0-1" per più tracce.
  • Inviano RTCP su canali inaspettati.
  • Omettono RTCP.
  • Un proxy riscrive "Transport" ma non riscrive i frame multimediali.

Questi sono esattamente i casi in cui un test per soli giocatori nasconde troppo. L'RTSP grezzo e le prove dei frame interlacciati sono importanti.

Lista di controllo per il debug del canale interleaved

Utilizza questo flusso di lavoro:

  1. Cattura l'SDP da "DESCRIBE".
  2. Identificare ogni traccia multimediale.
  3. Cattura ogni richiesta e risposta "SETUP".
  4. Registra le intestazioni "Transport" e i valori "interleaved=".
  5. Mappa i numeri dei canali per tracciare e il ruolo RTP/RTCP.
  6. Ispeziona i frame $ in arrivo e i byte del canale.
  7. Confronta i tipi di payload RTP con SDP per quella traccia.
  8. Controlla se RTCP appare sul canale dispari previsto.
  9. Controlla se le mappature dei canali cambiano dopo la riconnessione.
  10. Testare UDP solo dopo aver compreso la mappatura interlacciata TCP.

Diagnosi finale

I problemi di interleaved RTSP su TCP non sono sempre problemi di rete. Se arrivano i media ma non viene visualizzato il video, controlla la mappatura dei canali. L'intestazione "Transport" definisce quale canale interleaved trasporta ciascun flusso RTP e RTCP.

RTSP Inspector aiuta esponendo sia il controllo RTSP che il framing multimediale interleaved, quindi "RTSP si connette ma nessun video" può essere diagnosticato come un problema di mappatura dei canali invece che come un'ipotesi di codec o firewall.