Web RTC
Web RTC
Cons:-
More effort required for setup.
Requires signalling for connection management (need to
implement a signalling server).
How to use:-
Set up WebRTC with JavaScript for front-end communication.
Use a signaling server for WebRTC connection (e.g., Node.js
with Socket.IO).
Handle media streams using the
navigator.mediaDevices.getUserMedia() API.
Steps:-
1)Basic setup which requires creation of Html elements to add video
elements to the webpage for displaying of local and remote video
streams and get user media, i.e, access to user’s camera and
microphone.
2) Set up signalling server to exchange initial connection information
(offer, answer, ICE candidates) between client by using WebSocket or
Socket.IO. (server-side signalling to client-side signalling).
3)Establishing peer-to-peer connection by using RTCPeerConnection
API. (Creating an offer, answer, etc).
4)Handling of ICE Candidates(Interactive Connectivity Establishment)
for the esetablishment of connection between peers. (Gathering and
Adding of candidates).
5)Deploy the signalling server(using WebSockets or Socket.IO) and
then test it on two different clients.
Note:-
ICE (Interactive Connectivity Establishment) candidates are potential
network routes that WebRTC uses to establish peer-to-peer
connections between devices. They include different IP addresses
and ports, enabling WebRTC to traverse various network types (e.g.,
NATs, firewalls) to find the best path for the media to travel.
Optional Enhancements:-
Recording:- using MediaRecorder API to record calls.
Screen-sharing:- Using WebRTC.
Real-time chat:- Using WebSocket-based chat system or
Daily.co’s chat feature.
Whiteboard feature:- Using Daily.co or Twilio , these allow
custom integrations for third-party whiteboard tools(eg, Miro
or OpenBoard).
Note:-
Unacademy, for instance, uses real-time video platforms
built on WebRTC for live interaction between educators and
students, alongside features like screen sharing and chat.
They have also integrated interactive whiteboards and other
tools to enhance the learning experience.
Vedantu has developed its own proprietary platform called
W.A.V.E. 2.0 (Whiteboard Audio Video Environment), which
focuses on student interaction through features like digital
notebooks, 3D visualizations, and augmented reality. This
allows for a more immersive and interactive learning
environment. It might also use AWS Cloudfront, a CDN, for
content delivery to ensure low latency and smooth access
across different regions.
MentorCruise uses MentorCal, a scheduling and video call
service that is built on top of Cal.com. For video calling, they
use Daily.co as the default video conferencing option
integrated within MentorCal, which allows seamless
scheduling and video call management without the need for
third-party services like Zoom or Google Meet. However,
users can choose to integrate alternatives like Google Meet
or Jitsi if they prefer.
How to Use:
Use the Jitsi Meet API to embed video calls on your website.
If you want more control, you can host your own Jitsi server.
Firebase + WebRTC
How to Use: