Introduction to WebRTC
-
Upload
arjun-varma -
Category
Technology
-
view
231 -
download
3
description
Transcript of Introduction to WebRTC
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