WebRTC e HLS per la visione di una telecamera IP

In cosa differiscono i metodi di distribuzione del video al browser e perché non serve una scelta manuale

WebRTC e HLS risolvono lo stesso compito — mostrare il flusso video allo spettatore — ma organizzano la distribuzione in modo diverso. WebRTC è orientato alla bassa latenza, mentre l’HLS tradizionale si basa sul download di segmenti e su un buffer di riproduzione.

RTSP.ME supporta entrambi i metodi e seleziona automaticamente il metodo di riproduzione. L’utente non deve scegliere manualmente tra WebRTC e HLS.

Vediamo come ciascun metodo influisce su latenza, stabilità della visione e compatibilità con i dispositivi degli spettatori.

Collega una telecamera IP

L’RTSP della telecamera e la riproduzione nel browser non sono la stessa cosa

Una telecamera IP può inviare il flusso al servizio tramite RTSP. La distribuzione del video dal servizio al browser è una tratta separata, sulla quale si usa WebRTC oppure HLS.

Telecamera IP → flusso RTSP → RTSP.ME → WebRTC o HLS → player nel browser

La telecamera non ha bisogno di un supporto WebRTC proprio. È importante che il suo flusso rispetti i requisiti di collegamento del servizio. La scelta del metodo di distribuzione al browser, da sola, non rende qualsiasi codec della telecamera compatibile con qualsiasi dispositivo dello spettatore.

WebRTC e HLS: confronto

La tabella descrive le proprietà generali delle tecnologie, non i parametri garantiti di una specifica diretta. Per HLS si intende qui la distribuzione a segmenti tradizionale, salvo diversa indicazione.

ParametroWebRTCHLS
DistribuzioneTrasmissione dei dati multimediali per la riproduzione in tempo realeDownload di una playlist e di segmenti video tramite HTTP(S)
LatenzaDi norma inferiore rispetto all’HLS tradizionale; dipende dall’intera catenaDi norma superiore a causa della formazione dei segmenti e dell’accumulo nel buffer
Compiti tipiciSorveglianza con reazione rapida e scenari interattiviVisione di dirette in cui è accettabile un ritardo rispetto all’evento
BufferingUn buffer ridotto aiuta a diminuire la latenza, ma lascia meno margine in caso di oscillazioni della reteIl buffer può attenuare brevi oscillazioni di velocità al prezzo di una maggiore latenza
ReteNAT, firewall e limitazioni UDP possono ostacolare la connessioneLa distribuzione HTTP(S) si integra bene con l’infrastruttura web, ma dipende anch’essa da limitazioni e qualità della rete
Pubblico numerosoRichiede un’infrastruttura per gestire le connessioni e distribuire il caricoI segmenti sono compatibili con la cache HTTP e le CDN, se configurate
Browser e codecServono compatibilità di browser, dispositivo e codec video e audio trasmessiDipende dai codec e dal player; la riproduzione nativa di M3U8 non è disponibile in tutti i browser
Protezione del trasportoIl trasporto multimediale è cifratoLa trasmissione è protetta se playlist e segmenti sono serviti tramite HTTPS

WebRTC: vantaggi e limiti

Quando conta una bassa latenza

WebRTC è orientato alla trasmissione dei dati multimediali in tempo reale. È utile quando occorre vedere prima un cambiamento nell’inquadratura o commentare ciò che accade con gli spettatori in chat: un minor ritardo del video aiuta a collegare i messaggi agli eventi sullo schermo.

Cosa può ostacolare la visione

L’instaurazione della connessione può essere complicata da NAT, firewall e blocco dell’UDP. Il funzionamento in tali reti dipende dalla configurazione del media server e dai metodi di connessione disponibili. Se la riproduzione non parte in una rete aziendale, conviene verificarne le limitazioni insieme all’amministratore.

Perdita di pacchetti, canale instabile, sovraccarico del server o del dispositivo dello spettatore possono peggiorare la qualità e causare interruzioni. Bassa latenza non significa latenza zero: ripresa, codifica, trasmissione, elaborazione e visualizzazione del fotogramma richiedono tempo.

HLS: vantaggi e limiti

Distribuzione attraverso la consueta infrastruttura web

HLS utilizza una playlist, di solito con estensione M3U8, e una sequenza di segmenti multimediali. Il player li scarica tramite HTTP o HTTPS e costituisce una riserva di dati per la riproduzione.

La scalabilità reale dipende dalle risorse del server, dalla banda e dalle impostazioni di distribuzione: la sola scelta di HLS non basta per servire un pubblico numeroso.

Latenza e compatibilità

La formazione dei segmenti e il loro accumulo nel buffer di norma aumentano la latenza rispetto a WebRTC. Se la velocità di download resta a lungo inferiore al bitrate del flusso, il buffer si esaurisce e la riproduzione può fermarsi. HLS non rende affidabile una rete debole.

Non tutti i browser sanno aprire M3U8 direttamente: può servire un player JavaScript che sfrutti le capacità del browser. Il supporto di HLS, da solo, non garantisce la riproduzione di qualsiasi codec video o audio.

Non confondere l’HLS tradizionale con Low-Latency HLS (LL-HLS), una variante pensata per ridurre la latenza che richiede il supporto sia del server sia del player. La presenza di HLS non implica di per sé il supporto di LL-HLS.

