Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebRTC - Comunicação na web em tempo real

WebRTC - Comunicação na web em tempo real

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).

Ricardo Torres

September 25, 2014
Tweet

More Decks by Ricardo Torres

Other Decks in Programming

Transcript

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

  2. None
  3. None
  4. AMSTERDAM

  5. None
  6. O que é WebRTC?

  7.  Tempo real  Peer-to-peer (P2P) - Audio, video, dados

     Sem plugins  JavaScript API
  8. None
  9. Certo, mas e aí?

  10. RTC não é nada novo

  11. None
  12. Marcus Camila Server

  13. Marcus Camila

  14. None
  15. None
  16. None
  17. None
  18. 1.500.000.000+ WebRTC Endpoints 300.000.000+ Mobile

  19. WebRTC APIs

  20. WebRTC APIs  Media Stream API  Peer Connection API

     Data Connection API
  21. Media Stream API  Obtém tracks (faixas) de audio e

    video  Captura em tracks separadas  Combina as tracks para formar uma stream  navigator.getUserMedia()
  22. getUserMedia

  23. None
  24. None
  25. Screen sharing

  26. Peer Connection API

  27. getUserMedia + RTCPeerConnection

  28. None
  29. Data Connection API

  30. Data Connection API  Websockets API  Baixa latência 

    Segura  Confiável ou não confiável
  31. None
  32. None
  33. None
  34. None
  35. Signaling

  36. Por quê?

  37.  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
  38. Signaling

  39. None
  40. None
  41. Marcus Camila

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

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

  44. Como eu acho um peer?

  45. Servers

  46.  Qual o meu IP público?  Simples e barato

     Comunicação P2P STUN
  47.  Cloud fallback  Dados são enviados através do servidor

     Custo alto  Garante o funcionamento TURN
  48.  Framework  Tenta achar a melhor rota ICE

  49. Segurança

  50. None
  51. Arquitetura

  52. Marcus Camila

  53. None
  54. None
  55. Por onde começar?

  56.  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
  57.  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
  58. Possibilidades…

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

  62. WebRTC precisa de mais coders!

  63. rictorres.com.br github.com/rictorres DANK JE WEL ;) (OBRIGADO)