
Master web real-time communications basics, including peer-to-peer video, audio, and data exchange. Build a medical WebRTC app with signaling, get user media, and screen sharing.
Meet Simon, CEO of agility feet, and learn how his remote, distributed team builds real-time web applications with WebRTC, WebSockets, and publish-subscribe messaging.
Explore how WebRTC enables peer-to-peer video chat in the browser without plugins, using JavaScript, a signaling server, and get user media to securely exchange audio, video, and data.
Web RTC enables plugin-free, browser-based video with peer-to-peer, encrypted traffic after signaling. Signaling isn’t encrypted, and large calls (about 4–8 participants) scale poorly without commercial platforms.
Set up a node.js and express server for web rtc applications. Create a project with package.json, install dependencies, configure views and public assets, and run on port 3000.
Learn to use the getUserMedia API to capture video and audio for WebRTC. Apply constraints to enable audio and video, attach stream to a video element, and handle browser compatibility.
Explore how getUserMedia captures video and audio, manage permissions policies across Chrome and Firefox, handle denials gracefully, and design clear user indicators for camera usage on secure sites.
Configure WebRTC video quality by adjusting getUserMedia constraints, including maximum width and height, and manage the camera source with a dropdown to apply new constraints.
Learn how WebRTC behaves across browsers and apply practical fallbacks for get user media, including handling undefined APIs and cross-browser video source selection.
Capture a profile picture with get user media and WebRTC, processing the video via a canvas to display an image. Compare Chrome and Firefox behavior to note browser differences.
Explain signaling for WebRTC, detailing the offer and answer with the session description protocol, the signaling server, and ICE candidates using direct, STUN, or TURN methods.
Introduce signaling for a WebRTC app with socket.io and Express, creating a chat-room signaling channel. Clean up the UI and wire socket connections to broadcast room announcements.
Configure a real-time chat with socket.io in an express app, broadcasting messages to a chat room with author and text, validating the socket connection before WebRTC signaling.
Implement WebRTC signaling by joining a signaling room, exchanging offers and ICE candidates, and establishing a peer connection using a Node/Express/socket.io backend and a Google STUN server.
Set up a signaling channel with socket.io, join both chat and signaling rooms, and handle signaling messages to prepare for an rtc peer-to-peer connection using the w3c example.
Implement a complete signaling flow for WebRTC by configuring a signaling server, exchanging sdp offers and answers, and handling ice candidates to enable peer connections.
Explore the RTC data channel in a peer connection, with reliable and unreliable modes. Learn encryption over the peer to peer connection, with text chat and file transfer.
Set up a peer-to-peer data channel in WebRTC to run a simple text chat, duplicating messages over both socket IO and the RTC data channel.
Transfer files peer-to-peer over the data channel in WebRTC, slicing into 16 kilobyte chunks, exchanging file name and size via socket IO, and tracking progress with a progress bar.
Learn to transfer files peer-to-peer over a web rtc data channel, sending file name and size via socket.io, and slicing data into 16 kilobyte chunks for rebuild at receiver.
Discover how the data channel enables peer-to-peer encrypted text chat and file transfer, supports telemedicine, remote assistance, game state sharing, and secure sensor and IoT communications.
Explore how to implement screen sharing in a WebRTC app by attaching a read-only desktop stream to a video element and managing Chrome and Firefox extensions.
Demonstrates a web rtc screen sharing flow with a get screen media call, a chrome extension, and inline installation, wiring the shared stream into a video element.
Set up a simple telemedicine app based on WebRTC, featuring patient and doctor roles, a waiting queue, and a peer-to-peer, encrypted video, audio, and data flow.
Learn the starter Weber RTC medical app’s project structure and setup, install dependencies, run the server, and test the patient–doctor flow with the basic video screen.
Implement socket.io signaling to connect a patient and doctor, establishing a signaling route and room for WebRTC call setup.
Implement the socket IO signaling layer for a medical app, exchange patient and doctor names, update chat headers, and prep for WebRTC video chat signaling.
Adjust local media streams by muting the audio and pausing the video tracks to protect user privacy, prevent echo, and ensure clear peer communication in the WebRTC app.
Learn to add a data channel to a WebRTC app and implement a basic text chat between patient and doctor, including UI updates, signaling setup, and message handling.
Add file exchange via the WebRTC data channel in the medical app, enabling peer-to-peer, encrypted transfers, with a file input, 16-chunk transfer, progress bar, and download links.
Learn to add screen sharing to a medical app using the get screen media library, browser extensions, and a patient-initiated flow to share screen or a window via RTC.
Test and implement real-time screen sharing in a two-person medical video chat app by toggling share screen on and off, verifying SSL deployment, and ensuring updates between patient and doctor.
Explore next steps to advance a WebRTC medical app by adding authentication, multi-party calls, doctor availability, UI overlays, and strengthened in-transit privacy and security.
Learn essential user interaction patterns for WebRTC apps, including micro interactions, status indicators, overlays for mute and camera, multi-party cues, and responsive layouts for screen sharing and chat.
Explore how WebRTC uses peer-to-peer connections and encryption for voice, video, and data in transit. Note that signaling, not covered by WebRTC, may lack encryption.
Review the core WebRTC topics, including signaling and peer-to-peer encrypted connections, the getUserMedia API, and data channels for video, audio, and file transfer.
Explore diverse WebRTC use cases, from videoconferencing and one-to-one video chat to telemedicine, screen sharing, and real-time data exchange via secure, encrypted data channels.
Explore ongoing learning resources for WebRTC, from official WebRTC.org and Google updates to tutorials, blogs, newsletters, conferences, and open source frameworks that enrich your applications.
Explore the dynamic WebRTC space, where standards evolve and vendors come and go, as the technology matures and gains acceptance in large companies, public projects, and startup ventures.
In this Introduction to WebRTC training course, expert author Arin Sime teaches you the basic concepts of WebRTC development. This course is designed for users that already have a basic understanding of JavaScript and HTML.
You will start with an overview of WebRTC, then jump into WebRTC in a single browser. From there, Arin will teach you about WebRTC signaling, WebRTC for data exchange, and screen sharing in a WebRTC application. This video tutorial also includes a WebRTC case study where WebRTC is used to build a sample medical application with video and audio chat, text messaging, file transfer, and screen sharing. Finally, you will learn about user interaction patterns and security and privacy considerations.
Once you have completed this computer based training course, you will be familiar with the basic concepts of WebRTC development and be able to apply them to add voice, audio, and data channels into web applications. Working files are included, allowing you to follow along with the author throughout the lessons.