introduction to webrtc

27
WebRTC Nagarjuna Varma Kalidindi 20 th October 2012, JSFoo, Banagalore.

Upload: arjun-varma

Post on 17-Dec-2014

243 views

Category:

Technology


3 download

DESCRIPTION

WebRTC is the upcoming platform for real time communication and data sharing through the web (specifically the browser). This presentation should get you started with it ;)

TRANSCRIPT

Page 1: Introduction to WebRTC

WebRTC

Nagarjuna Varma Kalidindi

20th October 2012,

JSFoo, Banagalore.

Page 2: Introduction to WebRTC

•CS student in my final year

•Mozilla developer with L1 access

•Mozilla Rep

•Interests: Web Technologies, AI , ML, Networks

•Open Source Enthusiast

About Me

Page 3: Introduction to WebRTC

About WebRTC

•Story behind WebRTC

•Real time communication meets the Web

through simple JS api

•Audio/Video Communication in the Browser

•New Communications platform

Page 4: Introduction to WebRTC

Vision

•Shift the communications industry to the Web

•RTC feature available to all apps

•A common platform for RTC

Page 5: Introduction to WebRTC

WebRTC Components

• Media Streams

• PeerConnection

• DataChannels (my favourite )

Page 6: Introduction to WebRTC

getUserMedia

• Media Stream – Multiple tracks

• Media Track – Multiple channels

• gUM api acquires media stream from cam/mic

• Integrates well with <audio> and <video>

elements

Page 7: Introduction to WebRTC

gUM demo

Page 8: Introduction to WebRTC

Peer Connection

• High Level API

• Built in features:

P2p channel for audio, video and data

Codec control

Encryption

Bandwidth Management

Page 9: Introduction to WebRTC

Session setup

• Signaling

• Basic steps

Caller sends offer.

Callee receives offer.

Callee sends answer.

Caller receives answer.

Page 10: Introduction to WebRTC

More p2p

• ICE – Interactive Connectivity Establishment

• Local Description

• Remote Description

• SDP

Page 11: Introduction to WebRTC

JSEP Architecture

Page 12: Introduction to WebRTC

Peer Connection Demo

Page 13: Introduction to WebRTC

Datachannels

• Like Websockets but p2p

• Advantages:

•Low Latency

•High Measure rate/throughput

•Optional Unreliable Semantics

Page 14: Introduction to WebRTC

DC Usecases

• Gaming

• Remote Desktop Applications

• Real time text

• File Sharing

• Truly Decentralized Networks

Page 15: Introduction to WebRTC

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

Page 16: Introduction to WebRTC

DC Sample Code

Page 17: Introduction to WebRTC

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!

• …

Page 18: Introduction to WebRTC

WebRTC Support

• Almost all desktop browsers

Firefox

Chrome

Opera

IE

• Mobile browser support soon

• Native C++ versions – WebKitGtk+

Page 19: Introduction to WebRTC

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 . .

Page 20: Introduction to WebRTC

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

Page 21: Introduction to WebRTC

“ Potentially, WebRTC and HTML5 could enable

the same transformation for real-time

communications that the original browser did

for information

- Phil Edholm

Page 22: Introduction to WebRTC
Page 23: Introduction to WebRTC

Contribute !

• Want to be part of the revolution ?!

• We need YOU !

• Who can contribute:

oDevelopers

oDesigners

oEverybody

Page 24: Introduction to WebRTC

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/

Page 25: Introduction to WebRTC

Thank You !

Page 26: Introduction to WebRTC

#media

irc.mozilla.org

[email protected]

Q&A

Page 27: Introduction to WebRTC

[email protected]

@InfinityO_O