SlideShare una empresa de Scribd logo
1 de 27
WebRTC Introduction
Derek Chiu
2016/9/1
Self-introduction
• 中文: 邱繼平
• English: Derek Chiu
• Previous Job: Benq/Qisda HW engineer
• SW experience: 1.5 years RoR/Front-end engineer
• Skill: RoR, Javascript, CSS, Objective C(a little),
Excel VBA
• Email: crsgypin@gmail
• FB: 邱繼平
Current Job
• VR
• Full-stack engineer, rather backend.
https://www.eyehouse.co/live?c=ec22522407104193
Let’s start: Web RTC
WebRTC
• Web Real-Time Communication
– WebRTC (Web Real-Time Communication) is an API definition drafted by theWorld Wide Web
Consortium (W3C) that supports applications for voice calling, video calling, and P2P file
sharing without the need of either internal or external plugins
– W3C (Big boss: Google)
– P2P (Server-free)
– Voice-calling, video-calling
– Without any plugins
• History
– May 2011, Google released
– Firefox 34.0 was released on December 1, 2014
• Who uses
– Snapchat
– Airbnb
– Hangout?
caniuse
http://caniuse.com/#search=webrtc
Solution for iOS
• Native code developed by Google
– https://webrtc.org/native-code/ios/
• OpenWebRTC
– Developed by Ericsson
– Bowser, not browser, is a browser in iOS that supported WebRTC
– Support native code for iOS app
– Support browser for iOS app
Rumor
• Apple is rolling WebRTC video-chat into Safari iOS, OS X browsers (13 Apr
2016)
• Apple is hiring engineers to bring WebRTC to Safari (Feb 21, 2016)
Concept
Video
• https://www.youtube.com/watch?v=kM2EFWpTWc8
Architecture
http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/?redirect_from_locale=tw
Data
Server
STUN, TURN Servers
Peer-to-peer with STUN servers
TURN server
Directly Mode
Peer-to-peer with TURN servers
•ICE: Interactive Connectivity Establishment
•STUN: Session Traversal Utilities for NAT
•TURN: Traversal Using Relay NAT
SDP (Session Description Protocol)
For detail understanding, please refer to
https://webrtchacks.com/sdp-anatomy/
Example format
My note: an information of media for local peer device
Ice Candidates
Example format
My note: an information of internet channel for local peer device
Examples of STUN, TURN Servers
Setup for STUN and TURN servers
1. STUN server is free
2. TURN server is charge-required
ICE Candidate test
Test Your Ice Candidates
My PC test result (Chrome in Mac OS) Component Type
1. Srflx is by STUN server
2. Relay is by TURN server
Demo
Key Api
• GetUserMedia
– Get audio and video streaming
• RTCPeerConnection
– WebRTC peer object
• SDP
– Session Description Protocol
• ICECandidate
– Interactive Connectivity Establishment
Flow Chart of WebRTC
getUserMedia
Create Peer Object
Peer A Peer B
Create offer SDP
Set offer SDP
getUserMedia
Create Peer Object
Set Offer SDP
Create Answer SDP
Set Answer SDP
Send SDP of offer side
Set Answer SDP
Create local ice candidates
Set remote ice candidates
Create local ice candidates
Set remote ice candidates
Send local ice candidates
My Signaling Solution
Peer A Peer B
Rails
Server
My Server
Thin
Server
WebSocket
Implemented by Thin Server with Faye Gem
WebRTC in iOS
Solution1 in IOS
iOS
APP
Safari
getUserMedia api
Cam, Mic
1. Overwrite the original api for webRTC
2. Solutions are developed by two organizations
1. Google webRTC
2. Erission webRTC Data Server
SDP
ICE Candidate
Solution2 for iOS and Android
iOS/Android
APP
Cam, Mic
Data Server
SDP
ICE Candidate
1. Directly calling by APP native code
More
Third-Party IceServers
• Xirsys
– http://xirsys.com/
{"url":"stun:turn02.uswest.xirsys.com"}
{"username":"f75e313a-7027-11e6-a302-16f6c33bdaed",
"url":"turn:turn02.uswest.xirsys.com:80?transport=udp",
"credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"}
{"username":"f75e313a-7027-11e6-a302-16f6c33bdaed",
"url":"turn:turn02.uswest.xirsys.com:80?transport=tcp",
"credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"}
{"username":"f75e313a-7027-11e6-a302-16f6c33bdaed",
"url":"turn:turn02.uswest.xirsys.com:3478?transport=udp",
"credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"}
{"username":"f75e313a-7027-11e6-a302-16f6c33bdaed",
"url":"turn:turn02.uswest.xirsys.com:3478?transport=tcp",
"credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"}
chrome://webrtc-internals/
Google console for webrtc
Q&A