Come avviene la selezione in RTSP.ME

Il servizio supporta WebRTC e HLS e seleziona automaticamente il metodo di riproduzione. L’utente collega la telecamera e apre la diretta nel player; non è necessario scegliere manualmente il protocollo di visione.

La selezione automatica evita di dover confrontare i protocolli prima di ogni visione. Tuttavia non elimina i requisiti relativi al flusso di origine, al browser e alla rete.

Anche con la selezione automatica, una connessione Internet instabile, limitazioni di rete o codec incompatibili possono ostacolare la visione. Il cambio del metodo di distribuzione non risolve i problemi del flusso di origine della telecamera.

Codec, audio e sicurezza

Verifica video e audio separatamente

La riproduzione dipende da browser, sistema operativo, dispositivo, codec video della telecamera e relativo profilo, nonché dalle capacità di elaborazione del flusso sul server e nel player. Il nome del protocollo non garantisce la compatibilità.

Per l’audio è determinante il codec audio. L’immagine può essere visualizzata anche con un audio incompatibile. Inoltre, i browser possono bloccare la riproduzione automatica con audio fino a un’azione dell’utente: l’assenza di audio non indica sempre un guasto della telecamera.

La cifratura non sostituisce il controllo degli accessi

WebRTC utilizza un trasporto multimediale cifrato. HLS protegge i dati in transito se playlist e segmenti sono distribuiti tramite HTTPS; HLS in sé non implica HTTPS obbligatorio.

La protezione della tratta tra servizio e browser non determina la sicurezza del collegamento della telecamera al servizio. La cifratura del trasporto non sostituisce nemmeno la verifica dei diritti dello spettatore, le restrizioni di accesso e la protezione delle credenziali della telecamera. Prima della pubblicazione, assicurati che la diretta sia accessibile solo al pubblico desiderato.

Consigli pratici

  1. Definisci lo scopo della visione. Per una reazione rapida conta la latenza effettiva; per una diretta panoramica anche la stabilità nel tempo. In RTSP.ME non occorre tradurre questi requisiti in una scelta manuale del protocollo.
  2. Verifica il flusso di origine. Assicurati che la telecamera trasmetta il video in modo stabile e che i parametri video e audio rispettino i requisiti del servizio. Un bitrate troppo alto può saturare il canale dalla telecamera.
  3. Verifica i dispositivi degli spettatori. Apri la diretta nei browser necessari su computer e telefono. Controlla separatamente l’avvio, l’audio e la visione prolungata.
  4. Confronta le reti consentite. Se la visione non funziona in una rete aziendale, confronta il risultato con un’altra rete disponibile e discuti le limitazioni con l’amministratore. Non disattivare la protezione della rete per una diretta.
  5. Valuta l’intera catena. Latenza e interruzioni dipendono da telecamera, collegamento verso il servizio, server, rete dello spettatore e player. Né WebRTC né HLS correggeranno un flusso di origine assente.
  6. Quando contatti il supporto, descrivi le condizioni. Indica browser, dispositivo, orario del problema e sintomi. Non condividere pubblicamente link RTSP con password o altri dati segreti.

Non conviene dividere WebRTC e HLS in protocollo «buono» e «cattivo». Presentano compromessi diversi tra latenza, buffering e organizzazione della distribuzione, e il risultato finale va verificato su una diretta concreta.

Guarda la tua telecamera IP tramite RTSP.ME

Collega la telecamera al servizio. WebRTC o HLS per la riproduzione viene selezionato automaticamente — non serve alcuna impostazione manuale del protocollo.

Collega la telecamera

Domande frequenti

Bisogna scegliere tra WebRTC e HLS in RTSP.ME?
No. RTSP.ME supporta WebRTC e HLS e seleziona automaticamente il metodo di riproduzione. L’utente non deve scegliere il protocollo manualmente. Ciò non garantisce la connessione su qualsiasi rete né un passaggio impercettibile in caso di guasto.
WebRTC ha sempre una latenza inferiore rispetto a HLS?
WebRTC è progettato per una bassa latenza e di norma mostra gli eventi più vicino al tempo reale rispetto all’HLS tradizionale, che accumula segmenti nel buffer. La latenza finale dipende però da telecamera, rete, server e player: una latenza nulla o fissa non è garantita.
La telecamera IP deve supportare WebRTC?
No. L’RTSP in ingresso al servizio e WebRTC o HLS per la riproduzione nel browser sono tratte distinte della distribuzione video. La telecamera non ha bisogno di un supporto WebRTC proprio, ma il suo flusso e i suoi codec devono rispettare i requisiti del servizio.
Video e audio funzioneranno in qualsiasi browser?
Non esiste una garanzia universale. La compatibilità dipende da browser, dispositivo, codec video e relativo profilo, codec audio e capacità del player. Per HLS può servire un player JavaScript: non tutti i browser riproducono M3U8 direttamente. La presenza dell’immagine non garantisce la compatibilità dell’audio.
Perché la diretta può interrompersi con qualsiasi metodo di riproduzione?
La causa può essere la telecamera, il collegamento verso il servizio, il server, la rete dello spettatore o il player. WebRTC può incontrare difficoltà a causa di NAT, firewall e limitazioni UDP. Il buffer di HLS aiuta a superare brevi oscillazioni di velocità, ma non risolve una carenza prolungata di banda.