Introduction to WebRTC

Post on 17-Dec-2014

231 views 3 download

Tags:

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

#media

irc.mozilla.org

DEV-MEDIA@LISTS.MOZILLA.ORG

Q&A

junky.argonaut@gmail.com

@InfinityO_O