SlideShare a Scribd company logo
1 of 11
SKYVIEWER
COMPUTER NETWORKS PROJECT
Group 18
Jay Shah (1401053)
Kaivalya Shah (1401108)
Maitrey Mehta (1401040)
MohitVachhani (1401073)
Introduction
 SkyViewer is a fast in-browser solution for video chatting.
 SkyViewer makes use of WebRTC to achieve the in-browser
functionality.
 WebRTC (Web Real-Time Communication) is an API definition
drafted by the World Wide Web Consortium (W3C) that
supports applications for voice calling, video calling, and P2P
file sharing without the need of either internal or external
plugins.
 It supports Google Chrome, Mozilla Firefox, Opera, Android,
and iOS.
Motivation
■ Current video chatting solutions (Skype, Hangouts, WebEx,
GoToMeeting etc.) require the users or participants to
download/install any extension or application.
■ WebRTC is natively supported by most popular browsers
hence, we can use this as an advantage.
■ We wanted to create a website that would allow users to
seamlessly video chat without any hassle.
WhyWebRTC?
1. It’s free.
2. Platform and device independent.
3. Advanced voice and video quality: Opus codec for voice and VP8
codec for video.
4. Secure voice and video: WebRTC uses SRTP (Secure Real-time
Transport Protocol) for encryption and authentication.
5. Adaptive to network conditions: WebRTC supports the negotiation
of multiple media types and endpoints.
Non-Technical Project Overview
1. Alice and Bob want to video chat. SkyViewer will achieve this in-
browser without the need to download or install any software,
extension, or plugin.
2. Both of them open the SkyViewer website and they are presented with
a field to enter a temporary username (Note that neither of them need
to login or create an account).
3. Bob shares his username with the Alice. Alice can now enter the
username of Bob in the field and press on ‘Call’.
4. Both the hosts are connected via P2P.
5. The username is deleted once the tab/window is closed or the session
expires.
HowWebRTC works?
■ SessionTraversal of UDP through NAT (STUN)
■ Traversal Using Relay NAT (TURN)
■ Interactive Connectivity Establishment (ICE)
Implementation
We have used the following modules along with a simple HTML website:
pubnub.js (Online service):
Connection establishment, parameter satisfaction, check conditions and
send encrypted key to other user
webrtc.js:
Instantiate session, video id of camera with permission, sync stream,
media configuration, session handling, and defines ICE servers
rtc-controller.js:
Used for user join, call, leave, video, audio, and integrate with ICE server
Changelog
■ V1.0: Simple calling. No mute, end, pause.
■ V1.02: Added mute and pause button.
■ V1.03: Multiple callers,
■ V1.04: Change in makemycall function.
■ V1.05: Key changed to default. Multiple Access through same username
disallowed.
■ V1.06 : Styling.
Future Improvements
■ Accept/decline call
■ Instant messaging
■ File sharing
■ Remote Desktop access
For Demo
■ Please open Mozilla Firefox and go to
skyviewer.esy.es
THANKYOU

More Related Content

Similar to SkyViewer: An in-browser solution to fast video calling

Webrtc in Real world
Webrtc in Real world Webrtc in Real world
Webrtc in Real world Hanumesh Palla
 
First-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing applicationFirst-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing applicationIRJET Journal
 
Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014
Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014
Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014Bart Uelen
 
minor-project-1.ppt
minor-project-1.pptminor-project-1.ppt
minor-project-1.pptthinkonce1
 
What is WebRTC and How does it work?
What is WebRTC and How does it work?What is WebRTC and How does it work?
What is WebRTC and How does it work?SandipPatel533958
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)Victor Pascual Ávila
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCArt Matsak
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Reportsrinivasa teja
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)Victor Pascual Ávila
 
Web rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapWeb rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapAmir Zmora
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialTsahi Levent-levi
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCChad Hart
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseBrian Pulito
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebVĆ© Nguyễn
 
Streaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & videoStreaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & videoMike Taylor
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...Brian Pulito
 
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012Oliver N
 

Similar to SkyViewer: An in-browser solution to fast video calling (20)

Webrtc in Real world
Webrtc in Real world Webrtc in Real world
Webrtc in Real world
 
First-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing applicationFirst-Call-meet free and open-source video conferencing application
First-Call-meet free and open-source video conferencing application
 
Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014
Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014
Short introduction to WebRTC at the Amsterdam WebRTC Meetup, March 26, 2014
 
minor-project-1.ppt
minor-project-1.pptminor-project-1.ppt
minor-project-1.ppt
 
What is WebRTC and How does it work?
What is WebRTC and How does it work?What is WebRTC and How does it work?
What is WebRTC and How does it work?
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
Web rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapWeb rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards Gap
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTC
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the Web
 
Streaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & videoStreaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & video
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012WebRTC: Bring real-time to the web - Barcamp Saigon 2012
WebRTC: Bring real-time to the web - Barcamp Saigon 2012
 

More from Kaivalya Shah

Critical Thinking Project - Knowing the world
Critical Thinking Project - Knowing the worldCritical Thinking Project - Knowing the world
Critical Thinking Project - Knowing the worldKaivalya Shah
 
Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...
Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...
Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...Kaivalya Shah
 
Branch and Bound technique to solve Integer Linear Programming
Branch and Bound technique to solve Integer Linear ProgrammingBranch and Bound technique to solve Integer Linear Programming
Branch and Bound technique to solve Integer Linear ProgrammingKaivalya Shah
 
