Create A Scalable Live Streaming Apps With Mediasoup

Posted By: ELK1nG

Create A Scalable Live Streaming Apps With Mediasoup
Published 11/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.27 GB | Duration: 7h 13m

Learn to build scalable real-time communication apps with MediaSoup for video conferencing and live streaming.

What you'll learn

Connect as many computers in a streaming call as you can manage!

Understand the MediaSoup Architecture and Components

Implement WebRTC Video and Audio Streaming with MediaSoup

Troubleshoot Common MediaSoup Issues and Debugging Techniques

Optimize Bandwidth and Quality with MediaSoup’s BWE

Requirements

JavaScript and Nodejs are requested

A computer with a webcam and mic

We use socketio to build our signaling server. You must know it, or be able to follow me

Exposure to networking

Basic knowledge of WebRTC is highly recommended

Description

Are you ready to create your own video conferencing or live streaming app? Whether you're looking to build a WebRTC-based solution or take your real-time communication skills to the next level, this course will show you how to leverage MediaSoup—the powerful framework designed to handle large-scale, high-quality video and audio communication.Why MediaSoup? Traditional WebRTC is fantastic for peer-to-peer connections, but when it comes to scaling for multiple users, it falls short… not because it's lacking. It was never designed to do that! That’s where MediaSoup comes in. MediaSoup is the go-to solution for building scalable, reliable real-time apps that can handle hundreds or even thousands of users, with fine-grained control over each media stream. Whether you want to build a video conferencing app with hundreds of users or a live streaming app where one broadcaster streams to many, MediaSoup can handle it all.What You’ll Learn: In this project-based course, we’ll dive deep into MediaSoup and build a live streaming app from scratch. Along the way, you’ll learn how to:Set up and configure MediaSoup for real-time video and audio communicationStream live video with scalable architecture using SFU (Selective Forwarding Unit)Implement key features like bandwidth management, dynamic stream adaptation, and network resilienceTroubleshoot common issues and debug your application effectively using MediaSoup’s toolsThroughout the course, you'll gain hands-on experience by building your own application, working through the official MediaSoup documentation, and learning best practices for scalability and performance.Who This Course Is For: This course is perfect for web developers, fullstack/Node.js engineers, and anyone passionate about real-time communication who wants to take their skills to the next level. You'll need to be familiar with JavaScript and Node.js, and we’ll work with socketio for signaling. Don’t worry if you’re not an expert—follow along, and you’ll have everything you need to succeed.Why Choose This Course? When I first explored SFUs and MediaSoup, I found the resources scattered and confusing. This course cuts through the complexity, guiding you step-by-step as you build real-time communication apps. I've been a developer for over 20 years and have spent countless hours in this space. Let me help you gain the skills you need to build powerful apps that scale.By the end of the course, you’ll have the knowledge and experience to build your own live streaming or video conferencing app using MediaSoup, and the confidence to tackle real-world challenges in video and audio communication.Ready to dive in? Sign up today and start building your real-time app with MediaSoup!

Overview

Section 1: Introduction

Lecture 1 Introduction & Course Structure

Lecture 2 Class GitHub Repo

Lecture 3 Why do we need MediaSoup?

Lecture 4 What Can MediaSoup Do? Why An SFU?

Lecture 5 Glossary - refer as needed

Lecture 6 My Development Setup/How I Do Node

Section 2: The Basics

Lecture 7 Build our server, express, socket.io, https

Lecture 8 createWorkers, initMediaSoup, and config

Lecture 9 Create Router (w/MediaCodecs)

Lecture 10 Front-End Starter Files

Lecture 11 Init Connection to Server

Lecture 12 Create and Load Device

Lecture 13 Transport - Whiteboard Explanation

Lecture 14 Create Server Producer Transport (and Transport Docs)

Lecture 15 Create Client Producer Transport

Lecture 16 Connect Producer Transport And Produce

Lecture 17 Create Consumer Transport

Lecture 18 Consume!

Lecture 19 Debugging and Troubleshooting Your Connection

Lecture 20 Loading On Another Device

Lecture 21 Close connection - lots of options!

Section 3: Video Conferencing

Lecture 22 Front-end Setup With Vite

Lecture 23 Add Front-End Markup

Lecture 24 Create Server

Lecture 25 Connecting front-end and back-end

Lecture 26 Task List & joinRoom function/events

Lecture 27 Client Class

Lecture 28 Room class with its own worker and router

Lecture 29 Finish joinRoom event

Lecture 30 Load device on front-end

Lecture 31 Enable Feed

Lecture 32 Send Feed - Part1

Lecture 33 Create Transport Params On Server

Lecture 34 Create Producer (front-end)

Lecture 35 Connect and Produce Events

Lecture 36 Talk through application scenarios - consuming and dominant speaker

Lecture 37 Dominant Speaker

Lecture 38 Mute audio - Test Dominant Speaker

Lecture 39 Optional - Testing Your Connection With getStats

Lecture 40 Start Consuming Process - on joinRoom

Lecture 41 Request Transport - Consumer Updates

Lecture 42 Create Consumer - Front End

Lecture 43 consumeMedia - Server

Lecture 44 Connect(), consume(), and combine & display each stream (finally!!!)

Section 4: The Basics 2.0

Lecture 45 getStats - Getting Data & Troubleshoot Workhorse (same as in Video Conferencing)

Any developer interested in building a live streaming application!