SlideShare a Scribd company logo
WebRTC
Allan Shih
Plugin-free realtime communication
How can I make multimedia
call within my apps?
Use Real Time
Communication (RTC) ?
• Many web services already use RTC, but need
downloads, native apps or plugins.
• Downloading, installing and updating plugins can be
complex, error prone and annoying.
• Plugins can be difficult to deploy, debug, troubleshoot,
test and maintain.
WebRTC
• WebRTC is a free, open project that provides browsers
and mobile applications with Real-Time Communications
(RTC) capabilities via simple APIs.
• High quality audio and video communication
• Low Cost
• Plugin-free
WebRTC across platforms
• Chrome
• Firefox
• Opera
• Safari
• Android
• iOS
5
Demo
1. Open appr.tc in Chrome, Opera or Firefox.
2. Click the Allow button to let the app use your webcam.
3. Open the URL displayed at the bottom of the page in a
new tab or, better still, on a different computer.
The WebRTC APIs
Three main tasks
• Acquiring audio and video
• Communicating audio and video
• Communicating arbitrary data
WebRTC Architecture
The WebRTC APIs
• getUserMedia(): capture audio and video.
• MediaRecorder: record audio and video.
• RTCPeerConnection: stream audio and video between
users.
• RTCDataChannel: stream data between users.
MediaStream
• Represents a stream of audio and/or video
• Can contain multiple 'tracks'
• Obtain a MediaStream with navigator.getUserMedia()
MediaStream
simpl.info/gum
Constraints
• Controls the contents of the MediaStream
• Media type, resolution, frame rate
simpl.info/getusermedia/
constraints
RTCPeerConnection
RTCPeerConnection does a lot
• Signal processing
• Codec handling
• Peer to peer communication
• Security
• Bandwidth management
…
RTCPeerConnection Sample
simpl.info/pc
RTCDataChannel
RTCDataChannel
• Enables peer-to-peer exchange of arbitrary data
• Low latency
• Unreliable or reliable
• Secure
RTCDataChannel API
simpl.info/dc
Servers and Protocols
Abstract Signaling
• Need to exchange 'session description' objects:
- What formats I support, what I want to send
- Network information for peer-to-peer setup
• Can use any messaging mechanism
• Can use any messaging protocol
Signaling
A Call Scenario
Create Offer
Set Offer
Send Offer Set Remote Offer
Create Answer
Send AnswerSet Remote Offer
SDP
SDP
SDP (Session Description
Protocol)
After signaling
An ideal world
Session Traversal Utilities for
NAT (STUN)
• Tell me what my public IP address is
• Simple server, cheap to run
• Data flows peer-to-peer
STUN
Traversal Using Relays
around NAT (TURN)
• Provide a cloud fallback if peer-to-peer communication
fails
• Data is sent through server, uses server bandwidth
• Ensures the call works in almost all environments
TURN
Interactive Connectivity
Establishment (ICE)
• WebRTC uses ICE to overcome the complexity of
real-world networking
• Tries to find best path to connect peers in parallel
ICE: Finding connection
candidates
ICE: WebRTC data pathway
Security
Security throughout WebRTC
• Mandatory encryption for media and data
• Secure UI, explicit opt-in
• Sandboxed, no plugins
• WebRTC Security Architecture
Secure pathways
Architectures
Peer to peer: one-to-one call
Mesh: small N-way call
Star: medium N-way call
Multipoint Control Unit (MCU):
large N-way call
Selective Forwarding Unit
(SFU): large N-way call
Topologies
Full Mesh MCU SFU
Client uplink Very high Low Low
Client downlink Very high Low Medium
Client CPU usage Very high Low Medium
Server CPU
usage
- Very high Very Low
Latency None High Low
Reference
• webrtc.org
• Getting Started with WebRTC
• Real time communication with WebRTC
• Introduction to WebRTC on Android

More Related Content

