{"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\/es\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","title":{"rendered":"WebRTC y videovigilancia: c\u00f3mo superamos la latencia del video de las c\u00e1maras","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"WebRTC y videovigilancia: c\u00f3mo superamos la latencia del video de las c\u00e1maras\" src=\"\/wp-content\/uploads\/2019\/04\/d185b546f5fc4c15021481c0cc2fedbd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDesde los primeros d\u00edas de trabajo en el sistema de videovigilancia en la nube, nos enfrentamos a un problema cuya soluci\u00f3n era crucial para Ivideon; era nuestro Everest, una escalada que consumi\u00f3 una gran cantidad de esfuerzo, pero ahora, finalmente, hemos clavado el piolet en la cima del rompecabezas multiplataforma.<\/p>\n<p>El sistema de transmisi\u00f3n de audio y video a trav\u00e9s de Internet no debe depender del hardware, los clientes web y los est\u00e1ndares que estos admiten, y adem\u00e1s debe funcionar correctamente en presencia de traductores de direcciones de red y cortafuegos. Un usuario de videovigilancia en la nube desea acceder al servicio, incluso si utiliza c\u00e1maras anal\u00f3gicas, y prefiere ver la transmisi\u00f3n de video en vivo en el dispositivo m\u00e1s moderno. <\/p>\n<p>Es muy significativo que el usuario quiera ver video con la m\u00ednima latencia. Pr\u00e1cticamente la \u00fanica manera de mostrar video con baja latencia en un navegador es utilizar WebRTC (comunicaciones en tiempo real web). WebRTC es un conjunto de tecnolog\u00edas para la transmisi\u00f3n peer-to-peer de video y audio en navegadores, dise\u00f1ado originalmente para la transmisi\u00f3n y reproducci\u00f3n de flujos de video con baja latencia. Para esto, entre otras cosas, se utiliza el protocolo UDP.<\/p>\n<p>Antes de contarles qu\u00e9 ofrece al usuario el nuevo motor, recordemos por qu\u00e9 y para qu\u00e9 soportamos las tecnolog\u00edas HLS, y por qu\u00e9 decidimos avanzar.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Motor HLS: pros y contras<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC y videovigilancia: c\u00f3mo superamos la latencia del video de las c\u00e1maras\" 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 tecnolog\u00eda HLS (HTTP Live Streaming) fue desarrollada por Apple, por lo que no es sorprendente que su soporte apareciera por primera vez en dispositivos de esta marca. Hoy en d\u00eda, casi todos los decodificadores de televisi\u00f3n y muchos dispositivos que funcionan con el sistema operativo Android tambi\u00e9n pueden reproducir video en formato HLS.<\/p>\n<p>El motor HLS utiliza el conocido c\u00f3dec de video H264 combinado con flujos de audio AAC o MP3 para la transmisi\u00f3n de video. Todo el flujo de datos de audio y video se empaqueta en el contenedor de transporte MPEG-TS. Para la transmisi\u00f3n a trav\u00e9s del protocolo HTTP, la informaci\u00f3n contenida en el flujo se divide en fragmentos, descritos en listas de reproducci\u00f3n m3u8. Solo entonces estos fragmentos, junto con las listas de reproducci\u00f3n, se transmiten a trav\u00e9s de HTTP. La divisi\u00f3n en fragmentos implica autom\u00e1ticamente un retardo en segundos. Esta es una caracter\u00edstica del contenedor MPEG-TS. <\/p>\n<p>El motor HLS tambi\u00e9n admite flujos de m\u00faltiples tasas de bits, Live\/VOD. <\/p>\n<p><b>Las principales ventajas de HLS:<\/b><\/p>\n<ul>\n<li>soporte integrado en todos los navegadores principales;<\/li>\n<li>facilidad de implementaci\u00f3n (en comparaci\u00f3n con WebRTC);<\/li>\n<li>es muy conveniente y efectivo organizar todo tipo de transmisiones para una gran audiencia gracias a la posibilidad de cargar segmentos una vez en el CDN.<\/li>\n<\/ul>\n<p>\nA pesar de la sencillez del motor, no todo es tan fluido como parece. El principal problema es que los desarrolladores de reproductores de terceros se han desviado de las recomendaciones de Apple, por ejemplo, en lo que respecta a los formatos de audio admitidos. En particular, muchos desarrolladores han comenzado a agregar la capacidad de trabajar con flujos de audio populares: mpeg2 video, mpeg2 audio, etc. Como resultado, se tuvieron que crear diferentes formatos de listas de reproducci\u00f3n para diferentes reproductores.<\/p>\n<p>Pero uno de los mayores problemas del motor HLS es la alta latencia en la transmisi\u00f3n de datos.<\/p>\n<h2>Or\u00edgenes de los \"retardos\"<\/h2>\n<p>\nLa principal raz\u00f3n de la alta latencia de HLS radica en que los programadores dise\u00f1aron el motor para obtener la mejor calidad de imagen posible. Por lo tanto, los par\u00e1metros del intervalo de fotogramas y el tama\u00f1o del b\u00fafer de reproducci\u00f3n simplemente no son adecuados para la transmisi\u00f3n de video en vivo. Debido a esto, se produce una latencia considerable en la transmisi\u00f3n del video, que puede ser de 5 a 7 segundos.<\/p>\n<p>Por un lado, esto es poco, por ejemplo, para quienes ven una pel\u00edcula desde un servidor de videohospedaje. Pero para los sistemas de videovigilancia, la latencia en la transmisi\u00f3n del video puede tener una gran importancia.<\/p>\n<p>Si est\u00e1 observando una oficina donde los empleados se distraen cada hora de las pantallas, entonces una latencia de 5 segundos no tiene importancia. Pero la gente ha comenzado a quejarse de que, por ejemplo, durante la transmisi\u00f3n de un partido de f\u00fatbol, en el chat ya han escrito GOOOOL, pero en el video a\u00fan no se ha visto :). Ya tenemos varios casos de usuarios donde Ivideon pr\u00e1cticamente debe reemplazar a Skype.<\/p>\n<p>\u00bfSe puede eliminar la latencia en HLS? La respuesta a esta pregunta suena como la declaraci\u00f3n de un experimentado exterminador de ratas en una conferencia ante j\u00f3venes desratizadores: \u00abNo se pueden eliminar las ratas, pero se puede reducir su poblaci\u00f3n a un m\u00ednimo razonable\u00bb. As\u00ed es con la latencia en HLS, no se puede eliminar por completo, pero en el mercado hay soluciones que permiten reducirla considerablemente.<\/p>\n<h2>Segmentaci\u00f3n peque\u00f1a<\/h2>\n<p>\nOtro inconveniente del motor es el uso de archivos peque\u00f1os para la transmisi\u00f3n de datos. A primera vista, \u00bfqu\u00e9 hay de malo en eso?<\/p>\n<p>Cualquiera que haya intentado copiar una gran cantidad de archivos peque\u00f1os de un dispositivo a otro seguramente habr\u00e1 notado que la velocidad de escritura de un conjunto as\u00ed es mucho m\u00e1s baja que la de un solo archivo grande del mismo tama\u00f1o. Adem\u00e1s, la intensidad de las solicitudes al disco duro aumenta significativamente, lo que afecta negativamente el rendimiento de toda la computadora. Por lo tanto, la transmisi\u00f3n de datos de video en forma de peque\u00f1os fragmentos de 10 segundos tambi\u00e9n contribuye a un aumento en la latencia del motor.<\/p>\n<p>Resumamos brevemente todos los pros y contras de la tecnolog\u00eda HLS.<\/p>\n<p><b>Ventajas de HLS:<\/b><\/p>\n<ol>\n<li>Posibilidad de funcionar en cualquier dispositivo. Puedes ver videos en cualquier dispositivo moderno, ya sea un tel\u00e9fono inteligente, una tableta, una laptop o una PC de escritorio. Lo principal es que el navegador web sea una versi\u00f3n moderna y sea compatible con HTML5 y Media Source Extensions.<\/li>\n<li>Excelente calidad de imagen. La funci\u00f3n de transmisi\u00f3n adaptativa utilizada permite cambiar din\u00e1micamente la calidad del video transmitido seg\u00fan el ancho de banda de la conexi\u00f3n a Internet, mientras que el algoritmo se esfuerza por mantener la calidad en su nivel m\u00e1ximo.<\/li>\n<li>No es necesario configurar complicadamente el hardware del usuario.<\/li>\n<\/ol>\n<p>\n<b>Desventajas:<\/b><\/p>\n<ol>\n<li>Soporte limitado para funcionar con el motor en algunos dispositivos.<\/li>\n<li>Altas latencias en la transmisi\u00f3n de la imagen.<\/li>\n<li>Aumento significativo de la sobrecarga y complejidad de optimizaci\u00f3n debido al uso de archivos de peque\u00f1o tama\u00f1o. Debido a las caracter\u00edsticas del contenedor, nunca podremos obtener una latencia menor que el tama\u00f1o del segmento.<\/li>\n<\/ol>\n<p>\nLas desventajas de HLS han superado sus ventajas para nosotros y nos han llevado a buscar alternativas.<\/p>\n<h2>\u00bfQu\u00e9 es WebRTC?<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC y videovigilancia: c\u00f3mo superamos la latencia del video de las c\u00e1maras\" src=\"\/wp-content\/uploads\/2019\/04\/0cf3c13dba71f6b268113af77841e521.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex>c<\/noindex>)<\/p>\n<p>La plataforma WebRTC fue desarrollada por Google en 2011 para transmitir datos de video y audio en tiempo real entre navegadores y aplicaciones m\u00f3viles con m\u00ednima latencia. Para ello se utiliza el protocolo est\u00e1ndar UDP y algoritmos especiales de control de flujo. Hoy en d\u00eda es un proyecto de c\u00f3digo abierto, que es activamente soportado y desarrollado por Google.<\/p>\n<p>WebRTC es un conjunto de tecnolog\u00edas para la transmisi\u00f3n de video y audio de peer a peer. Es decir, por ejemplo, los navegadores de los usuarios pueden transmitir datos entre s\u00ed directamente mediante WebRTC, sin utilizar servidores remotos para almacenar y procesar datos. Toda la informaci\u00f3n tambi\u00e9n es procesada por los navegadores y aplicaciones m\u00f3viles de los usuarios finales.<\/p>\n<p>Los desarrolladores de todos los navegadores populares han valorado las comodidades y grandes capacidades de esta tecnolog\u00eda. Hoy en d\u00eda, el soporte para WebRTC est\u00e1 implementado en Mozilla Firefox, Opera, Google Chrome (y todos los navegadores basados en Chromium), as\u00ed como en aplicaciones m\u00f3viles para Android e iOS.<\/p>\n<p>A pesar de sus indudables ventajas, WebRTC tiene algunas desventajas importantes. <\/p>\n<h2>Dificultades de elecci\u00f3n<\/h2>\n<p>\nLa tecnolog\u00eda WebRTC es mucho m\u00e1s compleja en t\u00e9rminos de interacciones de red debido a que se basa en P2P. Es dif\u00edcil de depurar y probar, y puede comportarse de manera impredecible. Adem\u00e1s, necesitamos superar NAT y firewalls, y asegurar su funcionamiento en redes donde se bloquea UDP.<\/p>\n<p>La implementaci\u00f3n de WebRTC de Google es muy dif\u00edcil de utilizar. Incluso hay una empresa que ofrece servicios para compilar SDKs. Adem\u00e1s, fue muy complicado integrar la implementaci\u00f3n de Google en nuestro sistema sin tener que recodificar todo el video.<\/p>\n<p>Sin embargo, siempre hemos querido dar a los usuarios la posibilidad de trabajar con un video 'en vivo' completo y minimizar la latencia de la imagen en pantalla respecto a los propios eventos. Adem\u00e1s, ten\u00edamos el deseo de hacer m\u00e1s c\u00f3modo el uso de c\u00e1maras PTZ, donde las retardos son de vital importancia.<\/p>\n<p>Dado que otras implementaciones para combatir el lag a\u00fan tienen funcionalidad limitada y funcionan notablemente peor, decidimos utilizar WebRTC. <\/p>\n<h2>Lo que hicimos<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC y videovigilancia: c\u00f3mo superamos la latencia del video de las c\u00e1maras\" src=\"\/wp-content\/uploads\/2019\/04\/714f94de43114e552e4d818e9ec927ae.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIntegrar correctamente la plataforma WebRTC es una tarea dif\u00edcil. Cualquier error o inexactitud puede resultar en que las latencias en la transmisi\u00f3n de video no solo no disminuyan comparadas con otras plataformas, sino que incluso aumenten.<\/p>\n<p>Para el correcto funcionamiento de WebRTC, primero es necesario llevar a cabo una modernizaci\u00f3n tecnol\u00f3gica del stack para trabajar con video web. Lo que hemos hecho.<\/p>\n<p>Primero implementamos un servidor de protocolo de se\u00f1alizaci\u00f3n WebRTC sobre Websocket, y tambi\u00e9n desplegamos un servidor peer de WebRTC en la nube basado en el SDK webrtc.org. Su funci\u00f3n es distribuir flujos de video a los peers clientes de WebRTC en formato H.264 + Opus\/G.711 sin recodificar el video.<\/p>\n<p>Elegimos Websocket como protocolo de se\u00f1alizaci\u00f3n porque ya cuenta con un buen soporte en todos los navegadores web populares. Esto permite reducir significativamente no solo los costos de desarrollo, sino tambi\u00e9n evitar la p\u00e9rdida de tiempo y recursos en rehandshakes de TCP y TLS en comparaci\u00f3n con AJAX.<\/p>\n<p>El hecho es que por defecto WebRTC no proporciona un protocolo de se\u00f1alizaci\u00f3n necesario para la correcta configuraci\u00f3n, mantenimiento y ruptura de la videoconferencia en tiempo real entre las aplicaciones de origen y cliente.<\/p>\n<p>Y para implementar la tecnolog\u00eda de se\u00f1alizaci\u00f3n por nuestra cuenta, necesitamos desarrollar nuestro propio servidor de se\u00f1alizaci\u00f3n con soporte para varios protocolos web (Websocket, WebRTC). Tambi\u00e9n debe tener la capacidad de gestionar sesiones y notificaciones de manera segura en tiempo real, as\u00ed como la gesti\u00f3n de video y muchos otros par\u00e1metros.<\/p>\n<p>Superamos las limitaciones de P2P reduciendo la latencia no a trav\u00e9s de P2P, sino mediante UDP y un control de flujo orientado a disminuir la latencia. Esto tambi\u00e9n est\u00e1 incorporado en WebRTC, ya que el caso de uso principal son las conversaciones P2P a trav\u00e9s del navegador.<\/p>\n<p>En el cliente m\u00f3vil implementamos un reproductor utilizando el SDK webrtc.org, ya que solo este ofrece un correcto control de flujo, incluye todos los esquemas conocidos de Correcci\u00f3n de Errores Adelantados (FEC) y su mecanismo de retransmisi\u00f3n de paquetes est\u00e1 bien implementado para todos los navegadores. Tambi\u00e9n es importante destacar que el SDK webrtc.org es activamente desarrollado por Google.<\/p>\n<h2>\u00bfCu\u00e1l es el resultado de implementar 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 \/>\nPara ver video en vivo desde las c\u00e1maras, hemos agregado un nuevo reproductor optimizado basado en WebRTC en el \u00e1rea personal. Este proporciona una alta velocidad de carga de video y elimina completamente el problema de acumulaci\u00f3n de latencia a medida que aumenta el tiempo de visualizaci\u00f3n.<\/p>\n<p>Tras la implementaci\u00f3n del soporte de WebRTC en el servicio en la nube Ivideon, podemos afirmar con total seguridad que ahora nuestros clientes pueden disfrutar de una transmisi\u00f3n de video en vivo completa. Actualmente, la latencia en la transmisi\u00f3n de video no supera un segundo. En comparaci\u00f3n, el antiguo motor HLS proporcionaba la entrega de video con una latencia de 5 a 7 segundos. La diferencia en la velocidad de visualizaci\u00f3n del video es muy significativa y el usuario la notar\u00e1 inmediatamente al comenzar a utilizar nuestro servicio de video.<\/p>\n<p>Como esper\u00e1bamos, la implementaci\u00f3n del nuevo reproductor ha permitido mejorar la capacidad de respuesta del PTZ y la comunicaci\u00f3n de voz con la c\u00e1mara.<\/p>\n<p><img decoding=\"async\" alt=\"WebRTC y videovigilancia: c\u00f3mo superamos la latencia del video de las c\u00e1maras\" src=\"\/wp-content\/uploads\/2019\/04\/b6775b11fbc6d97a7cede32cccc471ab.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHay solo un peque\u00f1o detalle al que queremos llamar su atenci\u00f3n. El nuevo reproductor WebRTC actualmente funciona en modo de prueba. Por esta raz\u00f3n, no lo activamos de manera predeterminada para todos nuestros clientes. Pero usted puede activarlo manualmente, habilitando la opci\u00f3n correspondiente en la configuraci\u00f3n de la c\u00e1mara (para esto debe entrar en <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.ivideon.com\/my\/\">su cuenta personal<\/a><\/noindex>).<\/p>\n<h2>Caracter\u00edsticas de la implementaci\u00f3n de WebRTC en el servicio Ivideon<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC y videovigilancia: c\u00f3mo superamos la latencia del video de las c\u00e1maras\" src=\"\/wp-content\/uploads\/2019\/04\/247e640fa9334a0c144cc6b4296dc23b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWebRTC sigue siendo una tecnolog\u00eda experimental en este momento. Su soporte no est\u00e1 completamente implementado en todos los navegadores y dispositivos de usuario, ni en todas las c\u00e1maras.<\/p>\n<p>Esto explica por qu\u00e9 a\u00fan no hemos hecho del reproductor WebRTC el predeterminado para todos los usuarios.<\/p>\n<p>Por ahora, recomendamos usar WebRTC solo en los navegadores Google Chrome. Las \u00faltimas versiones de Firefox y Safari tambi\u00e9n admiten esta tecnolog\u00eda, pero, desafortunadamente, a\u00fan son inestables. <\/p>\n<p>A\u00fan no hemos implementado el soporte de WebRTC para navegadores en dispositivos m\u00f3viles. Actualmente, si accede desde un dispositivo m\u00f3vil y activa WebRTC, este modo no funcionar\u00e1. Sin embargo, WebRTC est\u00e1 disponible en nuestras aplicaciones m\u00f3viles para <noindex><a rel=\"nofollow\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.ivideon.client&amp;hl=ru\">Android<\/a><\/noindex> y <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>Y finalizando nuestro relato sobre las caracter\u00edsticas de la implementaci\u00f3n de WebRTC en nuestro servicio, mencionemos otros dos detalles finos.<\/p>\n<p>En primer lugar, la tecnolog\u00eda est\u00e1 orientada a la transmisi\u00f3n de video en vivo en tiempo real. Por lo tanto, si el ancho de banda de su conexi\u00f3n no es suficiente para transmitir el video, notar\u00e1 la p\u00e9rdida de cuadros (con HLS notar\u00e1 congelaciones del video y un aumento en la latencia, aunque no habr\u00e1 p\u00e9rdida de cuadros), pero el video seguir\u00e1 siendo transmitido en tiempo real.<\/p>\n<p>En segundo lugar, dado que la tecnolog\u00eda est\u00e1 destinada a trabajar espec\u00edficamente con video en vivo en tiempo real, no la usamos para trabajar con datos de video archivados.<\/p>\n<h2>Otros cambios en el servicio<\/h2>\n<p>\nEn este momento, Flash ya no participa en el mecanismo de selecci\u00f3n autom\u00e1tica del motor. A\u00fan se puede utilizar dicho reproductor, pero es necesario seleccionar manualmente en la configuraci\u00f3n de la cuenta o de la c\u00e1mara. No es una cuesti\u00f3n de moda, simplemente, seg\u00fan las estad\u00edsticas de nuestro servicio, pr\u00e1cticamente no quedan usuarios trabajando con Flash. Adem\u00e1s, al intentar determinar si el navegador del usuario lo soporta, perdemos alrededor de 2 segundos de tiempo valioso. <\/p>\n<p>Aqu\u00ed un breve resumen de los cambios que te esperan en nuestro sistema de videovigilancia en la nube y en tu cuenta personal. \u00a1Mantente con nosotros y sigue nuestras noticias!<br \/>\n<br \/>Fuente: <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.2 - 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.\" \/>\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\/es\/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.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/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 y videovigilancia: c\u00f3mo vencimos la latencia de video en las c\u00e1maras | ProHoster","description":"Desde los primeros d\u00edas de trabajo en.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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.","og:url":"https:\/\/prohoster.info\/es\/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\/es\/wp-json\/wp\/v2\/posts\/32314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=32314"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/32314\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/24131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=32314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=32314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=32314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}