La latenza nella sorveglianza digitale in diretta
Sommario
Il processo di streaming in diretta nella videosorveglianza IP consiste nell'acquisizione del video nella telecamera, nella compressione e nel trasporto attraverso la rete e nella decompressione presso il destinatario per visualizzarlo. Ciascuna di queste fasi aggiunge latenza in una certa misura.
Latenza introdotta dalla telecamera. L'acquisizione dei video è seguita dall'elaborazione, dalla compressione e dalla compressione delle immagini. Ogni fase introduce un certo livello di latenza, ma nel complesso i processi all'interno della telecamera contribuiscono solo in minima parte alla latenza end-to-end complessiva.
Latenza introdotta dalla rete. Può essere molto grande o molto piccola ed è il fattore più imprevedibile nell'“equazione“ della latenza end-to-end. È possibile renderla più prevedibile investendo in un buon software e hardware di rete. La latenza della rete dipende molto dal rapporto dati/larghezza di banda. È possibile configurare la telecamera in modo da ridurre la quantità di dati generati, riducendo così la quantità di pacchetti da inviare in rete.
Latenza introdotta dal client. Sul lato client, i dati vengono ricevuti e bufferizzati per essere ordinati e messi in coda nella scheda grafica e al monitor. La latenza è influenzata, anche fino a diversi secondi, soprattutto dal buffer di ricezione del client. Senza un grande buffer c'è il rischio che il flusso video non venga riprodotto in modo uniforme.
La riduzione della latenza è sempre una questione di costi. Per ottenere i maggiori successi si consiglia di migliorare la rete e l'hardware e il software sul lato client.
Introduzione
Nel contesto della videosorveglianza, la latenza è il tempo che intercorre tra l'istante in cui un fotogramma viene acquisito e l'istante in cui lo stesso fotogramma viene visualizzato. Si parla anche di latenza end-to-end o latenza sensore-schermo. Il processo di trasporto di un fotogramma dal sensore della telecamera al display comprende una lunga serie di passaggi.
Questo documento tecnico illustra le varie fasi che contribuiscono alla latenza totale. Inoltre, fornisce consigli su come ridurre la latenza.
Cos'è la latenza?
La definizione di latenza dipende dal contesto. Nella tecnologia di rete, la latenza è comunemente percepita come il ritardo tra il momento in cui un'informazione viene inviata dalla sorgente e il momento in cui la stessa viene ricevuta dalla destinazione finale.
In questo documento discuteremo della latenza nei sistemi di videosorveglianza digitale. Per latenza si intende il ritardo tra il momento in cui un'immagine viene acquisita da una telecamera e il momento in cui è visibile sul display di una telecamera. Durante questo periodo di tempo, l'immagine viene acquisita, compressa, trasmessa, decompressa e visualizzata. Ogni passaggio aggiunge la propria quota di ritardo al ritardo totale. Per semplicità, possiamo suddividere la latenza end-to-end in tre fasi principali:
Latenza introdotta dalla telecamera (latenza di elaborazione delle immagini, latenza di compressione)
Latenza introdotta dalla rete (latenza di trasmissione)
Latenza introdotta dal lato ricevente (buffer del client, latenza di decompressione, latenza di visualizzazione)
Per raggiungere l'obiettivo di latenza di un sistema di videosorveglianza, occorre considerare ciascuna di queste latenze durante la progettazione della soluzione video.
Come si misura la latenza?
La latenza è solitamente espressa in unità di tempo, in genere secondi o millisecondi (ms). È molto difficile misurare la latenza esatta, poiché ciò richiederebbe l'esatta sincronizzazione degli orologi della telecamera e del dispositivo di visualizzazione. Un modo semplice (con riserva di deviazione minima dai valori esatti) è quello di usare la funzione di sovrimpressione di data e ora. Questo metodo misura la latenza end-to-end di un sistema di videosorveglianza, ossia la differenza di tempo tra l'acquisizione di un fotogramma dell'immagine nell'obiettivo e il momento in cui lo stesso fotogramma viene renderizzato su un dispositivo di monitoraggio.
Nota: questo metodo produce un possibile errore fino a un intervallo di fotogrammi. Ciò dipende dal fatto che la data e l'ora usate per calcolare la latenza vengono raccolte solo al momento dell'acquisizione del fotogramma. Pertanto, saremo in grado di calcolare la latenza solo con il fattore della velocità in fotogrammi. Se abbiamo quindi una velocità in fotogrammi di 25 fps, possiamo calcolare la latenza come un multiplo di 40 ms. Con una velocità in fotogrammi di 1 fps, possiamo calcolare la latenza come un multiplo di secondi. Questo metodo non è quindi consigliato per velocità in fotogrammi basse.
Per misurare la latenza utilizzando la funzione di sovrimpressione di data e ora:
Attivare data e ora nella sovrimpressione usando (%T:%f)
Posizionare la telecamera a un angolo affinché acquisisca l'output del proprio flusso in diretta
Scattare istantanee dell'output del flusso in diretta per confrontare la differenza tra l'ora visualizzata nella sovrimpressione originale e quella nel loop sullo schermo
Quali fattori influiscono sulla latenza?
La latenza totale è la somma delle latenze introdotte dalla telecamera, dalla rete e dal client.
Latenza introdotta dalla telecamera
Ogni fotogramma richiede un intervallo di tempo di circa 1/30 s di esposizione, seguito da un breve tempo per scalare e codificare l'immagine. L'immagine codificata viene spezzettata e compressa e ogni 33 ms viene emessa un'immagine sulla rete. Il tempo necessario per questo processo nella telecamera può essere inferiore a 50 ms, ma nella maggior parte dei casi si tratta di diverse centinaia di ms. Varia leggermente in funzione della telecamera (PTZ esclusa) e a seconda che il fotogramma sia un I-frame o un P-frame.
Latenza nell'acquisizione
Diamo un'occhiata all'interno della telecamera. Il sensore di immagine della telecamera è composto da milioni di fotorilevatori (punti fotosensibili), noti come pixel. Il sensore rileva la luce nei suoi pixel durante un intervallo di esposizione, prima di convertire l'energia luminosa registrata in segnali elettronici. A questo punto, i pixel sono vuoti e pronti per un'altra esposizione. Il numero di esposizioni che il sensore fornisce per unità di tempo, ovvero il numero di fotogrammi al secondo che la telecamera è in grado di acquisire, definisce la velocità di acquisizione del sensore.
La latenza di acquisizione dipende dalla velocità di acquisizione. Se si imposta la velocità di acquisizione a 30 fps, il che significa che il sensore acquisirà un'immagine ogni 1/30 di secondo, la latenza di acquisizione sarà fino a 33,3 ms.
Latenza di elaborazione delle immagini
Ogni fotogramma acquisito passa attraverso una serie di fasi di elaborazione dell'immagine, come il deintrecciamento, il ridimensionamento e la rotazione dell'immagine, che aggiungono latenza. Maggiore è l'elaborazione, maggiore sarà la latenza introdotta dalla telecamera. Tuttavia, poiché l'elaborazione nella telecamera influisce sul numero di dati prodotti, la quantità di elaborazione influisce anche sulla latenza della rete quando i dati vengono trasferiti sulla rete.
Ecco alcuni parametri che influenzano la latenza:
Rotazione dell'immagine. La rotazione del flusso video di 90 o 270 gradi aggiunge un ulteriore carico al processore video. I pixel devono essere riorganizzati e sottoposti a buffer e questo causa un certo ritardo.
Risoluzione. Una risoluzione più alta significa più pixel da codificare per il processore. L'aumento del tempo di elaborazione per una risoluzione maggiore rispetto a una risoluzione più bassa è solitamente insignificante perché è bilanciato da un'unità di elaborazione più veloce nelle telecamere ad alta risoluzione. Tuttavia, una risoluzione più elevata comporta un maggior numero di dati per fotogramma e, di conseguenza, un numero superiore di pacchetti da trasmettere. In una rete con larghezza di banda limitata, ciò potrebbe comportare un ritardo nella trasmissione. Questo, a sua volta, comporterà la necessità di un buffer più grande sul lato ricevente, causando una maggiore latenza.
Filtraggio del rumore. Il filtraggio avanzato del rumore richiede il buffering di più fotogrammi, che introduce un'ulteriore latenza.
Privacy masking. Le funzioni avanzate di privacy masking, come AXIS Live Privacy Shield, possono introdurre ulteriore latenza. Ciò è dovuto al buffer necessario per garantire l'applicazione delle corrette privacy mask al momento giusto.
Latenza di compressione
I video vengono codificati per comprimere i dati prima di trasferirli. La compressione avviene tramite uno o più algoritmi matematici che rimuovono i dati dell'immagine. Questo richiede più o meno tempo in base alla quantità di dati da elaborare. La latenza di compressione introdotta in questa fase è influenzata da vari aspetti della compressione:
Complessità degli algoritmi di compressione
H.264 e H.265 sono metodi di compressione più avanzati rispetto a MJPEG. Tuttavia, le telecamere Axis hanno in genere una capacità maggiore per la compressione H.264 e H.265, rispetto alla compressione MJPEG, il che significa che la latenza di compressione con H.264 o H.265 non è necessariamente maggiore. D'altro canto, il carico di lavoro in sede di decodifica può essere maggiore. I flussi di dati H.264 e H.265 prodotti dalle telecamere Axis richiedono al decoder di bufferizzare almeno un fotogramma, mentre la decodifica MJPEG non richiede buffer. Inoltre, il profilo di archiviazione Zipstream aggiunge fino a due fotogrammi di latenza aggiuntiva, ovvero 66,7 ms per un video a 30 fps.
Efficacia del metodo di compressione
Gli schemi di codifica più comuni utilizzati nelle telecamere di rete Axis sono MJPEG, H.264 e H.265. Tutti introducono una latenza nella telecamera. H.264 e H.265 riducono il throughput video più di MJPEG, il che significa che ci saranno meno pacchetti di dati da inviare attraverso la rete, decomprimere e renderizzare sul lato ricevente. In questo modo si riduce la latenza totale.
Scelta della velocità di trasmissione
La compressione dei video riduce le dimensioni dei dati video. Tuttavia, non tutti i fotogrammi avranno le stesse dimensioni dopo la compressione. La dimensione dei dati compressi può variare a seconda della scena. In altre parole, i dati originali compressi sono costituiti da flussi di velocità di trasmissione variabile (VBR), che risultano in una velocità di trasmissione variabile in uscita nella rete. È necessario considerare i vincoli della rete disponibile, come le limitazioni della larghezza di banda. Le limitazioni della larghezza di banda di un sistema di streaming video richiedono solitamente una regolazione della velocità di trasmissione. In alcuni codificatori è possibile scegliere tra VBR e velocità di trasmissione massima (MBR). Scegliendo MBR si garantisce che la rete riceva una quantità limitata di dati. Evitando di sovraccaricare la rete, il ritardo della rete e la necessità di un buffer più grande sul lato ricevente del sistema vengono ridotti.
Nelle telecamere Axis, i codificatori H.264 e H.265 consentono di scegliere tra VBR e MBR. Tuttavia, in genere si consiglia di utilizzare VBR con i video di rete, dove la qualità viene adattata al contenuto della scena in tempo reale. Non è consigliabile utilizzare sempre MBR come strumento generale di riduzione dello spazio di archiviazione o come soluzione per le connessioni di rete deboli, poiché le telecamere di rete possono essere costrette a cancellare importanti dettagli forensi in situazioni critiche.
L'uso di Zipstream nella telecamera riduce la velocità di trasmissione. Così facendo, si riduce la quantità di dati e quindi la latenza della rete.
Numero di flussi. Se alla telecamera viene richiesto più di un tipo di flusso (velocità in fotogrammi o risoluzioni diverse), l'elaborazione del tipo di flusso aggiuntivo aggiungerà latenza perché tutti i flussi devono essere codificati dallo stesso processore.
Quando si sceglie un metodo di compressione è necessario prendere in considerazione tutti questi aspetti. Da un lato, un algoritmo di codifica avanzato può richiedere tempi più lunghi per la codifica e la decodifica, ma dall'altro riduce il volume di dati inviati attraverso Internet, accorciando così i ritardi di transizione e riducendo le dimensioni del buffer ricevente.
Latenza del buffer
Poiché i video vengono gestiti un fotogramma alla volta, è possibile comprimere solo una quantità limitata di dati in una sola volta. Tra le fasi di elaborazione, a volte sono necessari buffer a breve termine che contribuiscono alla latenza della telecamera.
Latenza dell'audio
In alcuni casi, il flusso video è accompagnato da audio. Il codificatore audio deve attendere una certa quantità di campioni prima che sia disponibile un blocco per iniziare la codifica dell'audio, e questo aggiunge un ritardo sul lato della telecamera. Le frequenze di campionamento e le dimensioni dei blocchi sono diverse nei vari algoritmi di codifica audio.
Latenza nella rete
Dopo l'acquisizione, l'elaborazione e la compressione dell'immagine, i dati video viaggiano in rete prima di raggiungere il lato client per il rendering. Per capire in che modo la rete influisce sulla latenza, dobbiamo innanzitutto comprendere alcuni concetti di base delle reti video: velocità di trasmissione, larghezza di banda e throughput. La latenza della rete è proporzionale alla velocità di trasmissione e inversamente proporzionale alla larghezza di banda.
La velocità di trasmissione è la quantità di dati, misurata in bit, che viene elaborata per unità di tempo. Nella videosorveglianza, la velocità di trasmissione è definita dalla quantità di dati generati dalla telecamera da inviare in rete per unità di tempo. La velocità di trasmissione dipende da molteplici fattori; in primo luogo dalla scena ripresa, dall'elaborazione effettuata nella telecamera e dalle impostazioni del flusso video. Quando la telecamera produce una quantità maggiore di dati da trasmettere, si può prevedere una maggiore latenza di rete se la larghezza di banda è limitata.
La larghezza di banda è la quantità di dati che la rete tra la telecamera e il monitor è in grado di gestire potenzialmente. In pratica, è la capacità massima della connessione. La larghezza di banda dipende dalla lunghezza e dall'infrastruttura della connessione, ovvero switch, router, cavi, proxy e altro. Se aumentiamo la capacità della rete, sarà possibile far passare più dati, con conseguente riduzione della latenza.
Il throughput è la velocità effettiva (in bit/s) del trasferimento dei dati. Esso dipende dalla condivisione della connessione con altre persone e dall'interferenza elettromagnetica dei cavi di connessione. Il throughput può anche essere limitato dalle impostazioni QoS (Quality of Service) configurate sulle porte.
- Velocità di trasmissione
- Larghezza di banda
- Throughput
La latenza totale della rete dipende da tre fattori principali: l'infrastruttura di rete tra la telecamera e il dispositivo di visualizzazione video (che determina la larghezza di banda), la quantità di dati prodotti dalla telecamera (che determina la velocità di trasmissione) e la scelta del protocollo di trasmissione.
L'infrastruttura
La rete è la fonte più imprevedibile di latenza end-to-end. Switch, router, cavi, proxy: tutto ciò che si trova nella rete tra il mittente e il destinatario influisce sulla latenza totale. In una LAN, la latenza della rete potrebbe essere di pochi ms, un valore insignificante e trascurabile. Tuttavia, se il flusso video deve essere trasmesso su Internet con percorsi non specificati, la latenza della rete sarà difficile da prevedere e in molti casi potrebbe essere la principale causa di latenza end-to-end.
Con una gestione della rete e un'allocazione della larghezza di banda accurate, i fattori imprevedibili della latenza di rete possono diventare più prevedibili. La connessione tra la telecamera e il dispositivo di visualizzazione deve avere un throughput garantito.
In una LAN, questa condizione può essere agevolata assicurandosi che ci siano meno hop possibili nella connessione. La connessione non deve essere condivisa con altro traffico come voice over IP (VoIP) o altri protocolli che avranno la priorità sul video per impostazione predefinita o altri servizi gravosi che sovraccaricano la connessione.
Se la connessione su una WAN (Wide Area Network), la QoS deve essere garantita in ogni hop, ossia in ogni router e switch. Questa condizione può essere ottenuta anche con il leasing di un percorso point-to-point tramite il provider Internet locale.
Fattori configurabili che influenzano il throughput:
Overhead del pacchetto (esempio dipendente dal protocollo: header VLAN)
Proxy e firewall
QoS di ogni connessione nell'intero percorso
Modalità Burst o meno (abilitata -> maggiore velocità)
MTU - la dimensione del payload del video
Fattori associati ai costi che influenzano il throughput:
Velocità del processore e buffer delle porte degli switch e dei router
Tipo di cavo (o wireless)
La quantità di dati del flusso video
La scelta del metodo di elaborazione e compressione delle immagini nella telecamera incide sulla latenza della rete, poiché queste scelte influiscono sulla quantità di dati video prodotti. L'invio di una quantità minore di dati richiederà chiaramente meno tempo.
I protocolli di trasmissione
I fotogrammi video provenienti dalla telecamera vengono trasmessi a un'applicazione di protocollo di trasporto, solitamente RTP o HTTP. La trasmissione al client di rendering avviene su una rete IP. La trasmissione avviene tramite il protocollo TCP affidabile, che è orientato alla connessione e prevede la ritrasmissione dei pacchetti di dati persi, oppure tramite UDP, un protocollo più semplice che non garantisce la consegna e non prevede la ritrasmissione dei pacchetti persi.
Con le telecamere Axis, quando si incapsula il flusso di dati codificati per la trasmissione sono disponibili le seguenti opzioni:
Topologia | Modalità di incapsulamento dei pacchetti video Axis consigliate |
---|---|
LAN / meno hop e nodi a gestione diretta | MJPEG / HTTP / TCP |
LAN / meno hop e nodi a gestione diretta | H.264, H.265 o MJPEG / RTP / RTSP / HTTP / TCP |
LAN / meno hop e nodi a gestione diretta | H.264, H.265 o MJPEG / RTP / RTSP / TCP |
WAN / diversi hop dove non si ha il controllo totale dei nodi | H.264, H.265 o MJPEG / RTP / Unicast / UDP |
WAN / diversi hop dove non si ha il controllo totale dei nodi | H.264, H.265 o MJPEG / RTP / Multicast / UDP |
Connessione remota / cloud / WAN / diversi hop dove non si ha il controllo totale dei nodi | H.264, H.265 o MJPEG / RTP / WebRTC / UDP o TCP |
Solitamente, il trasporto di un pacchetto tramite TCP richiede più tempo rispetto al trasporto tramite UDP a causa della configurazione supplementare della connessione, dei messaggi di conferma e della ritrasmissione dei pacchetti quando viene rilevata una perdita. Con UDP, invece, l'utente osserva artefatti o interruzioni nel flusso video quando i pacchetti vengono persi durante il percorso. TCP produrrà jitter per la perdita dei pacchetti, mentre UDP produrrà artefatti e/o interruzioni per la perdita dei pacchetti. Se la perdita di dati e la riduzione temporanea della qualità sono accettabili, UDP può essere una valida soluzione per le reti con larghezza di banda ridotta.
Se si utilizza il protocollo TCP, ci saranno più pacchetti da inviare e per questo è necessaria una larghezza di banda maggiore. Se si sa che la rete è molto congestionata, si dovrebbe scegliere UDP come protocollo di trasmissione. Poiché la perdita di pacchetti è accettata, allo stesso tempo si verifica anche una perdita di pacchetti che comporta una riduzione della qualità di immagine.
Con WebRTC e la velocità di trasmissione adattiva, il video sarà adattato alla rete per evitare picchi di latenza incontrollabili come quelli che possono verificarsi con TCP.
Latenza sul lato client
Dopo aver ricevuto il video sul lato client del sistema video, questo viene decompresso, riordinato e decodificato, quindi viene utilizzato un lettore multimediale per eseguire il rendering del video. Ogni fase contribuisce alla latenza totale generata sul lato client e il computer stesso svolge un ruolo importante. La capacità della CPU, il sistema operativo, la scheda di rete e la scheda grafica influiscono sulla latenza. Solitamente, MJPEG è il metodo con la minore latenza di decodifica e visualizzazione, perché i dati possono essere disegnati sullo schermo così come arrivano, senza codici temporali. H.264 e altri standard di compressione video assegnano codici temporali a ogni immagine e richiedono che vengano renderizzati di conseguenza.
Buffer di riproduzione
Le reti reali sono spesso molto grandi e complesse, con traffico elevato e pacchetti che arrivano in ordine diverso. Per compensare le variazioni introdotte dal trasporto in rete si utilizza un buffer sul lato client. Noto come buffer di riproduzione o jitter buffer, questo buffer fa in modo che i pacchetti vengano inseriti nell'ordine giusto e contiene una quantità di dati sufficiente a non far “morire“ il decodificatore; nel visualizzatore viene mostrata una velocità in fotogrammi omogenea.
Questo buffer contribuisce a una latenza relativamente elevata. Le diverse applicazioni di visualizzazione hanno dimensioni diverse del buffer di riproduzione e nella maggior parte dei visualizzatori è possibile modificarle. È importante però tenere presente che la riduzione del buffer aumenterà il jitter, pertanto è necessario trovare un equilibrio tra jitter e latenza accettabile.
Buffer audio
In fase di riproduzione, lo streaming audio è più sensibile agli intoppi o ai ritardi rispetto allo streaming video. Un singolo pacchetto audio in ritardo genera una fastidiosa interruzione della colonna sonora e l'audio deve essere sincronizzato con il video. Per questi motivi, quando il video è accompagnato dall'audio, è necessario impostare un buffer di riproduzione superiore che, di conseguenza, aumenta la latenza.
Decompressione
Il tempo necessario per il processo di decompressione dipende dal metodo di codifica utilizzato. La latenza di decodifica dipende molto dal supporto del decodificatore hardware disponibile nella scheda grafica. La decodifica nell'hardware è solitamente più veloce di quella nel software. In generale, la decodifica H.264 richiede più tempo di quella MJPEG. Per la decodifica H.264, la latenza dipende anche dal profilo scelto nella fase di codifica. La base è la più facile da decodificare, mentre quella principale e quella alta richiedono più tempo. Il flusso di dati H.264 prodotto dai dispositivi video Axis richiede al decodificatore di eseguire un buffer di almeno un fotogramma.
Dispositivo di visualizzazione
Anche il dispositivo di visualizzazione influisce sulla latenza attraverso il tempo di trasferimento, la frequenza di aggiornamento e il tempo di risposta.
Il tempo di trasferimento è il tempo necessario per inviare i dati video decodificati dal decoder al monitor attraverso il cavo (ad esempio, HDMI). Il tempo di trasferimento dipende dalla velocità del cavo e dalla risoluzione del monitor. Per un monitor FHD collegato con un cavo HDMI standard, questo aggiunge circa 10 ms di latenza.
Anche la frequenza di aggiornamento del dispositivo di visualizzazione influisce sulla latenza. Per i monitor per computer, la frequenza di aggiornamento è di circa 17-20 ms, mentre i monitor speciali da gaming hanno una frequenza di aggiornamento di 4-5 ms.
Il tempo di risposta è il tempo necessario ai pixel del monitor per cambiare valore. Questo dipende dall'entità della modifica, ma per le modifiche più grandi può aggiungere 5-20 ms di latenza.
Riduzione della latenza
La progettazione di un sistema per soddisfare gli obiettivi di bassa latenza richiederà altri compromessi. È necessario decidere quale sia la latenza accettabile e trovare un equilibrio tra qualità video e costo del sistema di sorveglianza. Questo capitolo fornisce alcune semplici raccomandazioni relative al lato telecamera, alla rete e al lato client per ridurre la latenza end-to-end.
Riduzione della latenza della telecamera
Risoluzione. Se possibile, scegliere una risoluzione inferiore. Una risoluzione più elevata implica una maggiore quantità di dati da codificare, il che potrebbe comportare una maggiore latenza.
Miglioramenti. Ridurre i miglioramenti dell'immagine, come la rotazione, il deintrecciamento e il ridimensionamento. L'uso di miglioramenti dell'immagine può aggiungere latenza.
Modalità a bassa latenza. È possibile ottimizzare il tempo di elaborazione delle immagini del flusso in diretta attivando la modalità a bassa latenza nelle impostazioni di configurazione semplice. La latenza del flusso in diretta è ridotta al minimo, ma la qualità di immagine è inferiore al solito.
Privacy masking. L'uso del privacy masking aggiunge latenza, pertanto si consiglia di limitarne l'uso.
Codifica. Assicurarsi che l'encoder offra il livello di controllo sulla latenza richiesto dal proprio sistema. È necessario trovare un equilibrio tra la quantità di dati e le risorse dell'infrastruttura di rete. Se il video viene inviato attraverso una rete con larghezza di banda limitata, scegliere H.264 o H.265 come metodo di codifica. Questo porterà a una minore velocità di trasmissione a causa di una compressione più aggressiva. Scegliere il Baseline profile se la rete è in grado di gestire la velocità di trasmissione, perché il baseline sarà più facile da codificare e decodificare.
Profilo di archiviazione in Zipstream. Il profilo di archiviazione aggiunge latenza, pertanto si consiglia di limitarne l'uso.
Numero di flussi. Limitare il numero di flussi dalla telecamera con diverse impostazioni. Ogni combinazione unica di impostazioni, come la risoluzione, la velocità in fotogrammi e la compressione, richiede un processo di codifica individuale, che aggiunge carico al processore e causa ritardi.
Velocità di trasmissione. Cercare di utilizzare una velocità di trasmissione inferiore. Per ridurre la latenza della telecamera è necessario ridurre la quantità di dati generati. La velocità in fotogrammi è influenzata da molteplici fattori, come le condizioni di luce, il tipo di scena, il livello di compressione, la risoluzione, la velocità in fotogrammi e altro ancora.
Velocità in fotogrammi. Utilizzare la velocità in fotogrammi più alta possibile. Poiché i fotogrammi vengono codificati e decodificati uno alla volta, i buffer ritarderanno almeno un fotogramma. Le velocità in fotogrammi più elevate permettono di ridurre i ritardi causati dai buffer. Per un flusso a 30 fps, ogni fotogramma richiede 1/30 di secondo per l'acquisizione. Possiamo quindi prevedere una latenza fino a 33 ms nei buffer. Per 25 fps, il ritardo sarà fino a 40 ms.
Modalità di acquisizione. Considerare l'utilizzo di una modalità di acquisizione con risoluzione più bassa e la velocità in fotogrammi più alta possibile. Lavorare a bassa risoluzione significa elaborare meno pixel, mentre una velocità in fotogrammi elevata riduce il ritardo del buffer.
Audio. Se possibile, non usare l'audio. L'audio che deve essere sincronizzato con il video richiede un buffer di riproduzione maggiore, con conseguente aumento della latenza.
Riduzione della latenza nella rete
Molte delle raccomandazioni relative alla telecamera riguardano la limitazione del volume totale di dati inviati alla rete. Nella maggior parte dei casi, una rete limitata è il principale responsabile della latenza end-to-end. Se la rete ha una capacità elevata, molte delle raccomandazioni di cui sopra non sono necessarie. Assicurarsi che la rete abbia una buona qualità del servizio e che tutti gli hop all'interno della rete siano configurati per soddisfare la propria domanda di video. Assicurarsi che la velocità di trasmissione in rete sia garantita per fornire l'output di dati dalla telecamera.
Riduzione della latenza sul lato client
I miglioramenti sul lato client hanno un grande impatto sulla latenza end-to-end e solitamente si può fare molto.
Processore e scheda video. La CPU svolge un ruolo centrale nella latenza sul lato client. Utilizzare un buon processore con capacità sufficiente per elaborare il flusso video e gestire altre richieste contemporaneamente. Utilizzare una buona scheda grafica aggiornata con il software più recente e il supporto per la decodifica.
Software di visualizzazione/VMS. Assicurarsi che il software di visualizzazione non abbia un buffer di riproduzione troppo lungo, ma tenere presente il compromesso con il jitter video.
Schermo. Utilizzare uno schermo con una frequenza di aggiornamento più alta possibile. Per una visualizzazione in diretta piacevole (senza però che influisca sulla latenza), regolare la frequenza dello schermo su un multiplo della velocità in fotogrammi di acquisizione della telecamera. Ad esempio, 60 Hz per la modalità 30 fps o 50 Hz per la modalità 25 fps.