本章主要对整体课程进行介绍,以及学习方法的指导。1-1 -课前必读((不看会错过一个亿))1-2 WebRTC源码剖析课程导学 (22:05)
第2章 WebRTC的整体架构通过本章内容可以掌握 WebRTC 源码的整体框架,简要概述一下全章的内容2-1 WebRTC整体架构-如何对WebRTC源码进行分析(加片头) (04:14)2-2 音视频直播的由来 (09:24)2-3 直播技术的方向 (08:22)2-4 实时互动直播的难点 (12:07)2-5 几个重要指标和评测方法 (11:41)2-6 为什么要使用WebRTC (08:52)2-7 WebRTC整体架构 (08:26)
第3章 WebRTC源码分析环境的搭建通过本章学习可以掌握如何编译WebRTC源码,并建立调试环境3-1 WebRTC开发环境搭建概述 (加片头) (03:59)3-2 获取WebRTC源码 (11:22)3-3 编译WebRTC的必备工具 (06:30)3-4 编译WebRTC源码 (09:18)3-5 WebRTC中的重要Demo (04:59)
第4章 开启WebRTC源码分析之路通过本章学习,主要掌握WebRTC对外提供了哪些接口,这些接口内部的实现逻辑。4-1 分析WebRTC必经之路章节概述 (1) (03:16)4-2 一对一实时通信架构 (07:19)4-3 peerconnection_client的构成 (06:50)4-4 几个重要的信令 (03:38)4-5 WebRTC中的媒体协商 (06:22)4-6 完美协商 (06:52)4-7 Windows窗口与消息 (09:27)4-8 实战-实现一个最简单的Windows应用程序 (06:48)4-9 peerconnection-client界面实现 (08:16)4-10 源码分析-client界面 (15:36)4-11 信令逻辑 (09:12)4-12 源码分析-信令的实现 (15:59)4-13 WebRTC-Native开发过程 (17:59)4-14 源码分析-媒体协商 (10:29)4-15 源码分析-视频渲染 (09:15)
第5章 抓住WebRTC的脉络 (深入理解WebRTC的线程模型)通过本章学习,主要掌握WebRTC的线程模型,它是如何使用多线程来提高效率的,这样使用线程的好处是什么。5-1 WebRTC线程模型概述 (05:48)5-2 线程基础知识 (09:32)5-3 常见的线程模型 (06:13)5-4 WebRTC中的线程 (12:13)5-5 WebRTC中的线程管理 (11:24)5-6 WebRTC三大线程 (11:44)5-7 WebRTC线程的启动与运行 (13:37)5-8 WebRTC事件处理基础知识 (13:02)5-9 WebRTC线程事件处理 (18:41)5-10 WebRTC接口宏 (09:55)5-11 WebRTC接口的设计原理 (10:06)5-12 WebRTC接口调用过程 (16:28)5-13 Post方法进行线程切换 (08:15)
第6章 开始“聊天”之前先认识一下 (WebRTC媒体协商)通过本章主要掌握WebRTC底层到底是如何讨价还价的(协商的)。6-1 WebRTC媒体协商--综述 (06:18)6-2 SDP协议 (12:51)6-3 WebRTC中的SDP类结构 (11:51)6-4 如何生成SDP (11:33)6-5 编解码器信息的收集 (10:33)6-6 编解码器信息的收集之二 (26:26)6-7 源码分析-CreateOffer之一 (14:18)6-8 CreateOffer源码分析之二 (15:56)6-9 源码分析-SetLocalDescription之一 (21:04)6-10 源码分析-SetLocalDescription之二 (13:38)6-11 收集Candidate的过程 (13:28)6-12 生成SDP文本信息 (14:51)6-13 解析SDP文本信息 (11:46)6-14 源码分析-CreateAnswer (15:23)6-15 源码分析-SetRemoteDescription (18:32)
第7章 音频数据采集通过本章学习,主要掌握WebRTC是如何在不同的平台上采集音频数据的。7-1 音频数据采集与播放概述 (05:24)7-2 ADM的创建 (11:16)7-3 CoreAudio基本开概念 (11:46)7-4 CoreAudio-API (17:36)7-5 AudioDeviceWindowsCore的构造函数 (17:09)7-6 ADM初始化 (07:54)7-7 源码分析-ADM初始化之枚举音频设备 (18:18)7-8 ADM初始化之InitSpeaker (09:02)7-9 ADM初始化之设置通道数 (08:37)7-10 ADM初始化之InitMicrophone (07:06)7-11 AudioState (06:07)7-12 Engine_PeerConnection_Call等对象之间的关系 (13:21)7-13 打开播放设备 (09:34)7-14 InitPlay基础知识 (16:12)7-15 InitPlayout源码分析 (18:18)7-16 播放声音的基础API (09:16)7-17 播放声音的具体流程 (05:59)7-18 源码分析-StartPlayout (19:52)7-19 再论音频DMO (19:41)7-20 源码分析-InitRecording (20:08)7-21 StartRecording处理逻辑 (07:06)7-22 源码分析-StartRecording (10:54)
第8章 视频数据采集通过本章学习,主要掌握WebRTC是如何在不同的平台上采集视频数据的。8-1 视频采集概述 (03:30)8-2 DirectShow基础知识 (09:39)8-3 WebRTC视频采集整体架构 (05:37)8-4 视频处理流程的建立 (12:07)8-5 源码分析-视频处理流程的建立 (11:44)8-6 构造设备信息对象 (09:52)8-7 获音视频设备信息基础知识 (07:05)8-8 源码分析-获取视频设备信息 (07:21)8-9 创建并初始化VideoCapture (09:20)8-10 源码分析-构造并初始化VideoCapture (14:56)8-11 获取CaptureFilter (07:13)8-12 获取CaptureFilter的输出Pin (11:10)8-13 构造SinkFilter (13:11)8-14 源码分析-SinkFilter的构造 (07:08)8-15 获取SinkFilter的输入Pin (10:37)8-16 Filter之间的连接 (14:30)8-17 SetCameraOutput (14:49)8-18 源码分析-连接Filter(一) (17:41)8-19 源码分析-连接Filter(二) (12:00)8-20 输出采集后的视频数据 (08:59)
第9章 音频引擎(音频编解码)本章主要讲解除WebRTC如何选择不同的音频编解码器,如何利用选择好的编解除码器进行编解码的。9-1 音频引擎章节概述 (05:23)9-2 音频引擎架构 (12:43)9-3 创建音频引擎 (11:35)9-4 音频初始化之编解码器的收集 (11:39)9-5 音频初始化之AudioState对象的创建 (08:25)9-6 音频引擎初始化之获取音频数据 (13:47)9-7 Channel-Stream与编解码器 (14:54)9-8 创建音频编码器之一 (15:30)9-9 创建Opus编码器 (23:01)9-10 音频编码 (10:25)9-11 音频解码器的创建 (20:10)9-12 音频解码 (09:06)
第10章 视频引擎(视频编解码)本章主要讲解除WebRTC如何选择不同的视频编解码器,如何利用选择好的编解除码器进行编解码的。10-1 视频引擎章节概述 (06:49)10-2 视频数据采集的时间 (10:04)10-3 视频分发器VideoBroadcaster (13:51)10-4 视频数据是如何进入视频分发器的 (10:54)10-5 视频引擎及其作用 (13:05)
第11章 深入理解WebRTC网络传输通过本章学习,主要掌握WebRTC是如何建立网络连接,如何选择最优质的连接点,如何进行数据加密,又是如何传输数据的。
第12章 WebRTC服务质量(Qos)通过本章学习,主要掌握WebRTC是如何提高服务质量的。如何在极端网络情况下还能何障服务质量。
第13章 NetEQ本章主要讲解NetEQ的内容,看它是如何对音频数据进行平滑处理的。
第14章 Simulcast与SVC本章主要掌握WebRTC与SFU服务器如何配合最终根据用户的带宽情况提供更好的服务的。
第15章 课程总结课程总体内容总结