SlideShare una empresa de Scribd logo
Web 3.0:
WebRTC
David Muñoz Padín
@dperilla
¿Quién soy?
•

David Muñoz - CEO Quaip - @dperilla

•

VoipEngineer con Asterisk / Kamailio desde 2003

•

SysAdmin Linux desde 1999

•

Formador online de Asterisk, Virtualización y Linux
desde 2007

•

Coworker en @Cosfera desde Mayo de 2013
· Desarrollo e infraestructuras avanzadas de Voip
!

· Sistemas avanzados de E-learning
!

· Servidores de streaming de radio y TV

· Web Hosting Avanzado, VPS y Servidores Dedicados!


· Housing
!

· Clientes en USA, UK, Venezuela y España
WebRTC
Fase actual: Pruebas de vuelo
Ready to fly in 2014
Pero.. ¿Qué es WebRTC?
Pero.. ¿Qué es WebRTC?
!

•

Comunicación directa entre navegadores web

•

Comunicaciones en tiempo real

•

Sencillas APIS Javascript!

•

Especificación de HTML5!

•

Proyecto Libre y Abierto, liberado por Google.!

•

Skype en la web
Navegadores soportados
•

Escritorio!
•
•

Mozilla Firefox 22

•
•

Google Chrome 23

Opera 12

Android!
•

Google Chrome 28

•

Mozilla Firefox 24

•

Opera Mobile 12

•

Google Chrome OS!

•

Firefox OS!

•

Próximamente Aplicaciones nativas
Evolución de WebRTC
PCs

Smartphones

Tablets

Millones de dispositivos
4000

3000

2000

1000

0
2012

2013

2014

Fuente: Disruptive Analysis WebRTC Strategy Report. Feb 2013

2015
El camino hacia WebRTC

Fuente: jimmylee.info
Algunos Datos
•

API desarrollada por:
•

W3C (APIS para aplicaciones web)

•

IETF (Protocolos y formatos)

•

Plugin Free. #noflashplayer #nosilverlight !

•

Soportado por Google, Mozilla y Opera

•

Protocolo en estado de arte
WebRTC APIs principales
•

MediaStream (getUserMedia) !
•

Permite a un navegador web acceder a la cámara y el
micrófono!
!

•

RTCPeerConnection!
•

Establece la comunicación de audio / vídeo!
!

•

RTCDataChannel!
•

Permite a los navegadores compartir datos a través de P2P
getUserMedia
!
!

var constraints = {video: true};

!

function successCallback(localMediaStream) {
var video = document.querySelector("video");
video.src = window.URL.createObjectURL(localMediaStream);
}

!

function errorCallback(error){
console.log("navigator.getUserMedia error: ", error);
}

!

navigator.getUserMedia(constraints, successCallback, errorCallback);

!
https://simpl.info/getusermedia/
http://idevelop.ro/ascii-camera/
http://shinydemos.com/facekat/
www.webcamtoy.com
Compartir Escritorio
RTCPeerConnection
pc = new RTCPeerConnection(null);
pc.onaddstream = gotRemoteStream;
pc.addStream(localStream);
pc.createOffer(gotOffer);
!
function gotOffer(desc) {
pc.setLocalDescription(desc);
sendOffer(desc);
}
!
function gotAnswer(desc) {
pc.setRemoteDescription(desc);
}
!
function gotRemoteStream(e) {
attachMediaStream(remoteVideo, e.stream);
}
simpl.info/pc
RTCDataChannel
var pc = new webkitRTCPeerConnection(servers,
{optional: [{RtpDataChannels: true}]});

!

pc.ondatachannel = function(event) {
receiveChannel = event.channel;
receiveChannel.onmessage = function(event){
document.querySelector("div#receive").innerHTML = event.data;
};
};

!

sendChannel = pc.createDataChannel("sendDataChannel", {reliable: false});

!

