SlideShare uma empresa Scribd logo
1 de 28
WebRTC: Muito Mais do que
“Talking Heads”
Rui Ribeiro
Lisboa
Fundamentalmente Programador
Licenciado, Mestrado, Doutramento…
Sysadmin, Web Developer, Gestor de
Projeto, Docente…
Algo que digo muitas vezes:
“Vida dura e dificil!“ (sarcasmo)
Hobbies:
3D Printing, Drones, RV Camping, Virtual Rocketry
Acerca de mim!
WebRTC o que é?
Detalhes Técnicos
Bibliotecas
Exemplos
Provas de Conceito
Agenda
http://core0.staticworld.net/images/article/2013/08/connect-mobile-video-100050392-gallery.jpg
WebRTC (Web Real Time
Communication) é uma API
concebida no seio do W3C que
permite a criação de aplicações que
permitem a transmissão de streams
de audio, video e dados browser-a-
browser sem o recurso a plugins.
O que é o WebRTC
Arquitetura
https://webrtc.org/assets/images/webrtc-public-diagram-for-website.png
Inclui canais: áudio, vídeo, dados
Peer2Peer
Mecanismos “NAT Transversal”
Encriptação Forte
Biblioteca bem definida, exposta via Javascript
Dispositivos locais de captura e apresentação
Solicitação de “Media Streams”
A “sinalização” entre peers não faz parte da norma!
Características
https://www.astrill.com/images/features_banner.png
Enabler de Inovação
VoIP
Videoconferência
Video-difusão
Partilha de Ecrã
Chat
Partilha de
Documentos
Gravação
Browser Desktop Mobile
http://www.swisstool.co.uk/st/images/P/handyman-red-swiss-army-knife-02.jpg
Aplicações
http://www.greenplanetfireandsecurity.co.uk/images/page-tops/cctv.jpg
https://telepresencerobots.com/sites/default/files/the-double-robot.jpg
http://origin.arstechnica.com/journals/microsoft.media/microsoft_roundtable.jpg
https://dri1.img.digitalrivercontent.net/Storefront/Company/msintl/images/English/en-INTL-Oculus-
Rift-VR-Headset-29G-01331/en-INTL-L-Oculus-Rift-VR-Headset-29G-01331-mnco.png
https://s-media-cache-ak0.pinimg.com/736x/65/fb/8e/65fb8efa51ce326838a03a32af532217.jpg
https://images-na.ssl-images-amazon.com/images/I/81IdMHg-BML._SL1500_.jpg
“The Browser Wars”, novamente!http://iswebrtcreadyyet.com/
http://media02.hongkiat.com/battle-of-browsers-artworks/browser-wars.jpg
Codec de Video
https://bloggeek.me/wp-content/uploads/2013/12/201312-Video-Codec-Trends.jpg
Codec de Áudio
Opus is a totally open, royalty-free,
highly versatile audio codec.
Opus is unmatched for interactive
speech and music transmission over
the Internet, but is also intended for
storage and streaming applications.
It is standardized by the Internet
Engineering Task Force (IETF)
as RFC 6716 which incorporated
technology from Skype’s SILK codec
and Xiph.Org’s CELT codec.
http://opus-codec.org/
http://opus-codec.org/static/comparison/quality.png
Peer 2 Peer, mediado!
Peer 2 Peer, NAT Transversal
https://www.script-tutorials.com/demos/512/webrtc2.png
Protocolos de Rede
http://webrtc-security.github.io/images/diagram_2_en.png
SFU, MCU, P2P MESS!
https://pbs.twimg.com/media/COpyBEJWwAAOlJa.png
Escalar para grandes audiências
Streaming de Video
Partilha de Volumes
http://w3c.github.io/webrtc-pc/
https://simplewebrtc.com
http://peerjs.com
https://janus.conf.meetecho.com/
http://webrtc2sip.org
https://jitsi.org
http://www.apidaze.io
https://callstats.io
https://www.kurento.org/
Bibliotecas & Ferramentas
Simple WebRTC
http://bit.ly/2nmpck6
JANUS
https://janus.conf.meetecho.com/demos.html
Jitsi
https://rendez-vous.renater.fr/
WebRTC Demo
https://www.webrtc-experiment.com/
MashMe.TV
https://www.mashme.tv/
Exemplos
WebTUT
WebRTC Speedmeter
Multi-stream Video-on-demand
Videoconferncia Multi-ponto Multi-ecrã
Provas de Conceito
Caso de Uso
Tutoria via Web
Funcionalidades:
Widget para integração
em LMS
Multi-lingue
Autenticação Federada
GEANT CoTURN Service
Callstats.io
Video & Chat
WebTUT
Caso de Uso:
Medição de Largura de Banda
Funcionalidades
WebSockets & Datachannel
Métricas processamento de
Video
Atraso, perdas de qualidade, …
GEANT CoTURN Service
WEBRTC Speedmeter
Caso de Uso
Transmissão, gravação e apresentação de eventos
Funcionalidades:
Gestão Self-service
Multi-stream in-sync ao vivo, gravações e visionamento
GEANT CoTURN Service
Gravação no Servidor
Esforço
2 x 3 meses x 3 dias / semana ~ finalistas licenciatura
Multi-stream Video-on-demand
Caso de Uso
Videoconferência multi-ecrã em
ambiente de sala
Funcionalidades:
Multi-ecrã por sala
Multi-ponto entre salas
Gravação no servidor
Gestão da sala via tablet
GEANT CoTURN Service
Esforço
2 x 3 meses x 3 dias / semana ~ finalistas licenciatura
Videoconferncia Multi-ponto Multi-ecrã
Exemplo: SimpleWebRTC.com
http://bit.ly/2nmpck6
WebRTC é um “stack” aplicacional
É um enabler para developers integrarem
funcionalidades de vídeo nas suas aplicações
A sinalização não está definida (bom e mau)
Fácil de integrar em aplicações WEB
Muito mais do que “Talking Heads”
Conclusão
Questões?
e.Sponsors.ApplyThanks ( )
Rui Ribeiro
racribeiro@gmail.com
Thank you, pá!
https://pics.me.me/this-desktop-video-conference-thing-is-great-even-though-youre-17269593.png

