
Watch the project 1 demo to see how to create, deploy, and evaluate a video conference using WebRTC.
Explore WebRTC fundamentals by building a project that clones Google Meet features, including virtual background and audio visualizer, and learn how to create, deploy, and evaluate a video conference.
Explore building, deploying, and evaluating a WebRTC video conference app, including a feature-rich UI with mic and camera controls, screen sharing, chat, file sharing, and participant count.
Master WebRTC by building text messaging, audio and video calls, chat rooms, and live streaming; deploy on a server with NodeJS and SSL, and evaluate performance across devices.
Identify the two reference books used in this course— create, deploy and evaluate a web conference, and quick guide to WebRTC video conference app— with Amazon and KDP access.
WebRTC enables real-time, peer-to-peer video, audio, and data transmission across browsers using JavaScript. Build private video conference apps by leveraging media capture, encoding, transport, and session management.
WebRTC enables peer-to-peer real-time data transfer over the internet and delivers higher performance than client-server models. It initiates connections via signaling, selects the best route, and lets peers communicate directly.
Explore the WebRTC features for free, including text chat, data transfer, whiteboard, screen sharing, file sharing, live pointer, snapshots, virtual background, and recording.
Discover how WebRTC enables real-time video conference, gaming, social messaging, live streaming, and surveillance. Explore applications in product marketing, business management, financial services, medical consultation, and distance learning.
Identify compatible browsers for WebRTC and ensure updated versions to guarantee features like screen sharing work across Chrome, Firefox, Safari, and Opera, and avoid Internet Explorer and Opera Mini.
Explore how PeerJS wraps all WebRTC capabilities to simplify building video conference apps. Learn to make media calls, audio and video calls, and data sending with minimal code.
Compare video conference and video chat, noting capacity differences (up to 1000 vs eight), formal versus informal use, share screen needs, device requirements, and cost through subscriptions.
Explore why building a private video conference app offers easy customization, lower operating costs, and freedom of use beyond Google Meet and Zoom, including recording capabilities and potential profitability.
Identify essential WebRTC prerequisites for a video conference app, including webcam, microphone, screen sharing, and internet, plus minimum computer specs and tools like Visual Studio Code and Node.js, Google Chrome.
Install and set up Visual Studio Code for a WebRTC project by downloading from code.visualstudio.com, choosing the right platform, enabling right-click menu options, and completing the installer.
Install the Node.js framework (version 10 or newer) from nodejs.org to support Express.js, socket.io, nodemon, and uuid on Windows 64-bit, then use Chrome for best WebRTC performance.
Download the project resources needed to build the RTC video conference app, including logos and interface assets, then extract them with WinRAR or WinZip.
Configure windows execution policy to unrestricted to run node scripts and nodemon; open powershell as administrator, check with get-executionpolicy, apply set-executionpolicy, verify, then continue to WebRTC basics.
Create the root video conference directory and essential subfolders (public, fuse, css, image assets, uploaded files) along with server.js and meeting room html for a WebRTC app.
Build the front page UI for a WebRTC video conference app by crafting a flipping front page with start and join forms using HTML, CSS, and JavaScript.
Build the meeting room UI for a video conference by creating a container layout with a header logo, main and mini video panels, right chat area, styled with CSS.
Create and run an express server for a video conferencing app by initializing the project, installing express, uuid, socket.io, and nodemon, then coding server.js and running with nodemon on localhost:8080.
Configure the WebRTC start meeting flow by running the server, rendering the front page and meeting room, and creating a new room with username and passcode.
Code the join meeting feature to show the mini video of joining participants inside the main video by updating front pages, server.js, and the web rtc controller.
Add microphone control to the WebRTC video conference by implementing a toggle to activate or deactivate the microphone and display real-time participants using the countUser function in the WebRTC controller.
Control the camera in your web rtc conference by enabling or disabling video to save bandwidth, using code in web rtc controller.js, and test with room id and passcode.
Add screen sharing to a web video conference by updating the WebRTC controller and server code, test in a meeting room, and ensure newly joined users view the shared screen.
Add the record meeting feature to the WebRTC video conference app by updating the WebRTC controller.js, testing with the record button, and choosing what to record, with Chrome ensuring audio.
Add a text chat feature to WebRTC video conference by updating meeting_room.js to generate random colors for initials, wire chat handling in web_rtc_controller.js, and configure server.js to send messages.
Learn to implement file sharing in a WebRTC video conference app by updating the RTC controller JS and server.js to enable uploads and sharing in the meeting room.
Add leave meeting feature to a WebRTC app with live meeting button, updating WebRTC controller.js and server.js to notify users and reduce participant count, then return to start page.
Learn how to deploy a WebRTC video conferencing app to a web hosting server using cPanel and Node.js, and understand the difference between web hosting and application deployment.
Explore four essential server criteria for deploying a WebRTC video conference app: Node.js support, an SSL certificate, regional availability, and price considerations.
Learn how to buy hosting and a domain for a web rtc video conference, evaluate providers like HostNick, compare pricing, and enable ssl and node.js support for secure deployment.
Log in to cPanel, install NodeJS and SSL, upload and configure WebRTC app files (package.json and server.js), run npm install, and start the app to test on the domain.
Learn about common deployment problems in WebRTC video conferences on hosting servers, including SSL certificate issues and audio device failures, with practical SSL and device troubleshooting steps.
Verify mic, recording, and camera, screen share, chat, file sharing, and leaving meeting on WebRTC app across devices, deployment tweaks for internet (port 443, secure true) or localhost (port 8080).
Estimate the number of participants for a WebRTC meeting by real-device tests, journal-based calculations, and multi-tab browser simulations, then consider hosting computer, server, and bandwidth factors.
Perform black box functionality testing on a deployed WebRTC video conference app, validating features from start meeting to screen share and participant updates using a testing table.
Learn to monitor a WebRTC video conference app’s workload with task manager, tracking CPU, memory, and GPU while testing features like camera, mic, and share screen for black box results.
Learn how to perform WebRTC performance evaluation by measuring throughput, delay, jitter, and packet loss using Wireshark, with step-by-step sampling across audio, video, and features.
Explain how to apply Typhon standard quality of service analysis to a WebRTC app, evaluating throughput, delay, jitter, and packet loss to rate performance as excellent, good, or poor.
Create a Google Meet clone UI featuring virtual background, audio visualizer, and optional MySQL database integration. Set up a Node.js project with Express and Socket.io, scaffolding public and views folders.
Create account setting user interface for a Google Meet clone: design and toggle sign in, sign up, and user profile dialogs with responsive css, show/hide logic, and accessible interactions.
Build a configuration UI for a WebRTC meeting app by implementing an audio visualizer, device selection, and a virtual background, integrated with sign up and sign in flows.
Learn to implement sign-up and sign-in dialogs for a video conference by configuring a MySQL database, creating user tables with full name, email, and password, and managing sessions in server.js.
Build the meeting room user interface for a Google Meet clone using JavaScript and CSS, featuring video panels, mini videos, and bottom buttons.
Implement a start meeting feature for a Google Meet clone by enforcing sign-in, handling default and selected mic and camera devices, and adding room creation with unique IDs.
Creating a WebRTC based video conference system can be quiet challenging, especially if you are a complete newbie. Tasks that seem so simple turn out to be more complicated than expected, and it happened many times. For example, when you wish to acquire the names of connected users, having thought it’d be easy to achieve but actually take a very long time to get it to work, or may not work at all. Furthermore, not many references out there, whether from books or internet sources, that contain accurate information on how to successfully build and deploy a WebRTC app. There be the case, and that’s precisely why this course is here. In this course you will learn basic knowledge of what WebRTC is, the preparation needed to implement it from scratch, step by step programming, app deployment, performance evaluation and some coding tips. The WebRTC video conference app in this course, include some features:
Start a new meeting
Join an existing meeting
User validation with invitation and passcode
Dynamic date
Display users' mini video
Display users' main video
Count number of participants
Microphone control
Camera control
Share screen (get shared screen on join meeting, show shared screen after user change main video)
Record screen
Text chat
File sharing
Leave meeting
Running App using different devices (PC, laptop, tablet & smartphone)
App deployment to cPanel hosting server
Performance evaluation