PDF
WebRTC Workshop - What is (and isn't WebRTC)
PDF
Security and identity management on WebRTC
PDF
WebRTC Real time media P2P, Server, Infrastructure, and Platform
PPTX
New technical architectures and deployment models for radio production
PDF
Internet TV
DOCX
Site to-multi site open vpn solution-latest
PDF
Low Latency Mobile Messaging using MQTT
PPTX
redGuardian DP100 large scale DDoS mitigation solution
WebRTC Workshop - What is (and isn't WebRTC)
Security and identity management on WebRTC
WebRTC Real time media P2P, Server, Infrastructure, and Platform
New technical architectures and deployment models for radio production
Internet TV
Site to-multi site open vpn solution-latest
Low Latency Mobile Messaging using MQTT
redGuardian DP100 large scale DDoS mitigation solution

What's hot (20)

PPTX
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
PDF
MQTT - A practical protocol for the Internet of Things
PPTX
BGP Flowspec (RFC5575) Case study and Discussion
PDF
LF_DPDK17_Implementation and Testing of Soft Patch Panel
PDF
DPDK Summit 2015 - Sprint - Arun Rajagopal
PDF
Implementing BGP Flowspec at IP transit network
PDF
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
PDF
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
PDF
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
PDF
DPDK Summit 2015 - RIFT.io - Tim Mortsolf
PDF
DPDK Summit 2015 - Aspera - Charles Shiflett
PDF
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
PDF
MQTT - Protocol for the Internet of Things
PDF
Android Implementation using MQTT Protocol
PDF
Getting started with MQTT - Virtual IoT Meetup presentation
PDF
RIPP Notes
ODP
There and back again
PDF
PDF
Introducing MQTT
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
MQTT - A practical protocol for the Internet of Things
BGP Flowspec (RFC5575) Case study and Discussion
LF_DPDK17_Implementation and Testing of Soft Patch Panel
DPDK Summit 2015 - Sprint - Arun Rajagopal
Implementing BGP Flowspec at IP transit network
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit 2015 - RIFT.io - Tim Mortsolf
DPDK Summit 2015 - Aspera - Charles Shiflett
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
MQTT - Protocol for the Internet of Things
Android Implementation using MQTT Protocol
Getting started with MQTT - Virtual IoT Meetup presentation
RIPP Notes
There and back again
Introducing MQTT
Ad

Similar to WebRTC (20)

PPTX
WebRTC Seminar Report
PDF
What is WebRTC and How does it work?
PPTX
Html5 rtc 2
PDF
WebRTC on Mobile
PPTX
WebRTC
PPTX
Web rtc 入門
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
PDF
Spring Boot for WebRTC Signaling Servers: A Comprehensive Guide
PDF
DevCon 5 (December 2013) - WebRTC & WebSockets
PPTX
PDF
Getting started with WebRTC
PPTX
Html web rtc
PDF
WebRTC ... GWT & in-browser computation
PPTX
WebRTC overview
PPTX
WebRTC in action
PDF
WebRTC for Beginners Webinar Slides
PPTX
DeveloperWeek 2015 - WebRTC - Where to start and how to scale
PPTX
WebRTC Overview
PPTX
WebRTC presentation
PDF
WebRTC: A front-end perspective
WebRTC Seminar Report
What is WebRTC and How does it work?
Html5 rtc 2
WebRTC on Mobile
WebRTC
Web rtc 入門
Unified_Cloud_Comm_Presentation anil singh ppt
Spring Boot for WebRTC Signaling Servers: A Comprehensive Guide
DevCon 5 (December 2013) - WebRTC & WebSockets
Getting started with WebRTC
Html web rtc
WebRTC ... GWT & in-browser computation
WebRTC overview
WebRTC in action
WebRTC for Beginners Webinar Slides
DeveloperWeek 2015 - WebRTC - Where to start and how to scale
WebRTC Overview
WebRTC presentation
WebRTC: A front-end perspective
Ad

More from allanh0526 (18)

PPTX
PPTX
Digital authentication
PDF
Integration of slather and jenkins
PDF
How to generate code coverage reports in xcode with slather
PDF
Unit testing in xcode 8 with swift
PDF
Ui testing in xcode
PDF
How to work with dates and times in swift 3
PDF
Using a model view-view model architecture for iOS apps
PDF
iOS architecture patterns
PDF
ThingMaker in Swift
PDF
Automatic reference counting in Swift
PDF
Core data in Swfit
PDF
From android/java to swift (3)
PDF
From android/ java to swift (2)
PDF
From android/java to swift (1)
PDF
Pipeline interface
PDF
Deploying artifacts to archiva
PPT
Android httpclient
Digital authentication
Integration of slather and jenkins
How to generate code coverage reports in xcode with slather
Unit testing in xcode 8 with swift
Ui testing in xcode
How to work with dates and times in swift 3
Using a model view-view model architecture for iOS apps
iOS architecture patterns
ThingMaker in Swift
Automatic reference counting in Swift
Core data in Swfit
From android/java to swift (3)
From android/ java to swift (2)
From android/java to swift (1)
Pipeline interface
Deploying artifacts to archiva
Android httpclient

Recently uploaded (20)

PPTX
Introduction to Windows Operating System
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PDF
MCP Security Tutorial - Beginner to Advanced
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PPTX
GSA Content Generator Crack (2025 Latest)
PPTX
Custom Software Development Services.pptx.pptx
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Website Design Services for Small Businesses.pdf
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
iTop VPN Crack Latest Version Full Key 2025
PPTX
Tech Workshop Escape Room Tech Workshop
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Introduction to Windows Operating System
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
Salesforce Agentforce AI Implementation.pdf
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Oracle Fusion HCM Cloud Demo for Beginners
Complete Guide to Website Development in Malaysia for SMEs
DNT Brochure 2025 – ISV Solutions @ D365
MCP Security Tutorial - Beginner to Advanced
Topaz Photo AI Crack New Download (Latest 2025)
How Tridens DevSecOps Ensures Compliance, Security, and Agility
GSA Content Generator Crack (2025 Latest)
Custom Software Development Services.pptx.pptx
Monitoring Stack: Grafana, Loki & Promtail
Advanced SystemCare Ultimate Crack + Portable (2025)
Website Design Services for Small Businesses.pdf
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
iTop VPN Crack Latest Version Full Key 2025
Tech Workshop Escape Room Tech Workshop
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency

WebRTC