nickname guiseek
github // github.com/guiseek
profile // guiseek.dev
twitter // twitter.com/guiseek
Media Stream
addTrack
onaddtrack
Oferecer aplicativos RTC ricos e de alta qualidade, como teleconferência de áudio e vídeo e troca de dados ponto a ponto, requer muitas novas funcionalidades no navegador
WebRTC é projetado para que funcione com tecnologias já existentes, como VoIP, clientes SIP,
incluindo PSTN ou rede de telefonia pública...
Ainda que já habilitado e funcionando,
as APIs do navegador e dos níveis de
transporte e protocolo encontram-se
em desenvolvimento e podem mudar
no futuro
const onIceCandidate = (peer) => ({ candidate }) => {
console.log(JSON.stringify(peer.localDescription))
}
const onOffer = (peer) => (o) => {
peer.setLocalDescription(o)
}
const peer = new RTCPeerConnection()
peer.onicecandidate = onIceCandidate(peer)
const channel = peer.createDataChannel('channel')
channel.onopen = console.log
channel.onmessage = console.log
peer.createOffer().then(onOffer(peer))
const onIceCandidate = (peer) => ({ candidate }) => {
console.log(JSON.stringify(peer.localDescription))
}
const onAnswer = (peer) => (o) => {
peer.setLocalDescription(o)
}
const onDataChannel = (peer) => ({ channel }) => {
const peerChannel = channel
peerChannel.onmessage = console.log
peerChannel.onopen = console.log
peer.channel = peerChannel
}
const peer = new RTCPeerConnection()
peer.onicecandidate = onIceCandidate(peer)
peer.ondatachannel = onDataChannel(peer)
peer.setRemoteDescription(/* session */)
peer.createAnswer().then(onAnswer(peer))
peer.setRemoteDescription(/* session */)
HTTP
WebSock
SRTP
SDP
STUN
ICE
TURN
TLS
TCP
DTLS
UDP
SCTP
DTLS
UDP
IP
WebRTC não está trazendo a comunicação em tempo real para o navegador... não apenas.
WebRTC está levando os recursos da Web para o mundo das telecomunicações. Uma industria que trabalha com valores na casa de trilhões anualmente, com ótimas novas oportunidades.