Web-RTC Based Conferencing Application

Post on 15-Jan-2015

1,624 views 0 download

Tags:

description

 

transcript

Web-RTC Based Video

Conferencing Term Project Presentation

ELEC 6861 – Fall 2013

December 10, 2013

Agenda

Team member introduction

Introduction to Web-RTC

Architecture

Main tasks

STUN and ICE- Signaling and NAT traversal

Firebase- Front End Presence

Challenges.

Conclusions

Research.

Team Members

Onkar Kadam

Masters in Electrical and Computer Engineering

Purvesh Patel

Masters in Electrical and Computer Engineering

Introduction to Web-RTC

Real-time communications capabilities into browsers.

Accessible using HTML5 and JavaScript APIS.

Interaction between browsers.

Peer-to-peer Connection model.

No plugins required.

Transport : HTTP over TCP or WebSocket.

W3C and IETF standards.

Architecture

This arrangement is called a triangle due to the shape of the signaling (sides of triangle) and media or data flows (base of triangle).

Peer connection between browsers.

Architecture(contd.)

Three Main Tasks

Acquiring audio and video.

WebSocket Server (websocket API)

Communicating audio and video.(RTCpeerconnection)

MediaStream (getUserMedia)

Represents stream of audio and/or video.

Can contain multiple tracks.eg audio and video

getUserMedia() - single local media stream.

Asks permission from the user to access microphone and camera.

getUserMedia()

successCallback – successful setup .

errorCallback- failure to access.

Signalling

Session control information: initialize ,terminate , report error

Network information: Ip address and port.

Media Information: Codecs, resolution, bitrate.

Signaling is not part of the WEBRTC framework.

SIP, XMPP,WebSocket.

WebSocket API

Socket connections between browser and websocket server.

Node -Websocket module.

Server side.

https://github.com/Worlize/WebSocket-Node/tree/master/test

RTCPeerConnection

Handles stable communication of streaming data between peers.

Shields developers from the complexities.

Signal Processing.

Codec handling.

Bandwidth management.

Noise reduction.

RTCPeerConnection(Continued)

Create a new RTCPeerConnection and add the stream from getUserMedia():

Create an offer and set it as the local description for caller and as the remote description for callee.

Callee adds remotestream.

Callee accepts the offer by sending remote description.

Session is established.

RTCPeerConnection(Continued)

Session Traversal Utilities for NAT(STUN)

For Peer-to-peer communication over the web.

Tell me what my Public IP address is?

STUN servers used to discover the IP address of the outermost NAT device.

The public IP address becomes IP address of the candidate.

Beyond Firewalls and NAT.

stun.l.google.com:19302.

Interactive Connectivity Establishment(ICE).

Hole Punching.

Maintains route between peers.

Used in conjunction Stun server to resolve all possible IP address that a connection traverses.

Firebase- Presence

Scalable, real-time backend for applications.

Online-Offline status of users .

API available to identify a session.

JavaScript script + HTML5 for showing it in the browser.

DEMONSTRATION

Tools and APIS

RTCPeerConnection API

WebSocket module ,NodeJS

Firebase : presence.

Windows Internet sharing: Network layer.

Features

Dial-in multiparty Video , Voice and text conferencing.

Sub-conferencing.

Single socket.

Over the web(STUN and ICE).

Challenges

Very less resources for java, sailfin ,etc..

Initial Decision of implementing in the cloud (eucalyptus community cloud ).

Integrating multiple technologies .

Network establishment(adhoc, lan , etc..) over concordia wireless network.

XMPP.

Future Scope

Single interface for all participants.

Use of SIP signaling , XMPP signaling.

Over the web rather than private networks to leverage facilities like STUN,ICE,firebase.

Conclusion

Web-RTC is new , not all browsers support Web-RTC.

Still a work in progress.

Independent of the device, dependent upon the browser.

Improvements must be done for noise and echo cancelling.

Accessible from anywhere.

The future of conferencing almost certainly lies in technology initiatives like Web-RTC.

References

http://www.html5rocks.com/en/tutorials/webrtc/basics/

https://labs.ericsson.com/developercommunity/blog/beyond-html5-peer-peer-conversational-video

http://www.html5rocks.com/en/tutorials/websockets/basics/

https://www.firebase.com/blog/2013-06-17-howto-build-a-presence-system.html