+ All Categories
Home > Technology > Web-RTC Based Conferencing Application

Web-RTC Based Conferencing Application

Date post: 15-Jan-2015
Category:
Upload: onkar-kadam
View: 1,624 times
Download: 0 times
Share this document with a friend
Description:
 
Popular Tags:
24
Web-RTC Based Video Conferencing Term Project Presentation ELEC 6861 – Fall 2013 December 10, 2013
Transcript
Page 1: Web-RTC Based Conferencing Application

Web-RTC Based Video

Conferencing Term Project Presentation

ELEC 6861 – Fall 2013

December 10, 2013

Page 2: Web-RTC Based Conferencing Application

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.

Page 3: Web-RTC Based Conferencing Application

Team Members

Onkar Kadam

Masters in Electrical and Computer Engineering

Purvesh Patel

Masters in Electrical and Computer Engineering

Page 4: Web-RTC Based Conferencing Application

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.

Page 5: Web-RTC Based Conferencing Application

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.

Page 6: Web-RTC Based Conferencing Application

Architecture(contd.)

Page 7: Web-RTC Based Conferencing Application

Three Main Tasks

Acquiring audio and video.

WebSocket Server (websocket API)

Communicating audio and video.(RTCpeerconnection)

Page 8: Web-RTC Based Conferencing Application

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.

Page 9: Web-RTC Based Conferencing Application

getUserMedia()

successCallback – successful setup .

errorCallback- failure to access.

Page 10: Web-RTC Based Conferencing Application

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.

Page 11: Web-RTC Based Conferencing Application

WebSocket API

Socket connections between browser and websocket server.

Node -Websocket module.

Server side.

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

Page 12: Web-RTC Based Conferencing Application

RTCPeerConnection

Handles stable communication of streaming data between peers.

Shields developers from the complexities.

Signal Processing.

Codec handling.

Bandwidth management.

Noise reduction.

Page 13: Web-RTC Based Conferencing Application

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.

Page 14: Web-RTC Based Conferencing Application

RTCPeerConnection(Continued)

Page 15: Web-RTC Based Conferencing Application

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.

Page 16: Web-RTC Based Conferencing Application

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.

Page 17: Web-RTC Based Conferencing Application

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.

Page 18: Web-RTC Based Conferencing Application

DEMONSTRATION

Page 19: Web-RTC Based Conferencing Application

Tools and APIS

RTCPeerConnection API

WebSocket module ,NodeJS

Firebase : presence.

Windows Internet sharing: Network layer.

Page 20: Web-RTC Based Conferencing Application

Features

Dial-in multiparty Video , Voice and text conferencing.

Sub-conferencing.

Single socket.

Over the web(STUN and ICE).

Page 21: Web-RTC Based Conferencing Application

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.

Page 22: Web-RTC Based Conferencing Application

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.

Page 23: Web-RTC Based Conferencing Application

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.

Page 24: Web-RTC Based Conferencing Application

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


Recommended