百万级高并发WebRTC流媒体服务器设计与开发课程介绍:
本课就将围绕与浏览器互通、级联、可扩展等6大痛点手把手带你学习大负载、高并发、高性能 WebRTC 流媒体服务器的设计与开发,揭秘万人互动直播背后的深层奥秘,打造可负载百万用户量的企业级的流媒体服务器。
课程目录:
- 第1章 课程导学与准备工作 试看2 节 | 19分钟
- 本章主要介绍为何要学习WebRTC流媒体服务器开发,以及本门课能为我们带来哪些收获。之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。
- 收起列表
-
- 图文:1-1 课前必读(不看会错过一个亿)
- 视频:1-2 导学 (18:54)试看
- 第2章 C++语言基础回顾【已掌握,可略过】 试看10 节 | 107分钟
- 为了便于大家更好的学习流媒体服务器的开发,本章将带大家对WebRTC服务器开发中用到的C++基础知识进行回顾梳理,如类的定义与使用,继承,多态,名存空间等相关知识。
- 收起列表
-
- 视频:2-1 C++知识回顾之helloworld (08:41)
- 视频:2-2 类的定义和实现 (12:46)
- 视频:2-3 类的使用 (08:28)
- 视频:2-4 命名空间 (10:44)
- 视频:2-5 继承1 (18:19)
- 视频:2-6 继承2 (14:35)
- 视频:2-7 多态 (16:55)
- 视频:2-8 内存地址空间与指针 (05:56)
- 视频:2-9 堆空间与栈空间 (06:01)
- 视频:2-10 深拷贝与浅拷贝 (04:09)试看
- 第3章 服务器基础编程 试看7 节 | 81分钟
- 本章将带你学习最基础的服务器开发,让你体会服务器开发其实如此简单。
- 收起列表
-
- 视频:3-1 一个最简单的服务器 (19:17)试看
- 视频:3-2 Linux系统下的信号 (10:48)
- 视频:3-3 几个重要的信号 (09:54)
- 视频:3-4 信号的发送与处理 (08:24)
- 视频:3-5 通过 sigaction 安装信号 (09:09)
- 视频:3-6 以fork的方式创建后台进程 (14:17)
- 视频:3-7 以daemon方式切换到后台 (08:49)
- 第4章 网络编程基础6 节 | 71分钟
- 本章将带你了解如何在服务端开发网络服务器程序。
- 收起列表
-
- 视频:4-1 TCPServer实现原理 (06:18)
- 视频:4-2 TCPServer的实现1 (17:51)
- 视频:4-3 TCPServer的实现2 (17:12)
- 视频:4-4 TCP客户端的实现 (22:35)
- 视频:4-5 作业-UDP服务端与客户端的实现 (03:32)
- 视频:4-6 作业-实现一个TCP/UDP网络服务器 (02:51)
- 第5章 异步I/O事件处理3 节 | 52分钟
- 本章将带你掌握异步IO事件处理原理。
- 收起列表
-
- 视频:5-1 通过fork的方式实现高性能网络服务器 (13:26)
- 视频:5-2 通过select实现高性能服务器 (28:21)
- 视频:5-3 再论select函数 (10:09)
- 第6章 epoll实现高性能服务器4 节 | 67分钟
- 本章将带你学习Linux下最高效的异步IO事件处理函数epoll的使用。
- 收起列表
-
- 视频:6-1 epoll基本知识 (10:27)
- 视频:6-2 epoll高性能服务器的实现1 (18:51)
- 视频:6-3 epoll高性能服务器的实现2 (19:25)
- 视频:6-4 epoll+fork进行性能优化 (17:57)
- 第7章 libevent实现高性能网络服务器3 节 | 48分钟
- 本章将带你了解几个比较著名的开源事件处理库,epoll使用起来比较复杂,很多开源项目对epoll进行了封装,如libevent、libuv等,本章还会传授你如何提高开发网络异步IO服务器的效率。
- 收起列表
-
- 视频:7-1 比较有名的异步IO处理库的介绍 (12:07)
- 视频:7-2 libevent实现高性能服务器 (32:20)
- 视频:7-3 作业-libuv实现对UDP的处理 (03:07)
- 第8章 TCP/IP详解9 节 | 81分钟
- 本章将带你深入TCP/IP原理,对TCP协议、TCP三次握手、TCP四次挥手、UDP与RTP等核心内容做深入剖析。
- 收起列表
-
- 视频:8-1 IP协议详解 (10:14)
- 视频:8-2 TCP协议详解 (15:03)
- 视频:8-3 TCP三次握手 (05:05)
- 视频:8-4 TCP四次挥手 (10:46)
- 视频:8-5 TCP_ACK_机制 (08:05)
- 视频:8-6 TCP滑动窗口 (08:53)
- 视频:8-7 UDP与RTP (12:11)
- 视频:8-8 实时通信TCP_UDP的选择 (06:16)
- 视频:8-9 TCP在实时通信中的作用 (04:27)
- 第9章 UDP/RTP/RTCP 详解7 节 | 53分钟
- 本章将对UDP/RTP做深入讲解,重点带大家学习RTCP协议中的各个报文。
- 收起列表
-
- 视频:9-1 RTP包的使用 (05:33)
- 视频:9-2 RTCP协议头的分析 (06:41)
- 视频:9-3 RTCP PayloadType 介绍 (10:18)
- 视频:9-4 RTCP SR 包文详解 (09:59)
- 视频:9-5 RTCP RR SDES 报文介绍 (07:27)
- 视频:9-6 BYE APP 报文介绍 (04:25)
- 视频:9-7 RTCP FB 协议介绍 (08:36)
- 第10章 WebRTC协议9 节 | 84分钟
- 本章带你学习在多方通信时,该如何保障音视频的服务质量,一是从网络上如何进行优化,如防拥塞,流控,防抖动等;二是在音视频内容上如何进行优化,如SVC,多流,动态码率等。
- 收起列表
-
- 视频:10-1 STUN协议介绍 (09:17)
- 视频:10-2 STUN Message Type消息 (08:36)
- 视频:10-3 STUN Message type详解 (07:15)
- 视频:10-4 STUN body详解 (07:04)
- 视频:10-5 ICE工作原理 (11:08)
- 视频:10-6 加密解密基本概念 (13:15)
- 视频:10-7 OpenSSL概念及使用 (08:33)
- 视频:10-8 DTLS协议详解 (08:46)
- 视频:10-9 TLS-SRTP协议讲解 (10:04)
- 第11章 SDP协议与WebRTC媒体协商【需花大力气牢牢掌握】6 节 | 62分钟
- SDP协议与媒体协商是WebRTC中的核心,同时也是 WebRTC的核心,本章将带你真正理解 WebRTC流媒体服务器是如何将多人联系到一起的。
- 收起列表
-
- 视频:11-1 媒体协商过程 (09:41)
- 视频:11-2 SDP协议简介 (05:59)
- 视频:11-3 SDP描述信息 (05:55)
- 视频:11-4 SDP关键字段的含义及其使用 (12:22)
- 视频:11-5 WebRTC中的SDP (11:38)
- 视频:11-6 WebRTC中SDP各字段含义详解 (16:08)
- 第12章 各流媒体服务器的比较8 节 | 65分钟
- 本章将介绍几种多方通信的架构模型,以及比较有名的开源项目的优劣情况,并传授大家如何选择出最适自己或适合团队的开源项目。
- 收起列表
-
- 视频:12-1 多人互动架构方案 (11:06)
- 视频:12-2 Mesh架构模型详解 (08:39)
- 视频:12-3 MCU架构模型详解 (06:51)
- 视频:12-4 SFU架构模型详解 (08:00)
- 视频:12-5 Licode流媒体服务器架构和特点 (06:31)
- 视频:12-6 Janus流媒体服务器的架构及特点 (10:04)
- 视频:12-7 Medooze流媒体服务器架构及特点 (06:48)
- 视频:12-8 Mediasoup流媒体服务器架构及特点 (07:01)
- 第13章 mediasoup服务器的布署与使用6 节 | 71分钟
- 本章将带你了解一个真正的多方通信是如何搭建起来的。
- 收起列表
-
- 视频:13-1 Mediasoup的运行环境 (11:00)
- 视频:13-2 Mediasoup Demo的布署 (20:05)
- 视频:13-3 通过Nodejs实现HTTP服务 (09:06)
- 视频:13-4 HTTPS基本知识 (06:42)
- 视频:13-5 通过WWW服务发布mediasoup客户端代码 (19:14)
- 视频:13-6 作业-客户端是如何与信令服务建立连接的 (04:40)
- 第14章 mediasoup的信令系统9 节 | 113分钟
- 本章将讲解如何实现流媒体服务器的信令系统,以及信令与数据转发之间是如何进行配合的。一般信令系统都是整个系统的灵魂,知道了信令的运转就撑握了系统的脉落,这样就能很轻松的知道Mediasoup的运行逻辑了。
- 收起列表
-
- 视频:14-1 mediasoup-demo整体分析 (11:46)
- 视频:14-2 JavaScript基本语法一 (12:28)
- 视频:14-3 JavaScript基本语法二 (11:32)
- 视频:14-4 JavaScriptES6高级特性 (06:13)
- 视频:14-5 Promise与EventEmitter详解 (06:17)
- 视频:14-6 剖析serverjs (21:01)
- 视频:14-7 剖析roomjs (20:01)
- 视频:14-8 如何调试MediasoupDemo (12:57)
- 视频:14-9 运行时查看Mediasoup的核心信息 (10:37)
- 第15章 mediasoup源码分析20 节 | 231分钟
- 本章将带你详细了解Mediasoup是如何设计的,它又是如何达到高可用,可扩展的,性能是如何优化的,本章你将不仅领略到高性能流媒体服务器的设计精髓, 知道好的架构设计是如何的优美,也会知道所有高性能服务器的实现都是每个细微处的不断打磨才造就出来的。…
- 收起列表
-
- 视频:15-1 mediasoup库的架构讲解 (16:14)
- 视频:15-2 Mediasoup_JS_的作用 (13:44)
- 视频:15-3 WebRTC中的C++类关系图 (19:03)
- 视频:15-4 Mediasoup启动详解 (17:38)
- 视频:15-5 匿名管道进程间通信的原理 (10:38)
- 视频:15-6 实战通过socketpair进行进程间通信 (17:46)
- 视频:15-7 mediasoup下channel创建的详细过程 (19:36)
- 视频:15-8 mediasoup中的消息确信与发送事件机制 (12:31)
- 视频:15-9 mediasoup的主业务流程1 (15:41)
- 视频:15-10 mediasoup的主业务流程2 (14:40)
- 视频:15-11 mediasoup连接的创建1 (19:36)
- 视频:15-12 mediasoup连接的创建2 (17:21)
- 视频:15-13 mediasoup数据流转1 (14:24)
- 视频:15-14 mediasoup数据流转2 (10:32)
- 视频:15-15 WebRTC流媒体服务器大规模布署方案 (11:25)
- 作业:15-16 哪种服务器性能好?
- 作业:15-17 mediasoup在 Centos下该如何安装?
- 作业:15-18 mediasoup安装好后看不对远端视频
- 作业:15-19 mediasoup在Ubuntu18.04上安装报错
- 作业:15-20 单台mediasoup流媒体服务器能承载多少路流?
- 第16章 课程总结1 节 | 27分钟
- 本章将带领大家全面总结梳理本门课程的思想和核心技术。
- 收起列表
-
- 视频:16-1 小结 (26:42)