
Explore real-time communication with WebRTC, an open-source solution enabling audio and video calls via peer-to-peer, plugin-free, standardized by the Worldwide Web Consortium WGC and IETF.
Set up the development environment for a WebRTC app by installing node.js, initializing npm, and configuring a ws websocket server and a static web server.
Build the WebRTC app interface by scaffolding index.html, wiring material icons, jquery, and Materialize CSS, featuring local and remote video with chat area, a username input, and a call button.
In this course we are going to use websocket and socket.io for signaling server.
[ N.B: You can get http://localhost:8080/login.html in address bar just type and run static command in cmd since it will not create any issue. You will see how to run static server in lecture 11 at time 2:20. Make sure you run this cmd in webrtc folder. Then type the url(http://localhost:8080/login.html) and you will get the login page. ]
Learn to use getUserMedia to access local video and audio, configure constraints, handle success and error callbacks, and display the local video stream for a future WebRTC app.
Build a WebRTC call feature by creating, sending, and processing an offer, wiring a call button and username input, and exchanging offers via a server.
Set up the WebRTC answer flow by receiving an offer, creating and sending an answer, and applying the remote description to establish the connection between two users.
Designs a call page ui that shows an incoming call with accept or reject actions and sends an offer in a webrtc setup.
Learn how to stream remote video during the call accept flow in WebRTC, including establishing peer connections, exchanging candidates, and starting streaming when the call is accepted.
Learn to implement toggle controls for audio and video in a WebRTC app, with connection icons and click events that toggle audio and video tracks and end calls.
Learn to create a WebRTC data channel for text messaging, handle on message events, and build a chat UI that sends and displays messages between users.
Test and debug a WebRTC data channel for text messaging by refining chat UI, handling caller names, and enabling camera and microphone permissions during a live call.
Create a screen sharing system using WebRTC to share your screen, a browser tab, or a window with other users via a participial connection.
Write code to capture the computer screen with getDisplayMedia from media devices, stream it via a peer connection, and handle the promise with success and error processes.
Test screen sharing with WebRTC by using a signaling server, get display media, and share a Chrome tab in real time.
Establish a socket connection and exchange user and meeting information via signaling to create a multi-user video conference, then manage and broadcast updates to connected and other users.
Learn how to create a web rtc connection, send offers and candidates via signaling, process sdp, set local and remote descriptions, and update media for connected users.
Test and explain the WebRTC code flow, from hosting or joining a meeting, through signaling, offers and answers, to establishing peer connections and media streams.
Learn how to create a data channel attached to a peer connection, handle events like on message, and send arbitrary data bidirectionally with the send method.
Explore interactive connectivity establishment (ICE) to coordinate STUN and TURN in establishing peer-to-peer connections, including candidates, IP addresses, ports, protocols, and connectivity checks.
Learn how STUN helps clients behind a NAT discover their public IP and NAT type, map their local port, and establish UDP communication for calls.
Discover how turn servers enable traversal by relaying media when direct peer connections fail, with fallback from direct to stun and then to turn for devices behind firewalls.
SRTP extends RTP by providing encryption, authentication, and integrity protection for RTP payloads in unicast and multicast streams.
Learn how transport security TLS protects signaling in WebRTC by using certificates to authenticate connections and encrypt data, preventing tampering and eavesdropping.
Explore how http and https enable web apps to communicate between client and server, detailing the tcp handshake, request-response messages, and how secure https relies on ssl certificates.
Explore server-sent events (sse) as a signaling transport that lets a server push messages to the client via a long-lived request, contrasting with SCDP's limitations and the upcoming WebSocket topic.
Learn how XMLHttpRequest (XHR) enables updating a page without a full refresh, and explore its role in signaling on top of SJP, with alternatives like SSA and WebSocket.
Learn how adapter.js provides a JavaScript shim that normalizes web APIs across browsers, eliminating browser-specific workarounds, and how to download, include, and test it in your project.
Webrtc - WEB real time communication is a media engine with javascript APIS that supports video, voice, and generic data to be sent between peers, allowing developers to build powerful voice- and video-communication solutions .
WebRTC is not only about for voice or video calling It is quite powerful and versatile that You can use it to build a group calling service, add recording to it or use it only for data delivery .
In this course you are going to learn in depth of webrtc from beginning and know how to use webrtc in application. So basically you will learn by doing. You will learn webrtc by creating a webrtc application where you will learn how to stream video, how to create signaling server, how to connect with other user, how to call and accept or receive these call. How to toggle on off the video or audio, how to send data through webrtc data channel, learn also how to record video and download the video. How to share screen in realtime and at the end you will learn how to create a group video calling application. Not only about application but also you will learn about underlying technology that powerd the webrtc apis. So no more talking, if you are interested about webrtc and thinking about starting your journey in real time communication then this course will help you start good. You will get complete direction to reach the destination. So no more talking, lets start the journey.