Ho trascorso anni ad aiutare gli integratori a inviare flussi di telecamere RTSP alle piattaforme cloud. La verità è che la maggior parte dei problemi di connessione deriva da errori di formato di cui nessuno vi avverte.
Per soddisfare i requisiti dei server di streaming standard statunitensi (AWS, Wowza, Azure), il flusso RTSP deve utilizzare RTSP-interleaved su TCP sulla porta 554, codificare il video in H.264 High Profile o H.265, utilizzare l'audio AAC-LC a 44,1 o 48kHz e supportare l'autenticazione Digest Access Authentication per gli handshake sicuri nel cloud.

Qui di seguito, illustro le quattro domande più comuni su RTSP che mi vengono poste da integratori come David Miller. Ognuna di esse riguarda un problema reale che può bloccare il vostro progetto. Se vi state approvvigionando di Telecamere PTZ dalla Cina 1 per le distribuzioni negli Stati Uniti, questa guida vi risparmierà settimane di risoluzione dei problemi.
Indice dei contenuti
Come si estrae un flusso RTSP stabile dalla videocamera per una trasmissione in diretta su YouTube?
Ho visto troppi integratori perdere una trasmissione dal vivo perché hanno trattato RTSP come un protocollo plug-and-play. Non è così. Ci sono dei passaggi nascosti tra la telecamera e YouTube.
YouTube non accetta direttamente RTSP. È necessario prima estrarre il flusso RTSP in un server multimediale come Wowza 2 o OBS, quindi convertirlo in RTMP o SRT prima di inviarlo a YouTube Live. Senza questo passaggio intermedio, la trasmissione non partirà mai.

Perché YouTube rifiuta l'RTSP grezzo
YouTube Live, Twitch e Facebook Live richiedono tutti RTMP o SRT per l'ingest. Non parlano RTSP. Si tratta di una scelta progettuale di queste piattaforme. RTSP è stato creato come protocollo di controllo per lo streaming point-to-point, non per la distribuzione pubblica di massa. Quindi è sempre necessario un “traduttore” nel mezzo.
Ecco il flusso di lavoro tipico:
| Passo | Azione | Strumento/Protocollo |
|---|---|---|
| 1 | La telecamera emette un flusso RTSP | rtsp://user:pass@IP:554/live/stream1 |
| 2 | Il server multimediale riceve RTSP | Wowza, OBS Studio o MediaMTX |
| 3 | Il server si converte in RTMP | Spinta RTMP all'URL di ingest di YouTube |
| 4 | YouTube distribuisce tramite HLS | Gli spettatori guardano su browser/app |
Scegliere il giusto codec prima di iniziare
È qui che molti progetti falliscono. La videocamera potrebbe essere impostata di default su H.265 per risparmiare larghezza di banda. Ma la pipeline di ingest di YouTube gestisce Codifica H.264 3 in modo molto più fluido. Se si invia H.265 a YouTube tramite OBS, si può forzare una transcodifica in tempo reale che aggiunge ritardo, fa cadere fotogrammi o blocca il flusso.
Il mio consiglio è semplice. Impostate il flusso principale della vostra fotocamera su H.264 Profilo alto a 1080p, 30fps, con una velocità di trasmissione costante tra 4 e 6 Mbps. Questo è il punto di forza per ottenere la qualità di YouTube Live senza sovraccaricare la larghezza di banda in upload.
L'audio è più importante di quanto si pensi
Molte telecamere di sicurezza emettono l'audio G.711 per impostazione predefinita. Il G.711 va bene per l'interfono e le conversazioni bidirezionali. Ma i moderni CDN e le piattaforme come YouTube rifiutano il G.711. Vogliono Audio AAC-LC 4 a 44,1 kHz o 48 kHz. Se la telecamera non supporta l'AAC in modo nativo, il media server dovrà transcodificare l'audio. Questo comporta un maggiore carico per la CPU e può introdurre una deriva dell'audio in trasmissioni di lunga durata.
Le telecamere PTZ di Loyalty-Secu supportano sia l'uscita AAC che G.711. È possibile cambiare il codec audio nell'interfaccia web della telecamera prima di iniziare lo streaming. In questo modo si elimina la necessità di transcodificare l'audio e lo streaming rimane stabile per ore.
La decisione TCP vs UDP
Se la telecamera si trova dietro un firewall aziendale o un modem 4G LTE, è probabile che i pacchetti UDP vengano eliminati o bloccati. Dico sempre ai miei clienti di forzare Interleaving TCP per RTSP 5 sulla connessione RTSP. In questo modo tutti i dati video sono racchiusi nel canale di controllo TCP. La latenza è leggermente superiore, ma passa senza problemi attraverso firewall e router NAT. Secondo la mia esperienza, il passaggio da UDP a TCP riduce i fallimenti delle connessioni di circa 90%.
La mia autenticazione RTSP (Digest/Basic) sarà compatibile con il mio Cloud Server?
Una volta ho aiutato un cliente a risolvere un errore 401 Unauthorized per tre giorni. La causa era di una semplicità imbarazzante. La sua videocamera utilizzava l'autenticazione di base, mentre Wowza richiedeva l'autenticazione Digest.
Server cloud statunitensi come Wowza, AWS Elemental MediaLive 6, e Azure Media Services richiedono l'autenticazione Digest Access per le connessioni RTSP. Se la videocamera supporta solo l'autenticazione di base, il server rifiuterà ogni tentativo di connessione con un errore 401.

