WebRTC
Web Real-Time Communication
Guilherme Siquinelli
@guiseek
//guiseek.dev
//github.com/guiseek
//twitter.com/guiseek
Comunidade
//www.devparana.org
//webrtc.community

- O quê?
- Com o quê?
- Porquê?
- Como?
- Comunidade
-
MediaStream
-
RTCPeerConnection
-
RTCDataChannel
MediaStream
RTCPeerConnection
RTCDataChannel
Signaling
-
A quer se comunicação com B
-
A encontra caminhos públicos para se conectar a B
-
B encontra caminhos públicos para se conectar a A
-
A e B coletam infos necessárias para se comunicarem
(criptografia, codecs de vídeo / áudio, endereços IP e etc)
-
A e B sinalizam informações coletadas para a sessão
(WebSockets, HTTP fetch, Tweet, WhatsApp, QRCode e etc
- A se conecta a B com o menor caminho encontrado
Como as pessoas
podem me alcançar?




Como as pessoas podem me alcançar?

{
type: 'offer',
sdp: `
v=0\r\n
o=- 2959600943800719165 2 IN IP4 127.0.0.1\r\n
s=-\r\n
t=0 0\r\n
a=group:BUNDLE 0\r\n
a=msid-semantic: WMS\r\n
m=application 60051 UDP/DTLS/SCTP webrtc-datachannel\r\n
c=IN IP4 10.0.0.103\r\n
a=candidate:3384705433 1 udp 2122260223 10.0.0.103 60051 typ host generation 0 network-id 1 network-cost 10\r\n
a=candidate:2268953961 1 tcp 1518280447 10.0.0.103 9 typ host tcptype active generation 0 network-id 1 network-cost 10\r\n
a=ice-ufrag:S0zV\r\n
a=ice-pwd:QoOU+EYqQexy81j1CM6eLpnp\r\n
a=ice-options:trickle\r\n
a=fingerprint:sha-256 B6:1B:75:66:CC:1B:E1:41:3B:F6:FD:A2:E4:6F:4C:2C:65:90:46:FF:7B:0C:09:01:E4:C0:BF:69:09:25:9E:5A\r\n
a=setup:actpass\r\n
a=mid:0\r\n
a=sctp-port:5000\r\n
a=max-message-size:262144\r\n
`,
}


WebRTC
By Gui Seek
WebRTC
Web Real-Time Communication
- 54