{"id":32314,"date":"2019-10-31T21:46:17","date_gmt":"2019-10-31T18:46:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer\/"},"modified":"2019-10-31T21:46:17","modified_gmt":"2019-10-31T18:46:17","slug":"webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","title":{"rendered":"WebRTC e videosorveglianza: come abbiamo superato il ritardo video dalle telecamere","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"WebRTC e videosorveglianza: come abbiamo superato il ritardo video dalle telecamere\" src=\"\/wp-content\/uploads\/2019\/04\/d185b546f5fc4c15021481c0cc2fedbd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFin dai primi giorni di lavoro sul sistema di videosorveglianza in cloud, ci siamo trovati di fronte a un problema cos\u00ec grande che senza una soluzione avremmo dovuto porre fine a Ivideon \u2013 era la nostra Everest, la cui scalata ha richiesto enormi sforzi, ma ora finalmente abbiamo piantato il piccozzino sulla vetta di questo rompicapo cross-platform.<\/p>\n<p>Il sistema di trasmissione audio e video via Internet non deve dipendere dall'hardware, dai web client e dagli standard supportati, e deve funzionare correttamente anche in presenza di Network Address Translators e firewall. L'utente della videosorveglianza in cloud desidera accedere al servizio, anche se utilizza telecamere analogiche, e preferisce guardare la trasmissione di video in diretta su un dispositivo all'avanguardia. <\/p>\n<p>\u00c8 molto importante per l'utente guardare video con una latenza minima. Praticamente l'unico modo per mostrare video a bassa latenza nel browser \u00e8 utilizzare WebRTC (web real-time communications). WebRTC \u00e8 un insieme di tecnologie per la trasmissione peer-to-peer di video e audio nei browser, originariamente progettato per la trasmissione e la riproduzione di flussi video a bassa latenza. A questo scopo, tra l'altro, viene utilizzato il protocollo UDP.<\/p>\n<p>Prima di spiegarti cosa offre il nuovo motore all'utente, vogliamo ricordarti perch\u00e9 e per quale motivo supportiamo le tecnologie HLS, e perch\u00e9 abbiamo deciso di andare avanti.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Motore HLS: pro e contro<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC e videosorveglianza: come abbiamo superato il ritardo video dalle telecamere\" src=\"\/wp-content\/uploads\/2019\/04\/f025d08eb22f7785090b8bc60194643c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex><a rel=\"nofollow\" href=\"https:\/\/www.encoding.com\/http-live-streaming-hls\/\">c<\/a><\/noindex>)<\/p>\n<p>La tecnologia HLS (HTTP Live Streaming) \u00e8 stata sviluppata da Apple, quindi non sorprende che il suo supporto sia apparso per la prima volta sui dispositivi di questo brand. Oggi il formato video HLS \u00e8 supportato praticamente da tutti i set-top box e molti dispositivi che funzionano con il sistema operativo Android.<\/p>\n<p>Il motore HLS utilizza per lo streaming video il ben noto codec video H264 insieme a flussi audio AAC o MP3. L'intero flusso di dati audio e video viene confezionato in un contenitore di trasporto MPEG-TS. Per la trasmissione tramite HTTP, le informazioni contenute nel flusso vengono suddivise in frammenti descritti nelle playlist m3u8. Solo dopo questi frammenti, insieme alle playlist, vengono inviati tramite HTTP. La suddivisione in frammenti comporta automaticamente un ritardo in secondi. Questa caratteristica del contenitore MPEG-TS. <\/p>\n<p>Il motore HLS supporta anche flussi multibitrate, Live\/VOD. <\/p>\n<p><b>Principali vantaggi di HLS:<\/b><\/p>\n<ul>\n<li>supporto integrato in tutti i principali browser;<\/li>\n<li>facilit\u00e0 di implementazione (rispetto a WebRTC);<\/li>\n<li>\u00e8 molto comodo ed efficace organizzare vari eventi in streaming per un grande pubblico grazie alla possibilit\u00e0 di caricare i segmenti una sola volta su CDN.<\/li>\n<\/ul>\n<p>\nSebbene il motore sia semplice, non \u00e8 tutto cos\u00ec fluido come sembra. Il principale problema \u00e8 che gli sviluppatori di lettori di terze parti si sono allontanati dalle raccomandazioni di Apple, ad esempio per quanto riguarda i formati audio supportati. In particolare, molti sviluppatori hanno iniziato ad aggiungere il supporto per flussi audio popolari: mpeg2 video, mpeg2 audio, ecc. Di conseguenza, \u00e8 stato necessario creare diversi formati di playlist per lettori diversi.<\/p>\n<p>Ma uno dei problemi pi\u00f9 grandi del motore HLS \u00e8 l'elevata latenza nella trasmissione dei dati.<\/p>\n<h2>Le origini dei 'ritardi'<\/h2>\n<p>\nLa principale causa dell'alta latenza dell'HLS risiede nel fatto che i programmatori hanno progettato il motore per ottenere la massima qualit\u00e0 dell'immagine. Pertanto, i parametri dell'intervallo di fotogrammi utilizzato e il volume del buffer di riproduzione non sono adatti per le trasmissioni video in diretta. Ci\u00f2 provoca un'elevata latenza nella trasmissione del video, che pu\u00f2 arrivare a 5-7 secondi.<\/p>\n<p>Da un lato, questo \u00e8 poco, ad esempio, per chi guarda un film su un server di video hosting. Ma per i sistemi di videosorveglianza, la latenza nella trasmissione del video pu\u00f2 essere di grande importanza.<\/p>\n<p>Se stai osservando un ufficio in cui i dipendenti si distaccano dai monitor ogni ora, allora un ritardo di 5 secondi non ha alcuna importanza. Ma le persone hanno iniziato a lamentarsi che, ad esempio, durante la trasmissione di una partita di calcio, nel chat qualcuno scrive gi\u00e0 GOOOOOL, mentre nel video non \u00e8 ancora visibile. Abbiamo gi\u00e0 diversi casi d'uso in cui Ivideon deve praticamente sostituire Skype.<\/p>\n<p>Si pu\u00f2 sconfiggere il ritardo in HLS? La risposta a questa domanda suona come il discorso di un esperto cacciatore di topi a una lezione per principianti: \u00abI topi non possono essere sterminati, ma la loro popolazione pu\u00f2 essere ridotta a un numero ragionevole\u00bb. Cos\u00ec \u00e8 con il ritardo in HLS, non \u00e8 possibile eliminarlo completamente, ma sul mercato ci sono soluzioni che consentono di ridurre notevolmente il ritardo.<\/p>\n<h2>Taglio fine<\/h2>\n<p>\nUn altro svantaggio del motore \u00e8 l'uso di file di piccole dimensioni per la trasmissione dei dati. A prima vista, cosa c'\u00e8 di male in questo?<\/p>\n<p>Chiunque abbia provato a copiare un gran numero di piccoli file da un dispositivo a un altro avr\u00e0 notato che la velocit\u00e0 di scrittura di un simile insieme \u00e8 molto inferiore rispetto a quella di un singolo grande file della stessa dimensione. Inoltre, l'intensit\u00e0 delle operazioni sul disco rigido aumenta significativamente, il che influisce negativamente sulle prestazioni complessive del computer. Pertanto, la trasmissione di dati video in piccoli frammenti di 10 secondi contribuisce anch'essa all'aumento della latenza del motore.<\/p>\n<p>Riepiloghiamo brevemente tutti i vantaggi e svantaggi della tecnologia HLS.<\/p>\n<p><b>Vantaggi dell'HLS:<\/b><\/p>\n<ol>\n<li>Possibilit\u00e0 di funzionare su qualsiasi dispositivo. Puoi guardare video su qualsiasi dispositivo moderno, che si tratti di uno smartphone, tablet, laptop o computer desktop. L'importante \u00e8 che il browser web sia di versione recente e compatibile con HTML5 e Media Source Extensions.<\/li>\n<li>Eccellente qualit\u00e0 dell'immagine. La funzione di trasmissione adattativa utilizzata consente di cambiare dinamicamente la qualit\u00e0 del video trasmesso in base alla larghezza di banda della connessione Internet, cercando al contempo di mantenere la qualit\u00e0 al massimo.<\/li>\n<li>Non \u00e8 necessaria una configurazione complessa dell'hardware dell'utente.<\/li>\n<\/ol>\n<p>\n<b>Svantaggi:<\/b><\/p>\n<ol>\n<li>Supporto limitato per il funzionamento del motore su alcuni dispositivi.<\/li>\n<li>Alte latenze nella trasmissione delle immagini.<\/li>\n<li>Aumento significativo delle spese generali e complessit\u00e0 dell'ottimizzazione a causa dell'uso di file di dimensioni ridotte. A causa delle caratteristiche del contenitore, non saremo mai in grado di ottenere una latenza inferiore alla dimensione del segmento.<\/li>\n<\/ol>\n<p>\nPer noi, gli svantaggi dell'HLS hanno superato i suoi benefici, spingendoci a cercare alternative.<\/p>\n<h2>Cos'\u00e8 WebRTC<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC e videosorveglianza: come abbiamo superato il ritardo video dalle telecamere\" src=\"\/wp-content\/uploads\/2019\/04\/0cf3c13dba71f6b268113af77841e521.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex>c<\/noindex>)<\/p>\n<p>La piattaforma WebRTC \u00e8 stata sviluppata da Google nel 2011 per la trasmissione di dati video e audio in streaming tra browser e applicazioni mobili con latenza minima. Utilizza il protocollo standard UDP e algoritmi speciali di gestione del flusso. Oggi \u00e8 un progetto open source, supportato attivamente da Google e in fase di sviluppo.<\/p>\n<p>WebRTC \u00e8 un insieme di tecnologie per la trasmissione peer-to-peer di video e audio. Questo significa che, ad esempio, i browser degli utenti possono trasferire dati direttamente tra loro utilizzando WebRTC, senza dover ricorrere a server remoti per l'archiviazione e l'elaborazione dei dati. Tutte le informazioni vengono elaborate dai browser e dalle applicazioni mobili degli utenti finali.<\/p>\n<p>La comodit\u00e0 e le ampie funzionalit\u00e0 di questa tecnologia sono state apprezzate dagli sviluppatori dei browser pi\u00f9 diffusi. Oggi, il supporto per WebRTC \u00e8 implementato in Mozilla Firefox, Opera, Google Chrome (e in tutti i browser basati su Chromium), oltre che nelle applicazioni mobili per Android e iOS.<\/p>\n<p>Nonostante i suoi indiscutibili vantaggi, WebRTC presenta alcuni svantaggi significativi. <\/p>\n<h2>Difficolt\u00e0 nella scelta<\/h2>\n<p>\nLa tecnologia WebRTC \u00e8 molto pi\u00f9 complessa in termini di interazioni di rete a causa della sua natura P2P. \u00c8 difficile da debug, da testare e pu\u00f2 comportarsi in modo imprevedibile. Inoltre, dobbiamo superare NAT e firewall e garantire il funzionamento in reti dove l'UDP \u00e8 bloccato.<\/p>\n<p>L'implementazione di WebRTC da parte di Google \u00e8 molto complessa da utilizzare. Esiste persino un'intera azienda che fornisce servizi per la creazione di SDK. Inoltre, l'integrazione dell'implementazione di Google con il nostro sistema \u00e8 stata molto difficile senza dover ricodificare completamente il video.<\/p>\n<p>Tuttavia, desideravamo da tempo offrire agli utenti la possibilit\u00e0 di lavorare con immagini video 'live' complete e di ridurre al minimo il ritardo tra il video sullo schermo e gli eventi reali. Inoltre, avevamo la volont\u00e0 di rendere l'uso delle telecamere PTZ pi\u00f9 confortevole, dove i ritardi sono critici.<\/p>\n<p>Considerando che altre implementazioni per combattere i ritardi hanno ancora funzionalit\u00e0 limitate e funzionano molto peggio, abbiamo deciso di utilizzare WebRTC. <\/p>\n<h2>Cosa abbiamo fatto<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC e videosorveglianza: come abbiamo superato il ritardo video dalle telecamere\" src=\"\/wp-content\/uploads\/2019\/04\/714f94de43114e552e4d818e9ec927ae.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nImplementare correttamente la piattaforma WebRTC non \u00e8 un compito semplice. Qualsiasi errore o imprecisione pu\u00f2 portare a ritardi nella trasmissione del video che non solo non diminuirebbero rispetto ad altre piattaforme, ma potrebbero addirittura aumentare.<\/p>\n<p>Per il corretto funzionamento di WebRTC, prima di tutto, \u00e8 necessario effettuare una modernizzazione tecnologica dello stack per lavorare con i video web. Ed \u00e8 proprio quello che abbiamo fatto.<\/p>\n<p>Inizialmente abbiamo implementato un server di segnalazione WebRTC sopra Websocket e abbiamo anche distribuito un server peer WebRTC nel cloud basato sul SDK di webrtc.org. Il suo compito \u00e8 quello di distribuire flussi video ai peer WebRTC client in formato H.264 + Opus\/G.711 senza ricodificare il video.<\/p>\n<p>Abbiamo scelto Websocket come protocollo di segnalazione perch\u00e9 ha gi\u00e0 un supporto di alta qualit\u00e0 in tutti i browser web popolari. Grazie a questo, possiamo ridurre significativamente non solo i costi di sviluppo ma anche evitare di sprecare tempo e risorse su handshake TCP e TLS ripetuti rispetto ad AJAX.<\/p>\n<p>Il fatto \u00e8 che WebRTC non fornisce un protocollo di segnalazione per impostazione predefinita, necessario per configurare, sostenere e interrompere correttamente la comunicazione video in tempo reale tra le applicazioni sorgente e client.<\/p>\n<p>E per implementare autonomamente la tecnologia di segnalazione, era necessario sviluppare un nostro server di segnalazione con supporto per pi\u00f9 protocolli web (Websocet, WebRTC). Inoltre, con la possibilit\u00e0 di gestire in modo sicuro le sessioni e le notifiche in tempo reale, la gestione dei video e molti altri parametri.<\/p>\n<p>Abbiamo superato le limitazioni P2P riducendo la latenza non a scapito del P2P, ma grazie a UDP e alla gestione del flusso orientata a diminuire la latenza. Questo \u00e8 anche integrato in WebRTC, poich\u00e9 il caso d'uso principale sono le conversazioni P2P tramite browser.<\/p>\n<p>Nell'app mobile abbiamo implementato un lettore utilizzando l'SDK webrtc.org, poich\u00e9 solo in esso \u00e8 gestita correttamente la gestione del flusso, ci sono tutti i noti schemi di Forward Error Correction (FEC) e il meccanismo di reinvio dei pacchetti \u00e8 correttamente realizzato per tutti i browser. Non \u00e8 trascurabile il fatto che l'SDK webrtc.org \u00e8 attivamente sviluppato da Google.<\/p>\n<h2>Qual \u00e8 il risultato dell'implementazione di WebRTC?<\/h2>\n<p>\n<center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/vk.com\/video_ext.php\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><br \/>\nPer la visione di video live dalle telecamere, abbiamo aggiunto un nuovo lettore ottimizzato basato su WebRTC nel pannello personale. Garantisce un'elevata velocit\u00e0 di caricamento del flusso video e elimina completamente il problema dell'accumulo di latenza con l'aumentare del tempo di visione.<\/p>\n<p>Dopo aver implementato il supporto WebRTC nel servizio cloud Ivideon, possiamo affermare con certezza che ora i nostri clienti possono accedere a un video in diretta di alta qualit\u00e0. Attualmente, il ritardo nella trasmissione del video non supera il secondo! A titolo di confronto, il precedente motore HLS garantiva la consegna del video con un ritardo di 5-7 secondi. La differenza nella velocit\u00e0 di visualizzazione dei video \u00e8 notevole e l'utente la noter\u00e0 immediatamente dopo aver iniziato a utilizzare il nostro servizio video.<\/p>\n<p>Come ci aspettavamo, l'implementazione del nuovo lettore ha aumentato la reattivit\u00e0 del PTZ e della comunicazione vocale con la telecamera.<\/p>\n<p><img decoding=\"async\" alt=\"WebRTC e videosorveglianza: come abbiamo superato il ritardo video dalle telecamere\" src=\"\/wp-content\/uploads\/2019\/04\/b6775b11fbc6d97a7cede32cccc471ab.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nC'\u00e8 solo un aspetto sottile su cui vogliamo richiamare l'attenzione. Il nuovo lettore WebRTC \u00e8 attualmente in fase di test. Ecco perch\u00e9 non lo attiviamo automaticamente per tutti i nostri clienti. Tuttavia, puoi attivarlo autonomamente abilitando l'apposita opzione nelle impostazioni della telecamera (per farlo, devi accedere al <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.ivideon.com\/my\/\">pannello personale<\/a><\/noindex>).<\/p>\n<h2>Caratteristiche dell'implementazione di WebRTC nel servizio Ivideon<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC e videosorveglianza: come abbiamo superato il ritardo video dalle telecamere\" src=\"\/wp-content\/uploads\/2019\/04\/247e640fa9334a0c144cc6b4296dc23b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWebRTC \u00e8 ancora una tecnologia sperimentale. Il suo supporto non \u00e8 attualmente implementato correttamente in tutti i browser e dispositivi degli utenti, n\u00e9 in tutte le telecamere.<\/p>\n<p>Questa \u00e8 la ragione per cui non abbiamo ancora reso il lettore WebRTC predefinito per tutti gli utenti.<\/p>\n<p>Attualmente, raccomandiamo di utilizzare WebRTC solo nei browser Google Chrome. Le ultime versioni di Firefox e Safari supportano anche questa tecnologia, ma, purtroppo, non sono ancora stabili. <\/p>\n<p>Non abbiamo ancora implementato il supporto per WebRTC nei browser sui dispositivi mobili. Al momento, se accedi da un dispositivo mobile e attivi WebRTC, questa modalit\u00e0 non funzioner\u00e0. Tuttavia, WebRTC \u00e8 disponibile nelle nostre applicazioni mobili per <noindex><a rel=\"nofollow\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.ivideon.client&amp;hl=ru\">Android<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/itunes.apple.com\/ru\/app\/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BD%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-ivideon\/id464234175?mt=8\">iOS<\/a><\/noindex>.<\/p>\n<p>E concludendo il discorso sulle caratteristiche di implementazione di WebRTC nel nostro servizio, segnaliamo altri due aspetti importanti.<\/p>\n<p>In primo luogo, la tecnologia \u00e8 progettata per la trasmissione di video in tempo reale. Pertanto, se la larghezza di banda della tua connessione non \u00e8 sufficiente a trasmettere il video, noterai un salto di fotogrammi (con HLS noterai interruzioni nel video e un aumento del ritardo, senza perdita di fotogrammi), ma il video verr\u00e0 comunque trasmesso in tempo reale.<\/p>\n<p>In secondo luogo, poich\u00e9 la tecnologia \u00e8 specificamente destinata a lavorare con video in tempo reale, non la utilizziamo per gestire dati video archiviati.<\/p>\n<h2>Altre modifiche al servizio<\/h2>\n<p>\nAttualmente, Flash non fa pi\u00f9 parte del meccanismo di selezione automatica del motore. Puoi comunque utilizzare un lettore di questo tipo, ma \u00e8 necessario selezionarlo manualmente nelle impostazioni dell'account o della telecamera. Non \u00e8 solo una questione di moda; statisticamente, gli utenti del nostro servizio che utilizzano Flash sono praticamente scomparsi. Inoltre, nel tentativo di determinare se il browser dell'utente lo supporta, perdiamo circa 2 secondi preziosi. <\/p>\n<p>Ecco un breve resoconto delle modifiche che vi attendono nel nostro sistema di videosorveglianza cloud e nel vostro pannello di controllo. Rimanete con noi e seguite le novit\u00e0!<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ivideon\/blog\/449326\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u0431\u0435\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430 Ivideon \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0440\u0435\u0441\u0442 \u2013 \u044d\u0442\u043e \u0431\u044b\u043b \u043d\u0430\u0448 \u042d\u0432\u0435\u0440\u0435\u0441\u0442, \u0432\u043e\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043d\u044f\u043b\u043e \u0443\u0439\u043c\u0443 \u0441\u0438\u043b, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b, \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e, \u0432\u043e\u0442\u043a\u043d\u0443\u043b\u0438 \u043b\u0435\u0434\u043e\u0440\u0443\u0431 \u0432 \u043c\u0430\u043a\u0443\u0448\u043a\u0443 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0431\u0443\u0441\u0430. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0437\u0432\u0443\u043a\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e \u0447\u0435\u0440\u0435\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, Web-\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32314","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u0431\u0435\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430 Ivideon \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0440\u0435\u0441\u0442 \u2013 \u044d\u0442\u043e \u0431\u044b\u043b \u043d\u0430\u0448 \u042d\u0432\u0435\u0440\u0435\u0441\u0442, \u0432\u043e\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043d\u044f\u043b\u043e \u0443\u0439\u043c\u0443 \u0441\u0438\u043b, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b, \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e, \u0432\u043e\u0442\u043a\u043d\u0443\u043b\u0438 \u043b\u0435\u0434\u043e\u0440\u0443\u0431 \u0432 \u043c\u0430\u043a\u0443\u0448\u043a\u0443 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0431\u0443\u0441\u0430. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0437\u0432\u0443\u043a\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e \u0447\u0435\u0440\u0435\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, Web-\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47WebRTC \u0438 \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435: \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u0430\u043c\u0435\u0440 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u0431\u0435\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430 Ivideon \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0440\u0435\u0441\u0442 \u2013 \u044d\u0442\u043e \u0431\u044b\u043b \u043d\u0430\u0448 \u042d\u0432\u0435\u0440\u0435\u0441\u0442, \u0432\u043e\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043d\u044f\u043b\u043e \u0443\u0439\u043c\u0443 \u0441\u0438\u043b, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b, \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e, \u0432\u043e\u0442\u043a\u043d\u0443\u043b\u0438 \u043b\u0435\u0434\u043e\u0440\u0443\u0431 \u0432 \u043c\u0430\u043a\u0443\u0448\u043a\u0443 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0431\u0443\u0441\u0430. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0437\u0432\u0443\u043a\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e \u0447\u0435\u0440\u0435\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, Web-\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:46:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:46:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47WebRTC e videosorveglianza: come abbiamo battuto il ritardo video dalle telecamere | ProHoster","description":"Sin dai primi giorni di sviluppo del sistema di videosorveglianza cloud, abbiamo affrontato un problema la cui soluzione avrebbe potuto compromettere Ivideon \u2013 era il nostro Everest, la cui scalata ci ha richiesto enormi sforzi, ma ora abbiamo finalmente piantato la piccozza sulla cima di questo rebus cross-platform. Il sistema di trasmissione audio e video attraverso Internet non deve dipendere dall'hardware, dai client Web.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47WebRTC \u0438 \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435: \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u0430\u043c\u0435\u0440 | ProHoster","og:description":"\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u0431\u0435\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430 Ivideon \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0440\u0435\u0441\u0442 \u2013 \u044d\u0442\u043e \u0431\u044b\u043b \u043d\u0430\u0448 \u042d\u0432\u0435\u0440\u0435\u0441\u0442, \u0432\u043e\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043d\u044f\u043b\u043e \u0443\u0439\u043c\u0443 \u0441\u0438\u043b, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b, \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e, \u0432\u043e\u0442\u043a\u043d\u0443\u043b\u0438 \u043b\u0435\u0434\u043e\u0440\u0443\u0431 \u0432 \u043c\u0430\u043a\u0443\u0448\u043a\u0443 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0431\u0443\u0441\u0430. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0437\u0432\u0443\u043a\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e \u0447\u0435\u0440\u0435\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, Web-\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:46:17+00:00","article:modified_time":"2019-10-31T18:46:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32314","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 10:17:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:17:44","updated":"2026-01-21 10:17:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/32314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=32314"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/32314\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/24131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=32314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=32314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=32314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}