Más contenido relacionado

La actualidad más candente

Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish DatabaseGaetano Giunta
 
DCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDocker, Inc.
 
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedEngage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedPaul Withers
 
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Codemotion
 
DockerCon SF 2015: Cultural Change using Docker
DockerCon SF 2015: Cultural Change using Docker DockerCon SF 2015: Cultural Change using Docker
DockerCon SF 2015: Cultural Change using Docker Docker, Inc.
 
Spark Summit - Mobius C# Binding for Apache Spark
Spark Summit - Mobius C# Binding for Apache SparkSpark Summit - Mobius C# Binding for Apache Spark
Spark Summit - Mobius C# Binding for Apache Sparkshareddatamsft
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersJon Galloway
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixPerforce
 
Prototyping the internet of things with Node-RED
Prototyping the internet of things with Node-REDPrototyping the internet of things with Node-RED
Prototyping the internet of things with Node-REDPooja Mistry
 
The tools & technologies behind Resin.io
The tools & technologies behind Resin.ioThe tools & technologies behind Resin.io
The tools & technologies behind Resin.ioGreeceJS
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDocker, Inc.
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Controlindiver
 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Giorgio Cefaro
 
Robust Stream Processing with Apache Flink
Robust Stream Processing with Apache FlinkRobust Stream Processing with Apache Flink
Robust Stream Processing with Apache FlinkJamie Grier
 
Loggly - 5 Popular .NET Logging Libraries
Loggly - 5 Popular .NET Logging LibrariesLoggly - 5 Popular .NET Logging Libraries
Loggly - 5 Popular .NET Logging LibrariesSolarWinds Loggly
 
Disruption from within
Disruption from withinDisruption from within
Disruption from withinDocker, Inc.
 
Managing microservices with istio on OpenShift - Meetup
Managing microservices with istio on OpenShift - MeetupManaging microservices with istio on OpenShift - Meetup
Managing microservices with istio on OpenShift - MeetupJosé Román Martín Gil
 
API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020Eran Stiller
 

La actualidad más candente (20)

Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
 
Travis CI
Travis CITravis CI
Travis CI
 
DCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application Transformation
 
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedEngage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-Red
 
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
 
DockerCon SF 2015: Cultural Change using Docker
DockerCon SF 2015: Cultural Change using Docker DockerCon SF 2015: Cultural Change using Docker
DockerCon SF 2015: Cultural Change using Docker
 
Spark Summit - Mobius C# Binding for Apache Spark
Spark Summit - Mobius C# Binding for Apache SparkSpark Summit - Mobius C# Binding for Apache Spark
Spark Summit - Mobius C# Binding for Apache Spark
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
 
Prototyping the internet of things with Node-RED
Prototyping the internet of things with Node-REDPrototyping the internet of things with Node-RED
Prototyping the internet of things with Node-RED
 
The tools & technologies behind Resin.io
The tools & technologies behind Resin.ioThe tools & technologies behind Resin.io
The tools & technologies behind Resin.io
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to Microservices
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015
 
Robust Stream Processing with Apache Flink
Robust Stream Processing with Apache FlinkRobust Stream Processing with Apache Flink
Robust Stream Processing with Apache Flink
 
Loggly - 5 Popular .NET Logging Libraries
Loggly - 5 Popular .NET Logging LibrariesLoggly - 5 Popular .NET Logging Libraries
Loggly - 5 Popular .NET Logging Libraries
 
Disruption from within
Disruption from withinDisruption from within
Disruption from within
 
Managing microservices with istio on OpenShift - Meetup
Managing microservices with istio on OpenShift - MeetupManaging microservices with istio on OpenShift - Meetup
Managing microservices with istio on OpenShift - Meetup
 
API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020
 

Similar a Web rtc 入門

WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebVũ Nguyễn
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...Amir Zmora
 
.NET Core Today and Tomorrow
.NET Core Today and Tomorrow.NET Core Today and Tomorrow
.NET Core Today and TomorrowJon Galloway
 
TADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettTADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettAlan Quayle
 
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...Amir Zmora
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2Vincent Mercier
 
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012Oliver N
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCPatrick Cason
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettMojo Lingo
 
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...Amir Zmora
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTCGiacomo Vacca
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014Victor Pascual Ávila
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 

Similar a Web rtc 入門 (20)

WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the Web
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
 
.NET Core Today and Tomorrow
.NET Core Today and Tomorrow.NET Core Today and Tomorrow
.NET Core Today and Tomorrow
 
TADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettTADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan Burnett
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2
 
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan Burnett
 
WebRTC
WebRTCWebRTC
WebRTC
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 

Último

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 

Último (20)

Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 

Web rtc 入門

  • 2. Self-introduction • 中文: 邱繼平 • English: Derek Chiu • Previous Job: Benq/Qisda HW engineer • SW experience: 1.5 years RoR/Front-end engineer • Skill: RoR, Javascript, CSS, Objective C(a little), Excel VBA • Email: crsgypin@gmail • FB: 邱繼平
  • 3. Current Job • VR • Full-stack engineer, rather backend. https://www.eyehouse.co/live?c=ec22522407104193
  • 5. WebRTC • Web Real-Time Communication – WebRTC (Web Real-Time Communication) is an API definition drafted by theWorld Wide Web Consortium (W3C) that supports applications for voice calling, video calling, and P2P file sharing without the need of either internal or external plugins – W3C (Big boss: Google) – P2P (Server-free) – Voice-calling, video-calling – Without any plugins • History – May 2011, Google released – Firefox 34.0 was released on December 1, 2014 • Who uses – Snapchat – Airbnb – Hangout?
  • 7. Solution for iOS • Native code developed by Google – https://webrtc.org/native-code/ios/ • OpenWebRTC – Developed by Ericsson – Bowser, not browser, is a browser in iOS that supported WebRTC – Support native code for iOS app – Support browser for iOS app
  • 8. Rumor • Apple is rolling WebRTC video-chat into Safari iOS, OS X browsers (13 Apr 2016) • Apple is hiring engineers to bring WebRTC to Safari (Feb 21, 2016)
  • 12. STUN, TURN Servers Peer-to-peer with STUN servers TURN server Directly Mode Peer-to-peer with TURN servers •ICE: Interactive Connectivity Establishment •STUN: Session Traversal Utilities for NAT •TURN: Traversal Using Relay NAT
  • 13. SDP (Session Description Protocol) For detail understanding, please refer to https://webrtchacks.com/sdp-anatomy/ Example format My note: an information of media for local peer device
  • 14. Ice Candidates Example format My note: an information of internet channel for local peer device
  • 15. Examples of STUN, TURN Servers Setup for STUN and TURN servers 1. STUN server is free 2. TURN server is charge-required
  • 16. ICE Candidate test Test Your Ice Candidates My PC test result (Chrome in Mac OS) Component Type 1. Srflx is by STUN server 2. Relay is by TURN server
  • 17. Demo
  • 18. Key Api • GetUserMedia – Get audio and video streaming • RTCPeerConnection – WebRTC peer object • SDP – Session Description Protocol • ICECandidate – Interactive Connectivity Establishment
  • 19. Flow Chart of WebRTC getUserMedia Create Peer Object Peer A Peer B Create offer SDP Set offer SDP getUserMedia Create Peer Object Set Offer SDP Create Answer SDP Set Answer SDP Send SDP of offer side Set Answer SDP Create local ice candidates Set remote ice candidates Create local ice candidates Set remote ice candidates Send local ice candidates
  • 20. My Signaling Solution Peer A Peer B Rails Server My Server Thin Server WebSocket Implemented by Thin Server with Faye Gem
  • 22. Solution1 in IOS iOS APP Safari getUserMedia api Cam, Mic 1. Overwrite the original api for webRTC 2. Solutions are developed by two organizations 1. Google webRTC 2. Erission webRTC Data Server SDP ICE Candidate
  • 23. Solution2 for iOS and Android iOS/Android APP Cam, Mic Data Server SDP ICE Candidate 1. Directly calling by APP native code
  • 24. More
  • 25. Third-Party IceServers • Xirsys – http://xirsys.com/ {"url":"stun:turn02.uswest.xirsys.com"} {"username":"f75e313a-7027-11e6-a302-16f6c33bdaed", "url":"turn:turn02.uswest.xirsys.com:80?transport=udp", "credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"} {"username":"f75e313a-7027-11e6-a302-16f6c33bdaed", "url":"turn:turn02.uswest.xirsys.com:80?transport=tcp", "credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"} {"username":"f75e313a-7027-11e6-a302-16f6c33bdaed", "url":"turn:turn02.uswest.xirsys.com:3478?transport=udp", "credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"} {"username":"f75e313a-7027-11e6-a302-16f6c33bdaed", "url":"turn:turn02.uswest.xirsys.com:3478?transport=tcp", "credential":"f75e31c6-7027-11e6-9f9c-40a3acb71766"}
  • 27. Q&A