Diagnostica del flusso della telecamera RTSP: un flusso di lavoro sistematico per la risoluzione dei problemi dalla DESCRIZIONE alla riproduzione
I problemi della fotocamera RTSP di solito seguono uno schema: il livello di connessione, il livello di controllo o il livello multimediale. Questo flusso di lavoro diagnostico mostra quali prove raccogliere, quale fase del protocollo non funziona e come leggere SDP, RTP e RTCP per individuare l'errore esatto.
I guasti della telecamera RTSP non necessitano di congetture. Il protocollo è suddiviso in più livelli: "connessione (TCP/TLS), controllo (DESCRIBE/SETUP/PLAY) e supporto (RTP/RTCP). Quando il flusso si interrompe, uno di questi strati è il problema. Il tuo compito è trovare quale."
Il modello a tre strati
Ogni problema RTSP rientra in uno dei tre bucket. Inizia da qui prima di approfondire i codici di errore specifici:
Livello 1 - Connessione: il client riesce a raggiungere la telecamera? Handshake TCP, negoziazione TLS, filtraggio delle porte, routing VPN. Se telnet camera-ip 554 non si connette, nient'altro ha importanza.
Livello 2: controllo: la connessione funziona, ma i comandi RTSP non riescono. DESCRIBE restituisce 400/404/401. SETUP restituisce 461. PLAY restituisce 453. Il piano di controllo presenta problemi a livello di protocollo: formato URL, autenticazione, negoziazione del trasporto, gestione della sessione.
Livello 3 - Media: Il controllo funziona perfettamente, ma il video/audio è danneggiato. I pacchetti RTP arrivano ma non possono essere decodificati. I timestamp vanno alla deriva. I frame sono danneggiati. RTCP segnala una perdita. Il piano multimediale presenta problemi di carico utile, codec o qualità della rete.
Tabella di triage rapido
| Symptom | Probabile strato | Controlla prima |
|---|---|---|
| "Connessione rifiutata" | Strato 1 | Porta 554 raggiungibile? Blocco del firewall? |
| 400 Richiesta errata su DESCRIBE | Strato 2 | Formato URL RTSP, codifica, intestazioni proxy |
| 401 Non autorizzato | Strato 2 | Digest parametri di autenticazione, nome utente/password |
| 461 Trasporto non supportato | Strato 2 | Trasporto UDP vs TCP, intestazione SETUP |
| DESCRIVERE OK, IMPOSTAZIONE OK, niente video | Strato 3 | Tipo di payload RTP, mappatura codec |
| Il video viene riprodotto, quindi si blocca | Strato 3 | Perdita di pacchetti, keepalive, timeout della sessione |
| Audio e video si allontanano | Strato 3 | Timestamp RTP, mancata corrispondenza della frequenza di clock |
Le prove che devi raccogliere
Prima di diagnosticare qualsiasi problema RTSP, acquisisci queste cinque prove:
- La risposta DESCRIBE completa: SDP ti dice quali tracce esistono, quali codec sono in uso e quali tipi di carico utile sono assegnati.
- Richiesta e risposta SETUP: l'intestazione di trasporto mostra UDP e TCP, porte client e ID di canale interleaved.
- La risposta PLAY: conferma che la sessione è attiva e l'RTP scorre.
- Campioni di pacchetti RTP: tipo di payload byte, numeri di sequenza, timestamp, SSRC.
- Rapporti mittente/destinatario RTCP: conteggio delle perdite di pacchetti, jitter, ritardo tra gli arrivi.
Senza questi, stai indovinando. Con loro, il fallimento è solitamente evidente.
Guide approfondite per errore
- RTSP 400 Richiesta errata: DESCRIBE non riuscita, URL non valido
- Trasporto non supportato RTSP 461: IMPOSTAZIONE non riuscita
- Frammentazione H.264 FU-A: perdita di pacchetti RTP e riassemblaggio NAL
- Mancata corrispondenza del tipo di payload dinamico RTP: mappatura SDP e codec
- RTSP UDP RTP bloccato: firewall, NAT e VPN
- Drift timestamp RTP: frequenza di clock e sincronizzazione audio/video
- Timeout sessione RTSP e Keepalive
- Rapporti mittente RTCP: analisi di jitter e perdita di pacchetti
Quando intensificare
Se tutti e tre i livelli vengono verificati (TCP si connette, comandi RTSP hanno esito positivo, pacchetti RTP arrivano con tipi di payload corretti e timestamp stabili) ma il video sembra ancora sbagliato, il problema è probabilmente nel livello del decodificatore o dell'applicazione, non nel trasporto RTSP. A quel punto, acquisisci un breve PCAP, esporta alcuni secondi di RTP e consegnalo al team del decodificatore.