Correzione del trasporto non supportato RTSP 461: IMPOSTAZIONE non riuscita, UDP vs TCP, errore di trasporto della fotocamera ffmpeg
Correzione del trasporto non supportato RTSP 461 e di ffmpeg \"IMPOSTAZIONE del metodo non riuscita: 461\". Riguarda gli errori di trasporto di integrazione UDP e TCP interlacciato, intestazioni di trasporto della telecamera, Fregata, Scrypted e NVR.
"RTSP/1.0 461 Unsupported Transport" è uno degli errori RTSP più ricercabili perché appare in ffmpeg, Frigate, Scrypted, bridge HomeKit, integrazioni NVR, client Android e strumenti personalizzati per fotocamere. Il registro spesso dice "IMPOSTAZIONE metodo non riuscita: "461 Trasporto non supportato". La fotocamera può accettare "OPZIONI" e "DESCRIBE", ma quando il client tenta di impostare il trasporto multimediale RTP, la fotocamera rifiuta la modalità di trasporto richiesta." Gli utenti cercano "RTSP 461 Unsupported Transport", "FFmpeg metodo SETUP non riuscito 461", "RTSP UDP vs TCP camera", "RTP AVP TCP interleaved non supportato" e "SETUP della fotocamera non riuscito trasporto non supportato" perché il problema non è solo l'URL RTSP. È la negoziazione del trasporto tra client e server.
RTSP Inspector è utile qui perché la prova decisiva è la richiesta "SETUP" e l'intestazione "Transport".
Cosa fa SETUP
Dopo "DESCRIBE", il client conosce le tracce del flusso da SDP. Quindi invia "SETUP" per ciascuna traccia per negoziare il trasporto multimediale.
Esempio UDP:
SETUP rtsp://camera/stream/trackID=1 RTSP/1.0
Transport: RTP/AVP;unicast;client_port=50000-50001
TCP interleaved example:
SETUP rtsp://camera/stream/trackID=1 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
Se la fotocamera non supporta la modalità richiesta, potrebbe restituire:
RTSP/1.0 461 Unsupported Transport
UDP-only and TCP-only behavior
Many cameras support both UDP RTP and TCP interleaved RTP. Some do not. Some older cameras support only UDP. Some cloud relays or restreamers support only TCP interleaved. Some NVR paths behave differently from direct camera paths.
Symptoms:
- UDP
SETUPfails but TCP works. - TCP interleaved
SETUPfails but UDP works. - Direct camera works, restream URL fails.
- Main stream supports one mode, sub-stream supports another.
- Client retries from UDP to TCP and still fails because the server rejects both requested formats.
The fix is not "always use TCP" or "always use UDP." The fix is to identify what the server actually accepts.
Transport header syntax matters
Some RTSP servers are strict. They may reject headers that are valid in theory but not accepted by firmware.
Compare:
Transport: RTP/AVP;unicast;client_port=50000-50001
E:
Transport: RTP/AVP/UDP;unicast;client_port=50000-50001
Some devices treat these differently. Some reject multicast. Some reject a client port range outside expected bounds. Some reject interleaved channel numbers not starting from zero.
RTSP Inspector should preserve the exact header string, not just a simplified "TCP" or "UDP" label.
Restreamers and proxy paths
When RTSP comes through a restreamer, NVR, or media bridge, the upstream and downstream transport capabilities may not match. The camera may support UDP, but the restreamer only exposes TCP. Or the restreamer may accept a SETUP request but fail when mapping media channels.
If a URL points to 127.0.0.1:8554 or another restreamer instead of the camera, diagnose that server's RTSP behavior, not only the camera's.
Debug checklist
Use this workflow:
- Capture
DESCRIBEand SDP. - Identify the track URL used in
SETUP. - Inspect the exact
Transportheader. - Record the
461 Unsupported Transportresponse. - Try UDP and TCP interleaved modes deliberately.
- Check whether the camera supports multicast, UDP unicast, or TCP interleaved.
- Compare main stream and sub-stream.
- Compare direct camera URL and NVR/restream URL.
- Avoid codec debugging until
SETUPsucceeds. - Preserve the exact request/response pair for vendor support.
Final diagnosis
RTSP 461 Unsupported Transport means the server rejected the media transport requested during SETUP. The root cause is usually UDP/TCP mode mismatch, strict Transport header syntax, unsupported interleaved mode, unsupported UDP mode, restreamer behavior, or track-specific server limitations.
RTSP Inspector helps diagnose this at the correct layer: RTSP transport negotiation before RTP packets ever appear.
<!-- rtsp-localized-evidence-foundation-v1:start -->Prova riproducibile per «Correzione del trasporto non supportato RTSP 461: IMPOSTAZIONE non riuscita, UDP vs TCP, errore di trasporto della fotocamera ffmpeg»
La risposta diretta è che una schermata nera o un solo codice non dimostra l’origine del guasto. Una diagnosi affidabile collega richiesta e risposta RTSP, trasporto negoziato, sessione valida e poi numeri di sequenza RTP, timestamp e segnali RTCP. Per «Correzione del trasporto non supportato RTSP 461: IMPOSTAZIONE non riuscita, UDP vs TCP, errore di trasporto della fotocamera ffmpeg» parti dal livello più vicino al sintomo visibile, ma conserva una cronologia comune per non confondere controllo, rete e decodifica.
Prima di cambiare camera, firewall o VMS, crea un test di base piccolo. Registra URL RTSP senza password, ora, percorso, trasporto richiesto, risposta del server e momento del primo pacchetto multimediale. Prova separatamente UDP e TCP interleaved quando disponibili. Non cambiare insieme percorso, credenziali e trasporto: se il secondo tentativo funziona, devi poter identificare la variabile decisiva.
| Livello | Evidenza da conservare | Domanda |
|---|---|---|
| RTSP | metodo, stato, header, CSeq e Session | Il server ha accettato proprio questa operazione? |
| SDP | control, payload type, clock rate e codec | È descritta la traccia attesa? |
| Transport | client_port, server_port o interleaved | I due estremi usano lo stesso canale? |
| RTP | SSRC, sequenza, timestamp e marker | Le unità arrivano in ordine spiegabile? |
| RTCP | sender report, CNAME e BYE | Orologio, identità e fine sono tracciabili? |
| Decoder | SPS/PPS/VPS e packetization mode | Il payload ricevuto può inizializzare il decoder? |
Separa «nessun media ricevuto» da «media ricevuto ma non decodificabile». Se RTP manca dopo SETUP e PLAY riusciti, verifica UDP, NAT, firewall e risposta Transport. Buchi nella sequenza provano perdita o riordinamento. Una sequenza continua senza immagine sposta l’indagine su payload type, clock rate, confini del frame e parametri H.264 o H.265. Questo confine è più utile del messaggio generico del player.
Come si scrive una risposta citabile?
Usa tre frasi: ultima operazione riuscita, prima evidenza fallita, prossimo test che separa due cause. Esempio: «DESCRIBE, SETUP e PLAY riescono; nessun RTP arriva alle porte annunciate; una prova TCP interleaved separerà blocco UDP e percorso media errato». Non attribuire il guasto a camera o rete senza una risposta o un pacchetto che dimostri il confine.
Quali dati rendono il caso riproducibile?
Conserva OPTIONS, DESCRIBE, SETUP e PLAY, SDP, risposta Transport e Session ripulita. Per RTP annota SSRC, prima e ultima sequenza, clock rate, buchi e durata. Indica se VLC o un altro VMS funziona, ma usalo come confronto controllato, non come prova che il client riuscito interpreti correttamente ogni regola.
Quando controllare server o client?
Controlla il server se rifiuta un metodo, fornisce un control URL assente, restituisce un trasporto incompatibile o cambia SSRC o clock senza transizione. Controlla il client se riusa un nonce scaduto, perde Session, richiede UDP senza aprire le porte o tratta ogni fine NAL come fine access unit. Se il difetto è intermedio, pacchetto e tempo devono accompagnare ogni conclusione.
Come verificare il rapporto?
Ripeti da una connessione nuova e confronta le cronologie fino alla prima differenza. Rimuovi password e valori Authorization completi. Collega ogni conclusione a CSeq, sequenza o timestamp. Segui la guida RTSP correlata e usa RTSP Inspector per testare uno stream RTSP e raccogliere prove localmente, senza caricare il video su un servizio pubblico.
<!-- rtsp-localized-evidence-foundation-v1:end --><!-- rtsp-localized-layer-verdicts-v1:start -->Dall’osservazione al verdetto per livello
In «Correzione del trasporto non supportato RTSP 461: IMPOSTAZIONE non riuscita, UDP vs TCP, errore di trasporto della fotocamera ffmpeg» scrivi prima l’osservazione e poi l’interpretazione. Un’altra persona deve poter ritrovare l’osservazione nella cattura: stato RTSP legato a CSeq, valore SDP, risposta Transport, buco di sequenza, cambio SSRC o differenza tra RTP timestamp e RTCP sender report. “Il server è lento” o “il codec è incompatibile” resta un’ipotesi finché una prova precisa non la rende migliore delle alternative.
Dividi il percorso in confini. Prima si apre TCP, poi vengono accettati OPTIONS o DESCRIBE. SDP deve descrivere una traccia utilizzabile con control URL, payload type e clock rate. SETUP richiede una risposta Transport compatibile e PLAY una Session valida. Solo dopo vengono arrivo RTP, ordine, tempo e preparazione del decoder. Fermati al primo confine senza prova di successo.
Mantieni fonte e intervallo costanti nei confronti. UDP contro TCP interleaved usa lo stesso percorso e le stesse credenziali. Main stream contro sub stream conserva client e trasporto. Confrontando VLC e VMS, registra metodi, header e URL reali; differenze in control URL, Authorization, Session o keepalive possono spiegare il risultato più del nome del programma.
Matrice di esclusione
Parti da due ipotesi. Se non arriva media, UDP può essere bloccato oppure il server può inviare ad altre porte. TCP interleaved verifica la prima; confrontare offerta e risposta Transport, IP e porte verifica la seconda. Per immagine corrotta, la sequenza RTP separa perdita da inizializzazione incompleta, mentre SPS/PPS/VPS prima del primo frame verifica i parametri codec.
Per ogni ipotesi annota una prova favorevole e una che potrebbe smentirla. Un’affermazione che nessun pacchetto può negare è troppo ampia. “NAT elimina UDP” è smentita da RTP sulla porta client. “Mancano parametri H.264” è smentita da SPS e PPS validi prima di IDR. Il rapporto resta così prioritario.
Leggere il tempo senza conclusioni eccessive
RTSP CSeq ordina transazioni, RTP sequence ordina pacchetti, RTP timestamp esprime il tempo di campionamento e l’orologio di cattura l’arrivo al punto osservato. Non sono lo stesso orologio. Variazione di arrivo non prova drift; salto timestamp non prova perdita senza sequenza. RTCP sender report collega orologi RTP audio e video a un riferimento comune.
Pacchetto di accettazione
Chiudi il caso quando la correzione si ripete su una connessione nuova con una sola modifica documentata. Il rapporto indica input, ultimo confine riuscito, prima prova fallita, modifica, risultato e test aperti. Allega un breve transcript o statistiche mirate. Nascondi i segreti, ma conserva CSeq, Session ripulita, SSRC e intervallo.
Usa la risoluzione problemi RTSP per ricostruire il flusso e i report di RTSP Inspector per consegnare il confine al team camera, rete o VMS.
Registro della modifica e test di regressione
Trasforma la correzione in un registro ripetibile: valore precedente e nuovo, posizione dell’impostazione, ora della riconnessione ed effetto atteso sui pacchetti. Con TCP interleaved non basta “ora compare l’immagine”: i media non devono più dipendere da porte UDP separate e devono apparire sui canali negoziati. Se cambia control URL, SETUP deve usare il nuovo percorso e PLAY e keepalive devono conservare la stessa Session.
Quando è sicuro, esegui un controllo negativo. Ripristina il vecchio valore in un ambiente di prova o confronta una cattura precedente con input uguali; dovrebbe fallire lo stesso confine. Questo impedisce di scambiare un riavvio casuale, una cache o una modifica di rete non documentata per la soluzione. Su una camera di produzione usa evidenza storica e non provocare intenzionalmente l’interruzione.
Mantieni la connessione oltre i normali timeout keepalive e Session. Osserva OPTIONS o GET_PARAMETER e verifica coerenza di CSeq e Session. Per RTP confronta perdita, duplicati e riordinamento in finestre uguali prima e dopo. Per il codec apri una connessione nuova e attendi il primo IDR; un decoder già inizializzato può nascondere parametri di avvio mancanti.
Limita l’affermazione: “main stream TCP verificato dieci minuti con questo client” è migliore di “RTSP riparato”. Specifica traccia, trasporto, codec, client e durata. Audio, sub stream e riconnessione dopo perdita di rete restano aperti se non sono stati provati.
Separa fatti e raccomandazione. I fatti sono risposte, pacchetti e misure; la raccomandazione propone una modifica a camera, firewall o client. Un altro team deve poter accettare i fatti anche scegliendo una cura diversa. Chiudi con responsabile, azione successiva e criterio, consegnando il breve intervallo con la guida ai report RTSP.
<!-- rtsp-localized-layer-verdicts-v1:end -->