WebRTC que es y cómo funciona



‚ŹĪÔłŹTiempo de lectura: 11 minutos, 31 segundos

WebRTC que es: ūü§ď conoce este sistema de comunicaci√≥n de v√≠deo y audio que puedes usar desde el navegador de tu PC y sin instalar ninguna app ūüíĽ‚Äč. ¬°Te explicamos c√≥mo funciona a continuaci√≥n!

 

¬ŅQue es WebRTC?

Su significado ¬ęWeb Real-Time Communication¬Ľ quiere decir ¬ęcomunicaci√≥n en tiempo real mediante web¬Ľ.¬† Es un sistema de comunicaci√≥n gratuito y de c√≥digo abierto que funciona a trav√©s del navegador del ordenador sin necesidad de instalar plugins.

Para usarlo solo necesitamos conectar el micrófono, la webcam y los altavoces al navegador y hacer y realizar las conexiones oportunas de conferencias y videoconferencias punto a punto de una manera mucho más accesible que utilizando un softphone.

Mediante este sistema se puede intercambiar información (archivos, fotos y vídeos) y llamadas de voz, video y chat en tiempo real entre navegadores de ordenador y aplicaciones móviles.

Con este sistema, las comunicaciones las gestiona una API de JavaScript, sin necesidad de tener que instalar plugins o aplicaciones en tu pc, basta con disponer de uno de los navegadores que soportan este sistema: Google Chrome, Safari, Firefox, Mozilla, Opera o Microsoft Edge, entre otros.

como funciona webrtc

WebRTC, ¬Ņc√≥mo funciona?

1. El usuario abre una p√°gina de WebRTC.

2. El navegador solicita acceso a la c√°mara y micr√≥fono del ordenador y el usuario debe otorgarlo (a uno de los dos o ambos seg√ļn se desee).

3. El SDP (Protocolo de Descripción de Sesión) se genera en el navegador que inicia la conexión.

4. Un iniciador de conexi√≥n transfiere los datos de conexi√≥n a otros usuarios participantes. Generalmente, se utiliza un servidor de se√Īalizaci√≥n y un protocolo WebSocket para el prop√≥sito.

 

webrtc que es

 

5. Del lado del usuario receptor de la comunicación, un navegador recibe un paquete SDP y luego genera otro similar que toma los datos también desde el primer paquete. El segundo paquete se envía de vuelta al lado inicial.

6. Dependiendo de su implementación, el estado de conexión de la red en analizada a la par que los pasos anteriores. Los usuarios reciben una dirección de servidor STUN que se utiliza para conocer la dirección IP externa del dispositivo.

A continuación se compara con la dirección IP interna para determinar si se está utilizando NAT con la conexión y, de ser así, cómo se enrutan los paquetes UDP.

En algunos casos m√°s complejos, como puede ser, cuando se usa un doble NAT, los desarrolladores utilizan servidores TURN. B√°sicamente son repetidores capaces de convertir una red de pares (P2P) en una cliente-servidor-cliente.

7. Finalmente, después de completar con éxito los pasos anteriores, la conexión quedará establecida.

 

que es webrtc

 

 

WebRTC, ¬Ņqu√© necesito para usarlo?

  • Un dispositivo (ordenador, m√≥vil o tablet)
  • Conexi√≥n a internet
  • Navegador Google Chrome, Safari, Firefox, Mozilla, Opera o Microsoft Edge
  • Auriculares y micr√≥fono

 

WebRTC, ¬Ņqu√© necesito para configurarlo?

Para realizar la configuración de un sistema de comunicación basado en WebRTC, son necesarios tres componentes principalmente:

1. Servidor de se√Īalizaci√≥n WebRTC

Para establecer conexiones con este sistema, los pares deben contactar con un servidor de se√Īalizaci√≥n. Este servidor ser√° el encargado m√°s tarde de proporcionar la informaci√≥n de la direcci√≥n necesaria para establecer una conexi√≥n de igual a igual. Algunos ejemplos de servidores de se√Īalizaci√≥n, son:

  • Signalmaster: servidor ligero basado en JavaScript
  • NextRTC: servidor basado en Java
  • Kurento: marco integral de WebRTC
  • Janus: WebRTC Gateway de prop√≥sito general

2. Aplicación de cliente WebRTC

El cliente accede a WebRTC de un navegador a trav√©s de una API de JavaScript o usa una biblioteca WebRTC como parte de una aplicaci√≥n de escritorio o m√≥vil. Para conectar con un par, el primer cliente debe conectarse al servidor de se√Īalizaci√≥n.

3. Servidor STUN / TURN

Las Utilidades de Traversal de sesión para NAT (STUN) permiten a los clientes intercambiar información de dirección incluso si están detrás de los enrutadores que emplean la Traducción de dirección de red (NAT).