Import Trends of India
Import Trends of IndiaImport Trends of India
Import Trends of IndiaKaivalya Shah
 
An Ethical Analysis of Caste based Reservation in India
An Ethical Analysis of Caste based Reservation in IndiaAn Ethical Analysis of Caste based Reservation in India
An Ethical Analysis of Caste based Reservation in IndiaKaivalya Shah
 
About the Montreal Protocol
About the Montreal ProtocolAbout the Montreal Protocol
About the Montreal ProtocolKaivalya Shah
 
Amazon Web Services (AWS) Elastic Compute Cloud (EC2)
Amazon Web Services (AWS) Elastic Compute Cloud (EC2)Amazon Web Services (AWS) Elastic Compute Cloud (EC2)
Amazon Web Services (AWS) Elastic Compute Cloud (EC2)Kaivalya Shah
 
Introduction to Storage technologies
Introduction to Storage technologiesIntroduction to Storage technologies
Introduction to Storage technologiesKaivalya Shah
 

More from Kaivalya Shah (9)

Critical Thinking Project - Knowing the world
Critical Thinking Project - Knowing the worldCritical Thinking Project - Knowing the world
Critical Thinking Project - Knowing the world
 
Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...
Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...
Paper Review: ENERGY-EFFICIENT WIRELESS COMMUNICATIONS TUTORIAL, SURVEY, AND ...
 
Branch and Bound technique to solve Integer Linear Programming
Branch and Bound technique to solve Integer Linear ProgrammingBranch and Bound technique to solve Integer Linear Programming
Branch and Bound technique to solve Integer Linear Programming
 
Import Trends of India
Import Trends of IndiaImport Trends of India
Import Trends of India
 
An Ethical Analysis of Caste based Reservation in India
An Ethical Analysis of Caste based Reservation in IndiaAn Ethical Analysis of Caste based Reservation in India
An Ethical Analysis of Caste based Reservation in India
 
About the Montreal Protocol
About the Montreal ProtocolAbout the Montreal Protocol
About the Montreal Protocol
 
Xerography
XerographyXerography
Xerography
 
Amazon Web Services (AWS) Elastic Compute Cloud (EC2)
Amazon Web Services (AWS) Elastic Compute Cloud (EC2)Amazon Web Services (AWS) Elastic Compute Cloud (EC2)
Amazon Web Services (AWS) Elastic Compute Cloud (EC2)
 
Introduction to Storage technologies
Introduction to Storage technologiesIntroduction to Storage technologies
Introduction to Storage technologies
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)
Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)
Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)Wonjun Hwang
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)
Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)
Bun (KitWorks Team Study 녾별마룹 발표 2024.4.22)
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

SkyViewer: An in-browser solution to fast video calling

  • 1. SKYVIEWER COMPUTER NETWORKS PROJECT Group 18 Jay Shah (1401053) Kaivalya Shah (1401108) Maitrey Mehta (1401040) MohitVachhani (1401073)
  • 2. Introduction  SkyViewer is a fast in-browser solution for video chatting.  SkyViewer makes use of WebRTC to achieve the in-browser functionality.  WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium (W3C) that supports applications for voice calling, video calling, and P2P file sharing without the need of either internal or external plugins.  It supports Google Chrome, Mozilla Firefox, Opera, Android, and iOS.
  • 3. Motivation ■ Current video chatting solutions (Skype, Hangouts, WebEx, GoToMeeting etc.) require the users or participants to download/install any extension or application. ■ WebRTC is natively supported by most popular browsers hence, we can use this as an advantage. ■ We wanted to create a website that would allow users to seamlessly video chat without any hassle.
  • 4. WhyWebRTC? 1. It’s free. 2. Platform and device independent. 3. Advanced voice and video quality: Opus codec for voice and VP8 codec for video. 4. Secure voice and video: WebRTC uses SRTP (Secure Real-time Transport Protocol) for encryption and authentication. 5. Adaptive to network conditions: WebRTC supports the negotiation of multiple media types and endpoints.
  • 5. Non-Technical Project Overview 1. Alice and Bob want to video chat. SkyViewer will achieve this in- browser without the need to download or install any software, extension, or plugin. 2. Both of them open the SkyViewer website and they are presented with a field to enter a temporary username (Note that neither of them need to login or create an account). 3. Bob shares his username with the Alice. Alice can now enter the username of Bob in the field and press on ‘Call’. 4. Both the hosts are connected via P2P. 5. The username is deleted once the tab/window is closed or the session expires.
  • 6. HowWebRTC works? ■ SessionTraversal of UDP through NAT (STUN) ■ Traversal Using Relay NAT (TURN) ■ Interactive Connectivity Establishment (ICE)
  • 7. Implementation We have used the following modules along with a simple HTML website: pubnub.js (Online service): Connection establishment, parameter satisfaction, check conditions and send encrypted key to other user webrtc.js: Instantiate session, video id of camera with permission, sync stream, media configuration, session handling, and defines ICE servers rtc-controller.js: Used for user join, call, leave, video, audio, and integrate with ICE server
  • 8. Changelog ■ V1.0: Simple calling. No mute, end, pause. ■ V1.02: Added mute and pause button. ■ V1.03: Multiple callers, ■ V1.04: Change in makemycall function. ■ V1.05: Key changed to default. Multiple Access through same username disallowed. ■ V1.06 : Styling.
  • 9. Future Improvements ■ Accept/decline call ■ Instant messaging ■ File sharing ■ Remote Desktop access
  • 10. For Demo ■ Please open Mozilla Firefox and go to skyviewer.esy.es