Traccia audio RTSP, AAC e tracce SDP sconosciute: perché uno streaming video non riesce prima della riproduzione

Come diagnosticare flussi RTSP con tracce audio, payload AAC, sezioni multimediali SDP sconosciute ed errori di compatibilità del client.

RTSP, SDP, AAC, traccia audio, traccia sconosciuta

Alcuni flussi della telecamera RTSP falliscono non perché il video non è disponibile, ma perché la sessione contiene più di quanto previsto dal client. Una telecamera può pubblicizzare video, audio, metadati, tracce private, audio backchannel o sezioni multimediali specifiche del fornitore in SDP. Un consumatore rigoroso può rifiutare l'intera sessione quando incontra una traccia non supportata.

Ricerche come "L'audio AAC RTSP non funziona", "Traccia sconosciuta in SDP", "Lo streaming RTSP non riesce con l'audio abilitato" o "La fotocamera funziona dopo aver disabilitato l'audio" puntano allo stesso limite diagnostico: SDP descrive la sessione e ogni traccia pubblicizzata può influire sulla compatibilità.

L'SDP può pubblicizzare più che i video

Una risposta RTSP "DESCRIBE" può includere più sezioni multimediali:

  • m=video
  • m=audio
  • tracce di metadati
  • percorsi applicativi
  • payload privati ​​del fornitore
  • controllare gli URL per traccia

Per ogni traccia, il cliente deve decidere se può configurarla, ignorarla o fallire. Alcuni clienti sono tolleranti. Altri sono severi. Se un motore di restreaming o un prodotto di analisi prevede solo una traccia video supportata, le sezioni SDP sconosciute possono causare errori sorprendenti.

L'audio AAC ha i propri limiti di compatibilità

AAC su RTP è abbastanza comune, ma non tutti i consumatori RTSP gestiscono ogni carico utile audio in modo pulito. Potrebbe essere necessario che SDP descriva modalità, configurazione, frequenza di clock, canali e tipo di carico utile. Se questi campi mancano o sono insoliti, un client potrebbe non riuscire durante l'installazione o successivamente durante la depacketizzazione.

I problemi audio possono apparire come:

  • lo streaming si apre solo quando l'audio è disabilitato
  • Errore di analisi SDP
  • tipo di carico utile non supportato
  • "SETUP" non riesce sulla traccia audio
  • il video funziona in VLC ma fallisce in un percorso di acquisizione più rigoroso
  • il registratore rifiuta la sessione anche se la traccia video è valida

Quest'ultimo caso è importante: una traccia audio non supportata può bloccare l'accesso a una traccia video utilizzabile a seconda del comportamento del client.

Le tracce sconosciute dovrebbero essere segnalate, non nascoste

Se l'SDP contiene una sezione multimediale sconosciuta, uno strumento diagnostico dovrebbe preservarla. Nascondere le tracce non supportate rende più difficile spiegare gli errori di compatibilità.

Le prove utili includono:

  • sezione completa dei media SDP
  • tipo di carico utile
  • valore "rtpmap".
  • valori "fmtp".
  • URL di controllo traccia
  • se è stato tentato il SETUP
  • se si è verificato un errore nella traccia video, audio o metadati

Ciò consente agli ingegneri di decidere se disabilitare la traccia, filtrarla, modificare il profilo della telecamera o regolare il supporto downstream.

Disattiva l'audio come test, non come diagnosi

Disabilitare l'audio è una soluzione comune. Può essere valido, soprattutto per i flussi di lavoro di analisi che richiedono solo video. Ma dovrebbe essere trattato come un test:

  • il video e l'audio falliscono
  • solo il video riesce
  • L'SDP è cambiato dopo aver disabilitato l'audio
  • il carico utile o la traccia non supportati sono scomparsi
  • Il percorso video RTP è rimasto lo stesso

Questo confronto dimostra che l'errore dipende dalla composizione della sessione, non dalla raggiungibilità di base della rete.

Dove si adatta l'ispettore RTSP

RTSP Inspector dovrebbe mantenere visibile la struttura della sessione. Il suo confine non è la riproduzione; è una spiegazione del protocollo. Per i flussi RTSP multitraccia, dovrebbe aiutare a rispondere:

  • quante tracce ha pubblicizzato la SDP?
  • quali tracce erano supportate?
  • quale traccia ha fallito la configurazione?
  • è arrivato il video RTP?
  • l'audio o i metadati hanno bloccato il consumatore?
  • l'azione successiva dovrebbe essere la modifica del profilo della fotocamera o la modifica del parser downstream?

Quando il flusso della telecamera "non funziona", la traccia video potrebbe andare bene. La traccia non supportata accanto potrebbe essere il vero motivo per cui la sessione non è riuscita.