百万级高并发WebRTC流媒体服务器设计与开发【已完结】

  • 第1章 课程导学与准备工作

    本章主要介绍为何要学习WebRTC流媒体服务器开发,以及本门课能为我们带来哪些收获。之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。

    • 1-1 课前必读(不看会错过一个亿)
    • 1-2 导学试看
  • 第2章 C++语言基础回顾【已掌握,可略过】

    为了便于大家更好的学习流媒体服务器的开发,本章将带大家对WebRTC服务器开发中用到的C++基础知识进行回顾梳理,如类的定义与使用,继承,多态,名存空间等相关知识。

    • 2-1 C++知识回顾之helloworld
    • 2-2 类的定义和实现
    • 2-3 类的使用
    • 2-4 命名空间
    • 2-5 继承1
    • 2-6 继承2
    • 2-7 多态
    • 2-8 内存地址空间与指针
    • 2-9 堆空间与栈空间
    • 2-10 深拷贝与浅拷贝试看
  • 第3章 服务器基础编程

    本章将带你学习最基础的服务器开发,让你体会服务器开发其实如此简单。

    • 3-1 一个最简单的服务器试看
    • 3-2 Linux系统下的信号
    • 3-3 几个重要的信号
    • 3-4 信号的发送与处理
    • 3-5 通过 sigaction 安装信号
    • 3-6 以fork的方式创建后台进程
    • 3-7 以daemon方式切换到后台
  • 第4章 网络编程基础

    本章将带你了解如何在服务端开发网络服务器程序。

    • 4-1 TCPServer实现原理
    • 4-2 TCPServer的实现1
    • 4-3 TCPServer的实现2
    • 4-4 TCP客户端的实现
    • 4-5 作业-UDP服务端与客户端的实现
    • 4-6 作业-实现一个TCP/UDP网络服务器
  • 第5章 异步I/O事件处理

    本章将带你掌握异步IO事件处理原理。

    • 5-1 通过fork的方式实现高性能网络服务器
    • 5-2 通过select实现高性能服务器
    • 5-3 再论select函数
  • 第6章 epoll实现高性能服务器

    本章将带你学习Linux下最高效的异步IO事件处理函数epoll的使用。

    • 6-1 epoll基本知识
    • 6-2 epoll高性能服务器的实现1
    • 6-3 epoll高性能服务器的实现2
    • 6-4 epoll+fork进行性能优化
  • 第7章 libevent实现高性能网络服务器

    本章将带你了解几个比较著名的开源事件处理库,epoll使用起来比较复杂,很多开源项目对epoll进行了封装,如libevent、libuv等,本章还会传授你如何提高开发网络异步IO服务器的效率。

    • 7-1 比较有名的异步IO处理库的介绍
    • 7-2 libevent实现高性能服务器
    • 7-3 作业-libuv实现对UDP的处理
  • 第8章 TCP/IP详解

    本章将带你深入TCP/IP原理,对TCP协议、TCP三次握手、TCP四次挥手、UDP与RTP等核心内容做深入剖析。

    • 8-1 IP协议详解
    • 8-2 TCP协议详解
    • 8-3 TCP三次握手
    • 8-4 TCP四次挥手
    • 8-5 TCP_ACK_机制
    • 8-6 TCP滑动窗口
    • 8-7 UDP与RTP
    • 8-8 实时通信TCP_UDP的选择
    • 8-9 TCP在实时通信中的作用
  • 第9章 UDP/RTP/RTCP 详解

    本章将对UDP/RTP做深入讲解,重点带大家学习RTCP协议中的各个报文。

    • 9-1 RTP包的使用
    • 9-2 RTCP协议头的分析
    • 9-3 RTCP PayloadType 介绍
    • 9-4 RTCP SR 包文详解
    • 9-5 RTCP RR SDES 报文介绍
    • 9-6 BYE APP 报文介绍
    • 9-7 RTCP FB 协议介绍
  • 第10章 WebRTC协议

    本章带你学习在多方通信时,该如何保障音视频的服务质量,一是从网络上如何进行优化,如防拥塞,流控,防抖动等;二是在音视频内容上如何进行优化,如SVC,多流,动态码率等。

    • 10-1 STUN协议介绍
    • 10-2 STUN Message Type消息
    • 10-3 STUN Message type详解
    • 10-4 STUN body详解
    • 10-5 ICE工作原理
    • 10-6 加密解密基本概念
    • 10-7 OpenSSL概念及使用
    • 10-8 DTLS协议详解
    • 10-9 TLS-SRTP协议讲解
  • 第11章 SDP协议与WebRTC媒体协商【需花大力气牢牢掌握】

    SDP协议与媒体协商是WebRTC中的核心,同时也是 WebRTC的核心,本章将带你真正理解 WebRTC流媒体服务器是如何将多人联系到一起的。

    • 11-1 媒体协商过程
    • 11-2 SDP协议简介
    • 11-3 SDP描述信息
    • 11-4 SDP关键字段的含义及其使用
    • 11-5 WebRTC中的SDP
    • 11-6 WebRTC中SDP各字段含义详解
  • 第12章 各流媒体服务器的比较

    本章将介绍几种多方通信的架构模型,以及比较有名的开源项目的优劣情况,并传授大家如何选择出最适自己或适合团队的开源项目。

    • 12-1 多人互动架构方案
    • 12-2 Mesh架构模型详解
    • 12-3 MCU架构模型详解
    • 12-4 SFU架构模型详解
    • 12-5 Licode流媒体服务器架构和特点
    • 12-6 Janus流媒体服务器的架构及特点
    • 12-7 Medooze流媒体服务器架构及特点
    • 12-8 Mediasoup流媒体服务器架构及特点
  • 第13章 mediasoup服务器的布署与使用

    本章将带你了解一个真正的多方通信是如何搭建起来的。

    • 13-1 Mediasoup的运行环境
    • 13-2 Mediasoup Demo的布署
    • 13-3 通过Nodejs实现HTTP服务
    • 13-4 HTTPS基本知识
    • 13-5 通过WWW服务发布mediasoup客户端代码
    • 13-6 作业-客户端是如何与信令服务建立连接的
  • 第14章 mediasoup的信令系统

    本章将讲解如何实现流媒体服务器的信令系统,以及信令与数据转发之间是如何进行配合的。一般信令系统都是整个系统的灵魂,知道了信令的运转就撑握了系统的脉落,这样就能很轻松的知道Mediasoup的运行逻辑了。

    • 14-1 mediasoup-demo整体分析
    • 14-2 JavaScript基本语法一
    • 14-3 JavaScript基本语法二
    • 14-4 JavaScriptES6高级特性
    • 14-5 Promise与EventEmitter详解
    • 14-6 剖析serverjs
    • 14-7 剖析roomjs
    • 14-8 如何调试MediasoupDemo
    • 14-9 运行时查看Mediasoup的核心信息
  • 第15章 mediasoup源码分析

    本章将带你详细了解Mediasoup是如何设计的,它又是如何达到高可用,可扩展的,性能是如何优化的,本章你将不仅领略到高性能流媒体服务器的设计精髓, 知道好的架构设计是如何的优美,也会知道所有高性能服务器的实现都是每个细微处的不断打磨才造就出来的。…

    • 15-1 mediasoup库的架构讲解
    • 15-2 Mediasoup_JS_的作用
    • 15-3 WebRTC中的C++类关系图
    • 15-4 Mediasoup启动详解
    • 15-5 匿名管道进程间通信的原理
    • 15-6 实战通过socketpair进行进程间通信
    • 15-7 mediasoup下channel创建的详细过程
    • 15-8 mediasoup中的消息确信与发送事件机制
    • 15-9 mediasoup的主业务流程1
    • 15-10 mediasoup的主业务流程2
    • 15-11 mediasoup连接的创建1
    • 15-12 mediasoup连接的创建2
    • 15-13 mediasoup数据流转1
    • 15-14 mediasoup数据流转2
    • 15-15 WebRTC流媒体服务器大规模布署方案
  • 第16章 课程总结

    本章将带领大家全面总结梳理本门课程的思想和核心技术。

    • 16-1 小结

发表评论