Qual è la differenza tra Basic e Digest?
L'autenticazione di base invia il nome utente e la password in testo normale (codificato Base64, ma non crittografato). L'autenticazione Digest utilizza un meccanismo di sfida-risposta. Il server invia un valore casuale (chiamato nonce) e la fotocamera esegue un hashish della password con il nonce prima di rispedirla. La password vera e propria non viaggia mai sulla rete.
| Caratteristica | Autorizzazione di base | Autorizzazione Digest |
|---|---|---|
| Esposizione della password | Inviato in un testo quasi semplice | Mai inviato direttamente |
| Livello di sicurezza | Basso | Medio-alto |
| Supporto per i server statunitensi | Raramente accettato | Richiesto dalla maggior parte dei |
| Compatibilità con il firewall | Funziona ma è rischioso | Funziona e si assicura |
| Supporto fedeltà-Secu | Sì | Sì (impostazione predefinita) |
Perché i server statunitensi sono severi su questo punto
Nel mercato statunitense, la conformità alla cybersecurity non è facoltativa. I clienti aziendali, le agenzie governative e i progetti di infrastrutture critiche richiedono tutti credenziali criptate o con hash. Wowza Streaming Engine, ad esempio, non tenterà nemmeno di estrarre un flusso se la telecamera risponde con Basic Auth quando è richiesto Digest. Servizi multimediali Azure 7 ha restrizioni simili.
Molte fotocamere a basso costo provenienti da fabbriche sconosciute vengono ancora fornite con l'autenticazione di base come unica opzione. Questo è un ostacolo per qualsiasi implementazione seria negli Stati Uniti. In Loyalty-Secu, ogni telecamera che forniamo supporta l'autenticazione Digest per impostazione predefinita. Supportiamo anche RTSPS (RTSP over TLS) per i clienti che necessitano di una crittografia completa sul canale di controllo.
Come testare prima di distribuire
Prima di inviare le telecamere in un cantiere, verificare l'handshake di autenticazione. Utilizzate uno strumento come VLC o FFprobe per connettersi all'URL RTSP della telecamera. Se VLC si connette senza problemi ma il server cloud rifiuta lo streaming, il problema è quasi sempre una mancata corrispondenza dell'autenticazione. Controllare le impostazioni di sicurezza della videocamera e verificare che Digest sia abilitato. Quindi eseguire nuovamente il test con il server di destinazione.
Raccomando inoltre di impostare una password forte e unica per ogni telecamera. Le password predefinite come “admin/admin” sono un altro motivo per cui i server statunitensi e i reparti IT bloccheranno i vostri dispositivi a livello di rete.
È possibile personalizzare l'URL RTSP in modo da includere substream specifici per ridurre la larghezza di banda?
Ho lavorato con integratori che hanno bruciato l'intero budget mensile per i dati in due giorni perché hanno utilizzato il main stream invece di un substream su 4G. Questo errore è costoso ed evitabile.
Sì, la maggior parte delle telecamere IP professionali consente di personalizzare l'URL RTSP per selezionare un substream specifico. Un URL substream tipico ha l'aspetto di rtsp://user:pass@IP:554/live/stream2. I substream utilizzano una risoluzione e una velocità di trasmissione inferiore, ideale per Monitoraggio remoto tramite 4G 8 o connessioni a larghezza di banda limitata.

