
Real Time Communication With WebRTC
Salvatore Loreto, Simon Pietro Romano
- Editorial
- O'Reilly
- Año
- 2014
- Páginas
- ~174
- Nivel
- Intermedio
De qué trata
Libro de O'Reilly (2014) en el que Salvatore Loreto y Simon Pietro Romano, investigadores con experiencia en la estandarización de comunicaciones en tiempo real, explican cómo añadir audio, vídeo e intercambio de datos peer-to-peer a aplicaciones de navegador sin plugins propietarios. Trabaja con las APIs de WebRTC 1.0 tal como estaban en Chrome y Firefox en esa época. Va dirigido a dos perfiles: programadores web que quieren entender la comunicación en tiempo real y arquitectos de telecomunicaciones que no conocen HTML5 ni el desarrollo cliente-servidor en JavaScript. El nivel es intermedio.
Tras una introducción a la arquitectura web y a la de WebRTC (el modelo del «trapecio», la señalización y las APIs MediaStream, PeerConnection y DataChannel), el libro sigue una receta de diez pasos. Primero enseña a capturar medios con getUserMedia() y a usar restricciones (constraints). Después usa RTCPeerConnection en local, con llamada, colgado y un DataChannel para enviar texto. Más adelante construye un canal de señalización mediado por un servidor y, por último, junta todo en un flujo de llamada completo: oferta y respuesta SDP, intercambio de candidatos ICE y paso a la conexión peer-to-peer. También enseña a depurar con la herramienta chrome://webrtc-internals.
El resultado práctico es un sistema WebRTC de navegador a navegador construido desde cero, con vídeo y chat por DataChannel. El último capítulo presenta funciones avanzadas: conferencias, identidad y autenticación, DTMF peer-to-peer y el modelo de estadísticas. Un apéndice sirve de referencia de las APIs RTCPeerConnection y RTCDataChannel. Su gran virtud es la claridad conceptual sobre el flujo de señalización. Como contrapartida, parte del código usa prefijos y APIs con callbacks ya obsoletos (hoy se usan promesas y addTrack), y apenas trata STUN/TURN en producción ni servidores de medios. Existe una segunda edición de 2017.
- WebRTC
- getUserMedia
- MediaStream
- RTCPeerConnection
- RTCDataChannel
- Señalización
- SDP
- ICE
- Conferencias
- Identidad y autenticación
- Estadísticas WebRTC
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Sistema WebRTC desde cero
Aplicación de navegador a navegador construida paso a paso. Captura audio y vídeo con getUserMedia, negocia la sesión con un canal de señalización mediado por un servidor (ofertas, respuestas y candidatos ICE) y establece una conexión RTCPeerConnection con un DataChannel para chatear.