Si las restricciones de red impiden que los interlocutores se comuniquen directamente, el tráfico se enrutará a través de un Servidor de uso de retransmisiones alrededor del servidor NAT (TURN).

 

WebRTC, ¬Ņcu√°les son sus ventajas?

Ya sea para uso particular o para uso profesional en una empresa o negocio, el sistema de comunicación WebRTC puede reportar muchas ventajas y beneficios. Aunque estamos seguros de que son infinitas, te detallamos a continuación las más destacadas a nuestro parecer:

  • Sin instalaciones:

Para su uso, no requiere instalación de software, plugin o aplicación alguna.

  • Comunicaciones de calidad:

Se pueden realizar videollamadas, llamadas de voz, conferencias y videoconferencias con m√ļltiples interlocutores.

La calidad del audio y del video es bastante más alta que con cualquier otra tecnología y la rapidez de transferencia de los datos también es mayor principalmente gracias a:

    • Codecs modernos de video y audio
    • Ajuste autom√°tico de calidad
    • Cancelaci√≥n de eco y ruido integrada
    • Control autom√°tico de ganancia (AGC)
  • Combinaci√≥n con VoIP:

Ofrece facilidades de combinaci√≥n de ambos sistemas, muy √ļtiles sobre todo en el entorno empresarial.

  • Multiplataforma:

Funciona igual de bien con cualquier sistema operativo (escritorio y móvil). Son compatibles la mayoría de los navegadores y además se puede utilizar con cualquier tipo de red.

  • Desarrollo:

Se trata de un proyecto de código abierto que puede integrarse fácilmente en su producto o servicio.

  • No requiere n√ļmero de tel√©fono:

√önicamente es necesario un navegador para poder establecer comunicaci√≥n con cualquier persona, sin necesidad de tener un n√ļmero de tel√©fono asociado.

  • Seguridad:

Se pueden llevar a cabo comunicaciones en tiempo real completamente seguras, ya que se realizan mediante encriptación.

Las conexiones se encuentran protegidas y cifradas seg√ļn los protocolos DTLS y SRTP. A la vez, este sistema opera solo sobre el protocolo HTTPS y si un sitio web que desee usar esta tecnolog√≠a, debe tener un certificado firmado.

 

WebRTC, ¬Ņcu√°les son sus desventajas?

  • No se pueden hacer llamadas de una app WebRTC a otra.

Esto es porque las soluciones WebRTC no son compatibles entre sí, ya que el estándar solo describe los procedimientos para transferir datos de video y audio.

Esto posibilita a los desarrolladores decidir sobre los métodos de direccionamiento, posibilidades de seguimiento de estado, intercambio de mensajes y archivos, programación, etc.

  • En cuanto a seguridad, hay que decir que WebRTC detecta las direcciones IP reales de los usuarios, y ni un proxy ni la red Tor ser√°n capaces de mantenerla en el anonimato.

Solo se puede ocultar la dirección IP usando varios servicios VPN y el servidor TURN. Si es necesario, WebRTC puede permanecer desactivado.

  • WebRTC no permite el control remoto de escritorio. Es capaz de transmitir lo que est√° sucediendo en la pantalla del dispositivo, pero no hay posibilidad de interactuar.

Esto ocurre por razones de seguridad, ya que el código Javascript no puede controlar nada fuera de la ventana actual del navegador.

La opción de control remoto del escritorio y otras capadas por el código Javascript, se puede solventar usando otras aplicaciones cliente personalizadas por proveedores de videoconferencia.

 

WebRTC, ¬Ņqu√© aplicaciones lo usan?

Algunos ejemplos de aplicaciones que usan este sistema de comunicación de voz y vídeo, son:

  • Google Meet y Google Hangouts
  • Facebook Messenger
  • Discord
  • Jitsi
  • Zoom
  • Apache OpenMeetings
  • Microsoft teams

 

WebRTC, ¬Ņqu√© c√≥decs usa?

Para el correcto funcionamiento de este sistema, existen algunos codecs que se consideran imprescindibles y otros opcionales. Explicaremos a continuación los codecs de audio y vídeo obligatorios y opcionales.

 

WebRTC, ¬Ņqu√© c√≥decs de audio usa?

Los codecs que explicaremos a continuación, se usan para comprimir el tráfico:

1. Codecs obligatorios de audio:

  • Opus:

Es un códec de audio de baja latencia (2.5 ms a 60 ms) con soporte de tasa de bits variable y alta compresión. Es el codec de audio principal para este sistema y es perfecto para streaming en redes de ancho de banda variable.