Capire il main stream e il substream
Ogni telecamera PTZ professionale offre almeno due flussi. Il flusso principale è ad alta risoluzione (1080p o 4K) con bitrate elevato per la registrazione e le prove. Il flusso secondario è a bassa risoluzione (D1, CIF o 720p) con bassa bitrate per l'anteprima dal vivo e l'accesso remoto.
Ecco un tipico confronto:
| Parametro | Flusso principale | Sottocorrente |
|---|---|---|
| Risoluzione | 1920×1080 o 3840×2160 | 704×576 o 1280×720 |
| Bitrate | 4-8 Mbps | 512 Kbps-1,5 Mbps |
| Frequenza dei fotogrammi | 25-30 fps | 10-15 fps |
| Caso d'uso | Registrazione, prove, analisi dell'intelligenza artificiale | Anteprima dal vivo, visualizzazione mobile, 4G |
| Esempio di percorso RTSP | /live/stream1 | /live/stream2 |
Perché il formato dell'URL RTSP è importante
I server di streaming standard statunitensi analizzano l'URL RTSP in modo molto rigoroso. Se l'URL contiene caratteri speciali, spazi o strutture di percorso non standard, il server non riuscirà a connettersi. Il formato corretto dovrebbe sempre seguire questo schema:
rtsp://username:password@192.168.1.100:554/live/stream2 Alcuni marchi di fotocamere utilizzano percorsi URL strani come /h264/ch1/sub/av_stream o /cam/realmonitor?canale=1&sottotipo=1. Questi percorsi funzionano, ma possono confondere alcuni server se la stringa di query non viene gestita correttamente. Noi di Loyalty-Secu utilizziamo percorsi RTSP puliti e standardizzati che seguono le convenzioni URI più comuni. Questo rende l'integrazione più veloce e riduce i ticket di assistenza.
Risparmio di larghezza di banda nelle installazioni solari 4G
Per i nostri sistemi PTZ solari 4G LTE, la larghezza di banda è denaro. Ogni megabyte è importante. Consiglio sempre ai clienti di prelevare il sub-stream per la visualizzazione dal vivo in remoto e di accedere allo stream principale solo quando devono rivedere i filmati registrati o eseguire analisi AI. Questa semplice modifica può ridurre il costo mensile dei dati 4G di 70% o più.
È inoltre possibile regolare il bitrate e il frame rate del substream nelle impostazioni della telecamera. Per il monitoraggio perimetrale di base, 720p a 10fps con 512 Kbps è più che sufficiente per vedere cosa sta succedendo. Conservare il flusso completo a 1080p 30fps per la scheda SD o la registrazione NVR.
Perché il mio flusso RTSP perde la connessione ogni pochi minuti sul mio server locale?
Conosco la frustrazione. Si imposta tutto, il flusso viene riprodotto per due minuti e poi muore. Ci si ricollega. Muore di nuovo. Questo loop può farvi impazzire. Ma la causa principale è di solito una delle tre cose.
Le cadute di flusso RTSP sono spesso causate da impostazioni GOP errate, perdita di pacchetti UDP dietro firewall o timeout RTSP del server più breve dell'intervallo di keepalive della telecamera. La correzione di queste tre impostazioni risolve la maggior parte dei problemi di disconnessione.