document.querySelector("button#send").onclick = function (){
var data = document.querySelector("textarea#send").value;
sendChannel.send(data);
};
simpl.info/dc
sharefest.me
Arquitectura WebRTC

Fuente: ramonmillan.com
WebRTC vs Voip
Característica

Voip

WebRTC

Señalización

SIP y H.323
(principalmente)

Sin definir

Medios

RTP/RTCP

RTP/RTCP

Codecs de voz

G.711 y Opus

Codecs de vídeo

Serie G.7xxx
(principalmente)
H.263, H.264

Seguridad de los medios

SRTP/TLS/IPsec

SRTP

Fuente: ramonmillan.com

VP8
SIP over WebRTC
•

Draft IETF: websockets draft-ietf-sipcore-sip-websockets.
(Iñaki Baz, J.L. Millán, …)
!

•

Señalización SIP enviada vía websockets
!

•

Ejemplos de Uso: JSSIP, SIPML5
sipml5.org
Codecs soportados
(A fecha de hoy)
•

Audio!
•
•

G.711

•

iLBC

•
•

Opus

iSAC

Video!
•

VP8

•

¿H.264?
Codecs War
(Octubre 2013)

Patrocinadores de
VP8

Patrocinadores de
H.264

Google

Ericsson
Nokia
BlackBerry
Qualcomm
Orange
Cisco
Microsoft
Apple
Fuente: webrtchacks.com
Opus: el codec definitivo

Fuente: opus-codec.org
Opus Codec
•

Codec abierto y libre

•

Desarrollado por IETF

•

Bit-rates desde 6 kb/s a 510 kb/s

•

Frecuencias de muestreo desde 8 kHz (narrowband) a
48 kHz (fullband)

•

Soporta bit-rate constante (CBR) y bit-rate variable (VBR)

•

Basado en ILK de Skype y CELT de xiph.org
VP8
•

Codec Abierto liberado por Google

•

Parte de WebM: junto con el codec de audio Vorbis y
dentro de un contenedor Matroska.

•

High Quality

•

Optimizado para Real Time

•

Usado por Google Hangouts HD!

•

Soportado en Firefox, Chrome y Opera.
Sin NAT
Con NAT
Soluciones al NAT
•

STUN

•

TURN

•

ICE
STUN
•

permite a clientes NAT encontrar su dirección IP
pública!

•

Económico

•

Datos van por directamente P2P
TURN
•

permite solucionar problemas de NAT donde STUN
no puede!

•

Caro

•

Los datos pasan por el servidor y usa su ancho
de banda
ICE
•

Un framework para buscar la mejor solución

•

Si puede usará STUN, si no puede TURN

•

La mayoría de las llamadas irán por STUN
Desplegando STUN/TURN
•

stun.l.google.com:19302

•

WebRTC stunserver, turnserver

•

rfc5766-turn-server

•

restund
Seguridad en WEBRTC
P2P: Uno a Uno
Malla
Estrella
Media Server
¿Podemos ver algunos ejemplos?
talky.io/quaip
twelephone.com
Gracias
a la
organización de
GDG DevFest Sur
¿Preguntas?

Más contenido relacionado

PPTX
PPTX
Presentación WebRTC y Lynckia
PDF
Webinar WebRTC y HTML5 (spanish) - Quobis
ODP
Si sólo ves un webphone no entiendes WebRTC
PPT
El Web 2.0 MóVil Caminando Hacia El Teleco 2.0 Sin Caratula
PDF
Sistema de videoconferencia basado en WebRTC con acceso a la PSTN
PDF
Experiencia de uso de WebRTC en la educación
PDF
WebRTC en tu web con OpenVidu
Presentación WebRTC y Lynckia
Webinar WebRTC y HTML5 (spanish) - Quobis
Si sólo ves un webphone no entiendes WebRTC
El Web 2.0 MóVil Caminando Hacia El Teleco 2.0 Sin Caratula
Sistema de videoconferencia basado en WebRTC con acceso a la PSTN
Experiencia de uso de WebRTC en la educación
WebRTC en tu web con OpenVidu