Opus es una solución híbrida que combina las mejores características de los códecs SILK (compresión de voz y mejora de voz humana) y CELT (codificación de audio).

En cuanto al n√ļmero de par√°metros, Opus supera a los codecs de baja tasa de bits m√°s populares: MP3, Vorbis y AAC LC.

  • G.711:

Es un c√≥dec de voz heredado de 64 kbps dise√Īado para su uso en sistemas VoIP tradicionales. La ventaja principal de G.711 es la carga computacional m√≠nima gracias a los algoritmos de compresi√≥n ligeros.

El codec tiene un bajo nivel de compresi√≥n de se√Īales de audio y no aumenta el retraso de audio en la comunicaci√≥n entre usuarios.

Es compatible con muchos dispositivos y los sistemas que utilizan este codec son más fáciles de usar que los basados en otros códecs de audio.

2. Codecs opcionales de audio:

  • G.722:

Puede operar a 48, 56 y 64 kbps, proporcionando una calidad de audio igual a G.711. Como el G.711, es heredado, pero a√ļn es compatible con Chrome, Safari y Firefox.

  • iLBC (internet Low Bitrate Codec)

Es un códec de voz de banda estrecha de código abierto compatible con Chrome y Safari. Su problema es que deDebido a la alta compresión de flujo, este códec incrementa la carga del CPU.

  • iSAC (internet Speech Audio Codec)

Se trata de un códec de audio de voz de banda ancha ya patentado que ahora se ha integrado en el proyecto WebRTC. Este codec no es obligatorio, pero es compatible con Chrome y Safari.

En el caso de WebRTC, utiliza un bitrate adaptativo de 10 a 52 kbps con una tasa de muestreo de 32 kHz.

 

WebRTC, ¬Ņqu√© c√≥decs de v√≠deo usa?

1. Codecs obligatorios de vídeo:

  • VP8:

Es un códec de video abierto con alta velocidad de decodificación de video y gran resistencia a la pérdida de cuadros.

VP8 es f√°cil de integrar en las plataformas de hardware, por lo que es muy usado por los proveedores de videoconferencia.

VP8  es compatible con Chrome, Edge, Firefox y Safari (12.1+).

  • H.264:

Ofrece una alta relación de compresión para flujos de video manteniendo al mismo tiempo una alta calidad de video.

Es muy usado en sistemas de hardware de videoconferencia y perfecto para este sistema de comunicación.

H.264 es compatible con Chrome (52+), Edge, Firefox (ya no es compatible con las versiones 68+ para Android) y Safari.

 

webrtc chrome

 

2. Codecs opcionales de vídeo:

  • VP9:

Es un estándar de compresión de video abierto y libre desarrollado por Google en 2012. Más tarde fue ampliado dentro del AV1It, resulta de las ideas detrás del VP8.

Es compatible con Chrome (48+) y Firefox.

  • H.265:

Es un códec de video pago que optimiza las opciones del H.264 y que proporciona la misma calidad visual a la mitad del bitrate. Esto es posible gracias a que se han conseguido algoritmos de compresión más eficientes. Este códec está compitiendo actualmente con el AV1.

  • AV1:

Es un c√≥dec de compresi√≥n de video de c√≥digo abierto dise√Īado para la transmisi√≥n de video por internet.

Es compatible con Chrome (70+) y Firefox (67+).

 

WebRTC, ¬Ņqu√© navegadores soporta?

  • Google Chrome
  • Mozilla
  • Firefox
  • Safari
  • Opera
  • Microsoft Edge

 

WebRTC Chrome, ¬Ņc√≥mo habilitarlo?

1. Insertar en navegador chrome://flags/#temporary-unexpire-flags-m85 y poner habilitado (enabled). Esto esto permitir√° que se habilite chrome://flags/#enable-webrtc-hide-local-ips-with-mdns.

2. Insertar en navegador chrome://flags/#enable-webrtc-hide-local-ips-with-mdns y deshabilitar (disabled).

 

WebRTC, ¬Ņc√≥mo desactivarlo?

A continuación, vamos a explicar cómo puedes desactivar este sistema en diferentes navegadores: WebRTC Chrome, Firefox, Safari, Microsoft Edge. Sigue los pasos indicados.

 

WebRTC Chrome, ¬Ņc√≥mo desactivarlo?

A través de las extensiones siguientes:

uBlock Origin: bloqueador polivalente para anuncios, rastreadores, malware y además tiene una opción para bloquear este sistema de comunicación.

WebRTC Network Limiter: complemento oficial de Google, que detiene las fugas de IP sin bloquear totalmente el sistema de comunicación.

 

WebRTC Firefox, ¬Ņc√≥mo desactivarlo?

1. Escribe en la barra de direcciones: about:config