Il problema del GOP di cui nessuno parla
GOP è l'acronimo di Group of Pictures. È l'intervallo tra i fotogrammi chiave (I-frames) nel flusso video. I server di streaming, in particolare quelli che eseguono la segmentazione HLS, hanno bisogno di un GOP coerente. Se il GOP della videocamera salta (cosa che accade quando si imposta “auto”), il server non può creare segmenti HLS puliti. Ciò provoca l'esaurimento del buffer e il server interrompe la connessione.
La mia regola empirica è quella di impostare il parametro Struttura del GOP 9 a 2 volte la frequenza dei fotogrammi. Se si effettua lo streaming a 30 fps, impostare il GOP su 60 fotogrammi. Se si effettua lo streaming a 25 fps, impostarlo a 50. In questo modo il server riceve un fotogramma chiave ogni 2 secondi, perfettamente in linea con i segmenti HLS standard di 2 secondi.
Problemi di firewall e NAT con UDP
Se il flusso RTSP utilizza il trasporto UDP, ogni pacchetto RTP è un datagramma UDP separato. I firewall e i router NAT tengono traccia delle “connessioni” UDP con timeout brevi, spesso da 30 a 60 secondi. Se c'è una breve pausa nel flusso (ad esempio, durante una scena a basso movimento in cui il codificatore invia pochi pacchetti), il firewall può chiudere la mappatura NAT. Quando arriva il pacchetto successivo, viene abbandonato. Il flusso si interrompe.
La soluzione è passare a RTSP interlacciato su TCP. In questa modalità, tutti i dati RTP viaggiano all'interno della stessa connessione TCP dei comandi di controllo RTSP. Le connessioni TCP rimangono aperte finché entrambe le parti mantengono viva la sessione. I firewall non chiudono le connessioni TCP in modo aggressivo come le mappature UDP.
Timeout del server vs. Keepalive della telecamera
La maggior parte dei server RTSP ha un timeout di sessione, di solito 60 secondi. Si suppone che la telecamera invii messaggi RTSP keepalive (come OPZIONI o GET_PARAMETRO richieste) prima della scadenza del timeout. Se l'intervallo di keepalive della telecamera è più lungo del timeout del server, quest'ultimo presume che la telecamera sia scomparsa e chiude la sessione.
Controllare entrambi i lati. Sulla fotocamera, accertarsi che il Intervallo di keepalive RTSP 10 è impostato su 30 secondi o meno. Sul vostro server, spesso è possibile aumentare il timeout della sessione a 120 secondi come margine di sicurezza. In Loyalty-Secu, le nostre telecamere inviano messaggi keepalive ogni 25 secondi per impostazione predefinita. Ciò rientra nella finestra di timeout di tutti i principali server di streaming che ho testato.
Saturazione della larghezza di banda della rete
Un'altra cosa che vedo spesso. Se la velocità di trasmissione della telecamera supera la capacità della rete, i pacchetti vengono eliminati e lo streaming si interrompe o muore. Questo fenomeno è comune nelle reti di uffici condivisi, dove più telecamere competono per la larghezza di banda. Monitorare l'utilizzo della rete. Se è superiore a 70%, ridurre la velocità di trasmissione della telecamera o aggiornare lo switch e l'uplink.
Un flusso RTSP stabile non è una magia. È il risultato di impostazioni corrette sia sulla telecamera che sul server. Se le impostazioni di GOP, trasporto, keepalive e larghezza di banda sono corrette, il flusso durerà per giorni senza alcuna caduta.
Conclusione
Il vostro flusso RTSP funzionerà con i server statunitensi se utilizzate H.264, Digest Auth, trasporto TCP e impostazioni GOP coerenti. Se queste impostazioni sono corrette, l'integrazione diventa semplice.
1. Esplora le telecamere PTZ professionali ottimizzate per i server di streaming statunitensi. ︎ 2. Scoprite come Wowza Streaming Engine ingerisce RTSP per la trasmissione in diretta. ︎ 3. Guida di FFmpeg ai parametri di codifica H.264 per lo streaming. ︎ 4. Panoramica tecnica delle specifiche del codec audio AAC-LC. ︎ 5. Sezione RFC 2326 sulla modalità di trasporto TCP interleaved RTSP. ︎ 6. Requisiti e limiti di ingresso AWS Elemental MediaLive RTSP. ︎ 7. Azure Media Services supporta i protocolli di streaming e l'autenticazione. ︎ 8. Vedere Telecamere PTZ solari 4G LTE progettate per siti a bassa larghezza di banda. ︎ 9. Spiegazione della struttura del GOP e degli intervalli dei keyframe. ︎ 10. Le migliori pratiche di configurazione del keepalive RTSP di Loyalty-Secu. ︎