webrtc - comunicação na web em tempo real

63
WebRTC Comunicação na web em tempo real RICARDO TORRES

Upload: ricardo-torres

Post on 31-May-2015

169 views

Category:

Technology


8 download

DESCRIPTION

Imagine um mundo onde o seu telefone, televisão e computador pudessem se comunicar usando uma única plataforma. Imagine que seja muito fácil adicionar video-chat e compartilhamento peer-to-peer à sua aplicação web, com custos baixíssimos e sem precisar de plugins. Essa é a visão do WebRTC (Real-Time Communications).

TRANSCRIPT

Page 1: WebRTC - Comunicação na web em tempo real

WebRTC Comunicação na web em tempo real

RICARDO TORRES

Page 2: WebRTC - Comunicação na web em tempo real
Page 3: WebRTC - Comunicação na web em tempo real
Page 4: WebRTC - Comunicação na web em tempo real

AMSTERDAM

Page 5: WebRTC - Comunicação na web em tempo real
Page 6: WebRTC - Comunicação na web em tempo real

O que é WebRTC?

Page 7: WebRTC - Comunicação na web em tempo real

Tempo real

Peer-to-peer (P2P) - Audio, video, dados

Sem plugins

JavaScript API

Page 8: WebRTC - Comunicação na web em tempo real
Page 9: WebRTC - Comunicação na web em tempo real

Certo, mas e aí?

Page 10: WebRTC - Comunicação na web em tempo real

RTC não é nada novo

Page 11: WebRTC - Comunicação na web em tempo real
Page 12: WebRTC - Comunicação na web em tempo real

Marcus Camila

Server

Page 13: WebRTC - Comunicação na web em tempo real

Marcus Camila

Page 14: WebRTC - Comunicação na web em tempo real
Page 15: WebRTC - Comunicação na web em tempo real
Page 16: WebRTC - Comunicação na web em tempo real
Page 17: WebRTC - Comunicação na web em tempo real
Page 18: WebRTC - Comunicação na web em tempo real

1.500.000.000+ WebRTC Endpoints

300.000.000+ Mobile

Page 19: WebRTC - Comunicação na web em tempo real

WebRTC APIs

Page 20: WebRTC - Comunicação na web em tempo real

WebRTC APIs

Media Stream API Peer Connection API Data Connection API

Page 21: WebRTC - Comunicação na web em tempo real

Media Stream API

Obtém tracks (faixas) de audio e video Captura em tracks separadas Combina as tracks para formar uma

stream navigator.getUserMedia()

Page 22: WebRTC - Comunicação na web em tempo real

getUserMedia

Page 23: WebRTC - Comunicação na web em tempo real
Page 24: WebRTC - Comunicação na web em tempo real
Page 25: WebRTC - Comunicação na web em tempo real

Screen sharing

Page 26: WebRTC - Comunicação na web em tempo real

Peer Connection API

Page 27: WebRTC - Comunicação na web em tempo real

getUserMedia + RTCPeerConnection

Page 28: WebRTC - Comunicação na web em tempo real
Page 29: WebRTC - Comunicação na web em tempo real

Data Connection API

Page 30: WebRTC - Comunicação na web em tempo real

Data Connection API

Websockets API Baixa latência Segura Confiável ou não confiável

Page 31: WebRTC - Comunicação na web em tempo real
Page 32: WebRTC - Comunicação na web em tempo real
Page 33: WebRTC - Comunicação na web em tempo real
Page 34: WebRTC - Comunicação na web em tempo real
Page 35: WebRTC - Comunicação na web em tempo real

Signaling

Page 36: WebRTC - Comunicação na web em tempo real

Por quê?

Page 37: WebRTC - Comunicação na web em tempo real

Informações sobre a sessão - Quais formatos são suportados - O que eu quero enviar - Informações da rede

Qualquer mecanismo de mensagens Qualquer protocolo de mensagens

Signaling

Page 38: WebRTC - Comunicação na web em tempo real

Signaling

Page 39: WebRTC - Comunicação na web em tempo real
Page 40: WebRTC - Comunicação na web em tempo real
Page 41: WebRTC - Comunicação na web em tempo real

Marcus Camila

Page 42: WebRTC - Comunicação na web em tempo real

http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/

Page 43: WebRTC - Comunicação na web em tempo real

http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/

Page 44: WebRTC - Comunicação na web em tempo real

Como eu acho um peer?

Page 45: WebRTC - Comunicação na web em tempo real

Servers

Page 46: WebRTC - Comunicação na web em tempo real

Qual o meu IP público?

Simples e barato

Comunicação P2P

STUN

Page 47: WebRTC - Comunicação na web em tempo real

Cloud fallback

Dados são enviados através do servidor

Custo alto Garante o funcionamento

TURN

Page 48: WebRTC - Comunicação na web em tempo real

Framework

Tenta achar a melhor rota

ICE

Page 49: WebRTC - Comunicação na web em tempo real

Segurança

Page 50: WebRTC - Comunicação na web em tempo real
Page 51: WebRTC - Comunicação na web em tempo real

Arquitetura

Page 52: WebRTC - Comunicação na web em tempo real

Marcus Camila

Page 53: WebRTC - Comunicação na web em tempo real
Page 54: WebRTC - Comunicação na web em tempo real
Page 55: WebRTC - Comunicação na web em tempo real

Por onde começar?

Page 56: WebRTC - Comunicação na web em tempo real

adapter.js (http://goo.gl/vJ1bbA)

SimpleWebRTC (https://github.com/henrikjoreteg/SimpleWebRTC)

easyRTC (https://github.com/priologic/easyrtc)

PeerJS (http://peerjs.com)

Sharefest (https://github.com/peer5/sharefest) TogetherJS (https://togetherjs.com)

Frameworks

Page 57: WebRTC - Comunicação na web em tempo real

Capturing audio and video in HTML5 (http://goo.gl/4u7bQm)

Getting Started With WebRTC (http://goo.gl/r5NA66)

simpl.info (http://simpl.info/webrtc/)

WebRTC Experiment (http://goo.gl/ASqpwQ)

Referências

Page 58: WebRTC - Comunicação na web em tempo real

Possibilidades…

Page 59: WebRTC - Comunicação na web em tempo real
Page 60: WebRTC - Comunicação na web em tempo real
Page 61: WebRTC - Comunicação na web em tempo real

http://blog.vline.com/post/61581986806/live-tv-interview-powered-by-vline-customer-in-quality

Page 62: WebRTC - Comunicação na web em tempo real

WebRTC precisa de mais coders!

Page 63: WebRTC - Comunicação na web em tempo real

rictorres.com.br

github.com/rictorres

DANK JE WEL ;) (OBRIGADO)