WebRTC: ¿y si hacemos un Skype?


Wilson Tovar
7mo semestre - Ing. De Sistemas
Full Stack Dev @ Fontumi
github, linkedin, instagram, correo
Índice
- Introducción
- WebRTC y su magia
- Empezando
- ¡Hola mundo!
- ¿Y ahora qué?
- Reto 😯
1. Introducción
"WebRTC is an open source project to enable realtime communication of audio, video and data in Web and native apps."
2. WebRTC y su magia
- Open Source
- Peer-Peer simplificado
- Bajo ancho de banda y latencia
- Transmisión segura de datos
- *Ampliamente soportado
Pero... ¿para qué sirve?
- Transmisión de audio y video
- Intercambio de archivos
- Interface con sistemas telefónicos usando señales DTMF
- Mensajes en tiempo real
- Edición de documentos en tiempo real
3. Ahora sí, ¡a usarlo!
Alto ahí... ¡Primero la teoría!

APIs
- MediaStream (commonly known as getUserMedia)
- RTCPeerConnection
¡Peer-to-peer, pero se necesitan servidores!
PD: ICE

Interactive Connectivity Establishment (ICE)
Framework que permite que los navegadores conecten los peers. ICE usa servidores STUN y/o TURN.
- STUN (Session Traversal Utilities for NAT). Descubrir la IP pública y descubrir restricciones.

- TURN (Traversal Using Relays around NAT). Se usa cuando no hay alternativas.

Session Description Protocol (SDP)
Describe el contenido multimedia como los formatos, codecs, etc. En otras palabras, es el metadata que describe el contenido.
Signaling
Intercambio de mensajes de control entre los peers.
- Podemos usar lo que queramos

Para usar el demo, agrega un id único al final de ?room= y dáselo a otra persona para hacer una vídeo llamada
5. ¿Y ahora qué?
- WebRTC Página oficial
- Real time communication with WebRTC
- Recursos en línea
Reto 😯
- Sala multiusuarios
- Envío de archivos
¡Gracias! 💖