WebRTC

WebRTC
Información general
Tipo de programa Especificación HTML5
Autor Google
Desarrollador W3C
Lanzamiento inicial 5 de 2011
Licencia BSD
Estado actual Desarrollo
Información técnica
Plataformas admitidas Web
Versiones
Última versión estable 1.0 ()
Enlaces

WebRTC (Web Real-Time Communication) es un proyecto libre y de código abierto que proporciona a los navegadores web y a las aplicaciones móviles comunicación en tiempo real (RTC) a través de interfaces de programación de aplicaciones (API). Permite que la comunicación de audio y vídeo funcione dentro de las páginas web al permitir la comunicación entre pares, eliminando la necesidad de instalar plugins o descargar aplicaciones nativas.[1]​ Con el apoyo de Apple, Google, Microsoft, Mozilla y Opera, WebRTC se está estandarizando por medio del World Wide Web Consortium (W3C) y del Internet Engineering Task Force (IETF).[2]

Su misión es «permitir el desarrollo de aplicaciones RTP avanzadas y de alta calidad para el navegador, plataformas móviles y dispositivos de IoT, y permitir que todos ellos se comuniquen a través de un conjunto de protocolos comunes».[2]​ La implementación de referencia se publica como software libre bajo los términos de una licencia BSD. OpenWebRTC proporciona otra implementación libre basada en el framework multimedia GStreamer. El inventor de JavaScript, Brendan Eich, lo describió como un «un nuevo frente en la larga batalla por una web abierta y sin barreras».[3]

Historia

Un proyecto conocido como WebRTC, para la comunicación en tiempo real basada en navegador, fue hecho Open Source por Google.[4]​ Esto ha sido continuado por los trabajos en curso para estandarizar los protocolos pertinentes de la IETF[5]​ y API del navegador en la W3C.[6]

El proyecto WebRTC de la W3C[7]​ es un trabajo en progreso que cuenta implementaciones avanzadas en Firefox y Chrome. El API se basa en el trabajo previo realizado en la WHATWG.[8]​ Se conoce como la API ConnectionPeer, y una implementación de los conceptos pre estándar fue creada en los laboratorios Ericsson).[9]​ El grupo de trabajo de WebRTC espera que esta especificación evolucione significativamente con base en:

  • Los resultados de los intercambios en curso por el grupo RTCWEB de la IETF[10]​ para definir el conjunto de protocolos que, junto con este documento, permitirán comunicaciones en tiempo real en los navegadores Web.
  • Los problemas de privacidad que surgen al exponer las capacidades y los flujos locales.
  • Las discusiones técnicas dentro del grupo, sobre la implementación de canales de datos en particular.[11]
  • La experiencia adquirida a través de la experimentación temprana.
  • Los comentarios recibidos de otros grupos e individuos.

Diseño

Los principales componentes de WebRTC incluyen:

  • getUserMedia, que permite a un navegador web acceder a la cámara y el micrófono
  • PeerConnection, que establece las llamadas de audio / vídeo
  • DataChannels, que permiten a los navegadores a compartir datos a través de peer-to-peer

A partir de marzo de 2012, el Códec IETF WebRTC y el Procesamiento de Requisitos de Medios del proyecto[12]​ requieren implementaciones para proporcionar PCMA/PCMU (RFC 3551) eventos del teléfono como DTMF (RFC 4733) y Opus (RFC 6716), junto con una serie de códecs de vídeo de capacidades mínimas. El Peerconnection, los canales de datos y una API de captura de los medios de comunicación del navegador se detallan en la W3C.

Soporte

WebRTC es soportado por los siguiente navegadores:

  • Android
    • Google Chrome 28 (Habilitado por defecto desde la versión 29)
    • Mozilla Firefox 24[14]
    • Opera Mobile 12

Controversia

En enero de 2015, TorrentFreak informó que los navegadores que soportan WebRTC sufren de un serio fallo de seguridad que compromete la seguridad de los túneles VPN, permitiendo que la verdadera dirección IP pueda ser obtenida.[15]​ Existen sin embargo extensiones que evitan este problema (p. ej. uBlock Origin).[16]

Véase también

Referencias

  1. «How WebRTC Is Revolutionizing Telephony». Trilogy-LTE (en inglés). Consultado el 15 de julio de 2019. 
  2. a b «WebRTC». webrtc.org. Consultado el 15 de julio de 2019. 
  3. Uberti, Justin. «WebRTC: Plugin-free realtime communication». io13webrtc.appspot.com (en inglés). Consultado el 15 de julio de 2019. 
  4. «Google release of WebRTC source code from Harald Alvestrand on 2011-05-31». Lists.w3.org. Consultado el 12 de septiembre de 2012. 
  5. http://tools.ietf.org/wg/rtcweb/charters?item=charter-rtcweb-2011-05-03.txt
  6. «WebRTC 1.0: Real-time Communication Between Browsers». W3.org. Consultado el 12 de septiembre de 2012. 
  7. «WebRTC 1.0: Real-time Communication Between Browsers». Dev.w3.org. Consultado el 12 de septiembre de 2012. 
  8. «Introduction — HTML Standard». Whatwg.org. Consultado el 12 de septiembre de 2012. 
  9. «Beyond HTML5: Peer-to-Peer Conversational Video | Ericsson Labs». Labs.ericsson.com. Archivado desde el original el 29 de octubre de 2012. Consultado el 12 de septiembre de 2012. 
  10. «Rtcweb Status Pages». Tools.ietf.org. Consultado el 12 de septiembre de 2012. 
  11. «draft-jesup-rtcweb-data-protocol-00 - WebRTC Data Channel Protocol». Tools.ietf.org. Consultado el 12 de septiembre de 2012. 
  12. «draft-cbran-rtcweb-codec-02 - WebRTC Codec and Media Processing Requirements». Tools.ietf.org. 12 de marzo de 2012. Consultado el 12 de septiembre de 2012. 
  13. https://www.mozilla.org/en-US/firefox/22.0/releasenotes/
  14. https://bugzilla.mozilla.org/show_bug.cgi?id=750010
  15. Huge Security Flaw Leaks VPN Users’ Real IP-addresses TorrentFreak.com (2015-01-30). Consultado el 2015-09-23.
  16. You can block WebRTC from leaking your IP now in uBlock Origin Ghacks.net (2015-07-02). Consultado el 2019-05-02

Enlaces externos