2. Haz clic en el bot√≥n que aparecer√° indicando ¬ę¬°Acepto del riesgo!¬Ľ

3. Escribe en la barra de b√ļsqueda: media.peerconnection.enabled

4. Haz doble clic para cambiar el valor a ‚Äėfalso‚Äô

Este método debería funcionar en la versión móvil y en la de escritorio de Firefox.

 

WebRTC Safari, ¬Ņc√≥mo desactivarlo?

En la actualidad no se puede deshabilitar totalmente este sistema en Safari. Sin embargo, debemos tener en cuenta que el modelo de otorgamiento de permisos de Safari es m√°s estricto que los de los dem√°s navegadores.

En Safari realmente no sería necesario emprender ninguna acción adicional para evitar fugas a través de este sistema de comunicación.

 

WebRTC Microsoft Edge, ¬Ņc√≥mo desactivarlo?

  1. Escribe lo siguiente en la barra de direcciones: about: flags
  2. Selecciona la opción marcada Ocultar mi dirección IP local en conexiones WebRTC

 

WebRTC, ¬Ņcu√°l es la consecuencia de desactivarlo?

Desactivar este sistema en el navegador nos permitirá mejorar notablemente la privacidad, debido a aque nos permitirá ocultar la IP real cuando realizamos conexiones a través de una conexión VPN. Al mismo tiempo, evitaremos revelar información sensible, como la configuración de nuestras direcciones IP privadas.

Sin embargo, deshabilitar este sistema de comunicación puede hacer que algunas apps y herramientas web que dependen de él dejen de funcionar, como por ejemplo:

РAplicaciones que permiten enviar archivos a través de nuestro ordenador de punto a punto, sin un servidor intermedio.

WhatsApp Web, que usa este sistema para conectarse con nuestro smartphone y utilizarlo de ¬ępuente¬Ľ para enviar los datos a trav√©s de √©l. Sin este protocolo no se podr√° conectar y, por lo tanto, no funcionar√°.

Si necesitamos volver a utilizar alguna aplicación que dependa de este protocolo, lo mejor es volver a activarlo (deshabilitando las extensiones o revirtiendo el cambio realizado en la configuración). En cualquier caso, no debemos olvidarnos de los riesgos para la privacidad que supone usar WebRTC.

 

WebRTC y VoIP, ¬Ņqu√© tienen en com√ļn?

Los dos realizan comunicaciones en tiempo real desde cualquier ubicación en el mundo a través de la red de internet. En ambos casos cualquier dispositivo conectado a Internet puede ser potencialmente utilizado como terminal: ordenador, tablet, smartphone, etc.

 

WebRTC y VoIP, ¬Ņcu√°l es la diferencia?

A pesar de que WebRTC es una tecnolog√≠a basada en VoIP, la verdadera diferencia entre ellos es la propia tecnolog√≠a subyacente. WebRTC¬†solo se aplica a los navegadores web (Chrome, Mozilla, Firefox, Safari…) sin ser necesiario usar una aplicaci√≥n para realizar o recibir llamadas a trav√©s de internet.

Aunque VoIP es ya de por s√≠ un sistema muy econ√≥mico, el hecho de que WebRTC no necesite ni siquiera la instalaci√≥n de una app para su uso, supone un impacto a√ļn mayor en el coste de la propiedad.

El VoIP requiere una red, arquitectura y personal dedicados, pero WebRTC es un servicio bajo demanda, la mayoría de las veces facturado por usuario, por mes y sin costo de infraestructura.

 

WebRTC y SIP en VoIP, ¬Ņcu√°l es la diferencia?

WebRTC es un proyecto de código abierto desarrollado por Google. Realiza comunicaciones de voz y vídeo utilizando las aplicaciones del navegador.

A diferencia del SIP, para comunicarse mediante este sistema no ser√° imprescindible usar ning√ļn dispositivo adicional, ya que se puede usar en el m√≥vil o tablet descargando una aplicaci√≥n, o en el PC usando unos auriculares.

 

WebRTC, ¬Ņc√≥mo saber si se encuentra habilitado?

Insertar en la barra de direcciones del navegador chrome: // webrtc-internals /  para ver todas las conexiones WebRTC. El sitio que trató de establecer la conexión WebRTC aparecerá en la parte superior (en este caso https: // ip.voidsec.com /).

 

– – – – – –

 

Ahora que ya sabes todo sobre WebRTC que es y cómo funciona, te será más sencillo comenzar a utilizarlo para tus comunicaciones.

Si tienes alguna duda sobre este sistema de comunicación o deseas que te ayudemos a implemenbtarlo en tu empresa, ponte en contacto con nosotros a través de nuestro Formulario de Contacto.

(Votos: 2 )