https://coding.imooc.com/class/chapter/387.html#Anchor

    第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 TCPACK机制
    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 MediasoupJS的作用
    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 小结
    本课程已完结