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...
Team Members


Onkar Kadam




Masters in Electrical and Computer Engineering

Purvesh Patel


Masters in Electrical a...
Introduction to Web-RTC


Real-time communications capabilities into browsers.



Accessible using HTML5 and JavaScript ...
Architecture


This arrangement is called a triangle due to the shape
of the signaling (sides of triangle) and media or d...
Architecture(contd.)
Three Main Tasks


Acquiring audio and video.



WebSocket Server (websocket API)



Communicating audio and video.(RTC...
MediaStream (getUserMedia)


Represents stream of audio and/or video.



Can contain multiple tracks.eg audio and video
...
getUserMedia()


successCallback – successful setup .



errorCallback- failure to access.
Signalling


Session control information: initialize ,terminate ,
report error



Network information: Ip address and po...
WebSocket API


Socket connections between browser and websocket
server.



Node -Websocket module.



Server side.


...
RTCPeerConnection


Handles stable communication of streaming data
between peers.



Shields developers from the complex...
RTCPeerConnection(Continued)


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



Create an offer...
RTCPeerConnection(Continued)
Session Traversal Utilities for
NAT(STUN)


For Peer-to-peer communication over the web.



Tell me what my Public IP ad...
Interactive Connectivity
Establishment(ICE).


Hole Punching.



Maintains route between peers.



Used in conjunction ...
Firebase- Presence


Scalable, real-time backend for applications.



Online-Offline status of users .



API available...
DEMONSTRATION
Tools and APIS


RTCPeerConnection API



WebSocket module ,NodeJS



Firebase : presence.



Windows Internet sharing...
Features


Dial-in multiparty Video , Voice and text conferencing.



Sub-conferencing.



Single socket.



Over the ...
Challenges


Very less resources for java, sailfin ,etc..



Initial Decision of implementing in the cloud (eucalyptus
c...
Future Scope


Single interface for all participants.



Use of SIP signaling , XMPP signaling.



Over the web rather ...
Conclusion


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



Still a work in progress.



Independent of the devi...
References


http://www.html5rocks.com/en/tutorials/webrtc/basic
s/



https://labs.ericsson.com/developercommunity/blog...
Upcoming SlideShare
Loading in …5
×

Web-RTC Based Conferencing Application

2,821 views

Published on

Published in: Technology, Business
  • Be the first to comment

Web-RTC Based Conferencing Application

  1. 1. Web-RTC Based Video Conferencing Term Project Presentation ELEC 6861 – Fall 2013 December 10, 2013
  2. 2. 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.
  3. 3. Team Members  Onkar Kadam   Masters in Electrical and Computer Engineering Purvesh Patel  Masters in Electrical and Computer Engineering
  4. 4. 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.
  5. 5. 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.
  6. 6. Architecture(contd.)
  7. 7. Three Main Tasks  Acquiring audio and video.  WebSocket Server (websocket API)  Communicating audio and video.(RTCpeerconnection)
  8. 8. 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.
  9. 9. getUserMedia()  successCallback – successful setup .  errorCallback- failure to access.
  10. 10. 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.
  11. 11. WebSocket API  Socket connections between browser and websocket server.  Node -Websocket module.  Server side.  https://github.com/Worlize/WebSocketNode/tree/master/test
  12. 12. RTCPeerConnection  Handles stable communication of streaming data between peers.  Shields developers from the complexities.  Signal Processing.  Codec handling.  Bandwidth management.  Noise reduction.
  13. 13. 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.
  14. 14. RTCPeerConnection(Continued)
  15. 15. 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.
  16. 16. 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.
  17. 17. 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.
  18. 18. DEMONSTRATION
  19. 19. Tools and APIS  RTCPeerConnection API  WebSocket module ,NodeJS  Firebase : presence.  Windows Internet sharing: Network layer.
  20. 20. Features  Dial-in multiparty Video , Voice and text conferencing.  Sub-conferencing.  Single socket.  Over the web(STUN and ICE).
  21. 21. 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.
  22. 22. 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.
  23. 23. 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.
  24. 24. References  http://www.html5rocks.com/en/tutorials/webrtc/basic s/  https://labs.ericsson.com/developercommunity/blog/b eyond-html5-peer-peer-conversational-video  http://www.html5rocks.com/en/tutorials/websockets/ basics/  https://www.firebase.com/blog/2013-06-17-howtobuild-a-presence-system.html

×