Comunicaciones peer-to-peer (P2P) con WebRTC

Esta es una tecnología experimental
Comprueba la Tabla de compabilidad de navegadores cuidadosamente antes de usarla en producción.

Las WebRTC APIs están diseñadas para permitir a las aplicaciones JS la creación de conexiones de tiempo real con canales de Audio, Video, y/o Datos (Data), directamente entre usuarios y a través de sus browsers, o hacia servers que soporten los protocolos WebRTC. También potencia navigator.mozGetUserMedia() para acceder a los datos de cámara y micrófono (getUserMedia() está siendo estandarizado por la Media Capture Task Force, así como las Recording APIs).

Las fuentes primarias de las especificaciones para WebRTC (en constante evolución), son las especificaciones WebRTC y getUserMedia, y varios de los borradores del IETF, en mayor medida en el rtcweb working group, pero también mmusic, rmcat y algunos otros.

Gran parte de la implementación en Chrome y Firefox está basada en código que fue abierto por Google en webrtc.org.

NOTA:  Las versiones actuales de FlashBlock pueden bloquear elementos HTML5 <video>. Si es así, dile que permita el contenido en la página, o deshabilita esa opción vía Herramientas/Add-ons.

Hay un buen tutorial en las características básicas de WebRTC en HTML5 Rocks. Una colección de páginas de pruebas básicas para soportar el desarrollo existe en webrtc-landing.

Puedes hacer simples llamadas persona-a-persona (inclusive si usan Chrome) en apprtc.appspot.com.

Una descripción de alto nivel de lo que sucede en una conexión RTCPeerConnection se publicó en un artículo de Mozilla Hacks (puedes ver todos los artículos sobre WebRTC aquí).

Basics of RTCPeerConnection call setup

Especificaciones

Especificación Estado Comentarios
WebRTC API En definición  
getUserMedia API En definición http://dev.w3.org/2011/webrtc/editor/getusermedia.html

Compatibilidad de browsers

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Características Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Soporte básico webkit Firefox 22 Sin soporte Sin soporte Sin soporte
DataChannels A partir de Chrome 29 Firefox 22 Sin soporte Sin soporte Sin soporte
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Soporte preliminar Via Chrome (detrás de un flag de configuración) Activado en Nightly y Aurora Sin soporte Sin soporte Sin soporte
DataChannels ? Activado en Nightly y Aurora Sin soporte Sin soporte Sin soporte

 

Etiquetas y colaboradores del documento

Colaboradores en esta página: pablocubico, maedca
Última actualización por: pablocubico,