La actualidad más candente (7)

PDF
JsSIP: SIP + WebRTC
ODP
World Wide SIP
PPT
SIPML5toElastix
PDF
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
PDF
WebRTC de los libros al Call Center Fabián Pignataro, Elastix Argentina.
PPTX
SignalR y dispositivos móviles
PPTX
Presentacion De Uxity - 05/2009
JsSIP: SIP + WebRTC
World Wide SIP
SIPML5toElastix
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
WebRTC de los libros al Call Center Fabián Pignataro, Elastix Argentina.
SignalR y dispositivos móviles
Presentacion De Uxity - 05/2009
Publicidad

Similar a Webrtc sur.gdgdevfest.com - @dperilla (20)

ODP
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
ODP
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
PPT
WebRTC Synopsis
PDF
V2 d2013 jose l millan e iñaki baz - webrtc
ODP
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
PDF
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
PDF
OpenVidu Commitconf 2018
PDF
Iñaki Baz - VoIP2DAY 2017 | WebRTC: Más allá de conferencias
PDF
Más allá de conferencias | IÑAKI BAZ - VoIP2DAY 2017
PPT
WebRCT "VoIP también desde el navegador"
PPT
Webrtc"VoIP también desde el navegador"
PDF
De SIP a WebRTC y vice versa
PPT
Sipml5 to Elastix
PDF
Software libre para videoconferencias
PDF
voip2day 2012 - Js sip sip + webrtc (el futuro ya esta aqui) by iniaki baz y ...
PDF
JsSIP: SIP + WebRTC (el futuro está aquí)
PPT
WebRCT - Comunicaciones en tiempo real desde el navegador...
ODP
[VoIP2Day 2012] World Wide SIP
PDF
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
PDF
Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)
[VoIP2Day 2013] Si sólo ves un webphone no entiendes WebRTC
[ElastixWorld 2013 Mexico] Si sólo ves un webphone no entiendes WebRTC
WebRTC Synopsis
V2 d2013 jose l millan e iñaki baz - webrtc
[4K Conf 2012] SIP y WebRTC para Seres Humanos (tm)
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
OpenVidu Commitconf 2018
Iñaki Baz - VoIP2DAY 2017 | WebRTC: Más allá de conferencias
Más allá de conferencias | IÑAKI BAZ - VoIP2DAY 2017
WebRCT "VoIP también desde el navegador"
Webrtc"VoIP también desde el navegador"
De SIP a WebRTC y vice versa
Sipml5 to Elastix
Software libre para videoconferencias
voip2day 2012 - Js sip sip + webrtc (el futuro ya esta aqui) by iniaki baz y ...
JsSIP: SIP + WebRTC (el futuro está aquí)
WebRCT - Comunicaciones en tiempo real desde el navegador...
[VoIP2Day 2012] World Wide SIP
WebRTC - Una nueva tecnología web al servicio de la educación. Caso en Virtua...
Tecnologías Web al servicio del desarrollo Móvil (WebSockets, WebRTC)
Publicidad

Último (20)

PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
Diapositiva proyecto de vida, materia catedra
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Maste clas de estructura metálica y arquitectura
PDF
SAP Transportation Management para LSP, TM140 Col18
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Diapositiva proyecto de vida, materia catedra
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Estrategia de apoyo tecnología grado 9-3
Propuesta BKP servidores con Acronis1.pptx
Calidad desde el Docente y la mejora continua .pdf
REDES INFORMATICAS REDES INFORMATICAS.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Plantilla para Diseño de Narrativas Transmedia.pdf
Power Point Nicolás Carrasco (disertación Roblox).pptx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Maste clas de estructura metálica y arquitectura
SAP Transportation Management para LSP, TM140 Col18
Zarate Quispe Alex aldayir aplicaciones de internet .docx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Presentación PASANTIAS AuditorioOO..pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn

Webrtc sur.gdgdevfest.com - @dperilla