WebRTC Nagarjuna Varma Kalidindi 20 th October 2012, JSFoo, Banagalore.
Dec 17, 2014
WebRTC
Nagarjuna Varma Kalidindi
20th October 2012,
JSFoo, Banagalore.
•CS student in my final year
•Mozilla developer with L1 access
•Mozilla Rep
•Interests: Web Technologies, AI , ML, Networks
•Open Source Enthusiast
About Me
About WebRTC
•Story behind WebRTC
•Real time communication meets the Web
through simple JS api
•Audio/Video Communication in the Browser
•New Communications platform
Vision
•Shift the communications industry to the Web
•RTC feature available to all apps
•A common platform for RTC
WebRTC Components
• Media Streams
• PeerConnection
• DataChannels (my favourite )
getUserMedia
• Media Stream – Multiple tracks
• Media Track – Multiple channels
• gUM api acquires media stream from cam/mic
• Integrates well with <audio> and <video>
elements
gUM demo
Peer Connection
• High Level API
• Built in features:
P2p channel for audio, video and data
Codec control
Encryption
Bandwidth Management
Session setup
• Signaling
• Basic steps
Caller sends offer.
Callee receives offer.
Callee sends answer.
Caller receives answer.
More p2p
• ICE – Interactive Connectivity Establishment
• Local Description
• Remote Description
• SDP
JSEP Architecture
Peer Connection Demo
Datachannels
• Like Websockets but p2p
• Advantages:
•Low Latency
•High Measure rate/throughput
•Optional Unreliable Semantics
DC Usecases
• Gaming
• Remote Desktop Applications
• Real time text
• File Sharing
• Truly Decentralized Networks
DC - key features
• Leverages on PeerConnection session setup
• Multiple simultaneous channels (opt prioritization)
• Reliable and Unreliable modes
• DTLS and congestion control
• With or without audio/video
• Similar to WebSockets API
DC Sample Code
Ongoing work
• Integration with the Audio Data API for manipulation
coming soon!
• A usable version of Data Channels will be out with the
next version of FF
• Fix everything so that they are turned on by default
• New, innovative and cool demos and apps!
• …
WebRTC Support
• Almost all desktop browsers
Firefox
Chrome
Opera
IE
• Mobile browser support soon
• Native C++ versions – WebKitGtk+
What all this means!
• Rich image and video apps on mobile browsers
• Citizen journalists could stream breaking news directly
from their phones to news outlets
• Web sites could add live support and feedback through one
line of code
• Effortless file distribution (e.g. Napster) without software.
• This is just a preview. The will be more, much more . .
Impact
• Sharing live audio, video, and data will be as simple as
viewing a web page
• A plethora of audio and video applications by startups
and students
• A new wave of innovation
• change the way we live, work, and play
• new challenges for government censorship :P
• So get EXCITED
“ Potentially, WebRTC and HTML5 could enable
the same transformation for real-time
communications that the original browser did
for information
- Phil Edholm
Contribute !
• Want to be part of the revolution ?!
• We need YOU !
• Who can contribute:
oDevelopers
oDesigners
oEverybody
Want to know more?
• http://mozillamediagoddess.org/
• http://www.html5rocks.com/en/tutorials/webrtc/basics/
• http://tools.ietf.org/html/draft-ietf-rtcweb-jsep-00
• http://bloggeek.me/
• https://hacks.mozilla.org/2012/04/webrtc-efforts-
underway-at-mozilla/
Thank You !
@InfinityO_O