Mais conteúdo relacionado

Semelhante a WebRTC, muito mais do que "Talking Heads"

Dokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TIDokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TImarioaxavier7
 
Desenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework DemoiselleDesenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework DemoiselleSerge Rehem
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTImarcochella
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
 
Workshop Ferramentas Web para Serviços educativos
Workshop Ferramentas Web para Serviços educativosWorkshop Ferramentas Web para Serviços educativos
Workshop Ferramentas Web para Serviços educativosSerpentina
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
DevDays2009 - Construir Soluções de Internet Video
DevDays2009 - Construir Soluções de Internet VideoDevDays2009 - Construir Soluções de Internet Video
DevDays2009 - Construir Soluções de Internet VideoJoao Canais
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livrePedro Neto
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Workshop museus – trabalho colaborativo e_tecnologias_sociais
Workshop museus – trabalho colaborativo e_tecnologias_sociaisWorkshop museus – trabalho colaborativo e_tecnologias_sociais
Workshop museus – trabalho colaborativo e_tecnologias_sociaisSerpentina
 
Workshop Museus– trabalho colaborativo e tecnologias sociais
Workshop Museus– trabalho colaborativo e tecnologias sociaisWorkshop Museus– trabalho colaborativo e tecnologias sociais
Workshop Museus– trabalho colaborativo e tecnologias sociaisSerpentina
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 

Semelhante a WebRTC, muito mais do que "Talking Heads" (20)

Dokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TIDokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TI
 
Internet e Web NÃO SÃO as mesmas coisas
Internet e Web NÃO SÃO as mesmas coisasInternet e Web NÃO SÃO as mesmas coisas
Internet e Web NÃO SÃO as mesmas coisas
 
Socket.io
Socket.ioSocket.io
Socket.io
 
Desenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework DemoiselleDesenvolvimento Web/Java com Framework Demoiselle
Desenvolvimento Web/Java com Framework Demoiselle
 
Browser Mobile - Firefox
Browser Mobile - FirefoxBrowser Mobile - Firefox
Browser Mobile - Firefox
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTI
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
Workshop Ferramentas Web para Serviços educativos
Workshop Ferramentas Web para Serviços educativosWorkshop Ferramentas Web para Serviços educativos
Workshop Ferramentas Web para Serviços educativos
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
DevDays2009 - Construir Soluções de Internet Video
DevDays2009 - Construir Soluções de Internet VideoDevDays2009 - Construir Soluções de Internet Video
DevDays2009 - Construir Soluções de Internet Video
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livre
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Workshop museus – trabalho colaborativo e_tecnologias_sociais
Workshop museus – trabalho colaborativo e_tecnologias_sociaisWorkshop museus – trabalho colaborativo e_tecnologias_sociais
Workshop museus – trabalho colaborativo e_tecnologias_sociais
 
Workshop Museus– trabalho colaborativo e tecnologias sociais
Workshop Museus– trabalho colaborativo e tecnologias sociaisWorkshop Museus– trabalho colaborativo e tecnologias sociais
Workshop Museus– trabalho colaborativo e tecnologias sociais
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 

WebRTC, muito mais do que "Talking Heads"

Notas do Editor

  1. http://core0.staticworld.net/images/article/2013/08/connect-mobile-video-100050392-gallery.jpg
  2. https://webrtc.org/assets/images/webrtc-public-diagram-for-website.png
  3. https://www.astrill.com/images/features_banner.png
  4. http://www.swisstool.co.uk/st/images/P/handyman-red-swiss-army-knife-02.jpg
  5. http://www.greenplanetfireandsecurity.co.uk/images/page-tops/cctv.jpg https://telepresencerobots.com/sites/default/files/the-double-robot.jpg http://origin.arstechnica.com/journals/microsoft.media/microsoft_roundtable.jpg https://dri1.img.digitalrivercontent.net/Storefront/Company/msintl/images/English/en-INTL-Oculus-Rift-VR-Headset-29G-01331/en-INTL-L-Oculus-Rift-VR-Headset-29G-01331-mnco.png https://s-media-cache-ak0.pinimg.com/736x/65/fb/8e/65fb8efa51ce326838a03a32af532217.jpg https://images-na.ssl-images-amazon.com/images/I/81IdMHg-BML._SL1500_.jpg
  6. http://media02.hongkiat.com/battle-of-browsers-artworks/browser-wars.jpg
  7. https://bloggeek.me/wp-content/uploads/2013/12/201312-Video-Codec-Trends.jpg
  8. http://opus-codec.org/static/comparison/quality.png
  9. https://www.script-tutorials.com/demos/512/webrtc2.png
  10. http://webrtc-security.github.io/images/diagram_2_en.png
  11. https://pbs.twimg.com/media/COpyBEJWwAAOlJa.png
  12. https://s-media-cache-ak0.pinimg.com/736x/b3/2c/5f/b32c5fb046fd31be25d77467828c6d4c.jpg
  13. https://pics.me.me/this-desktop-video-conference-thing-is-great-even-though-youre-17269593.png