WebRTC源码级深度解析
音视频领域资深讲师授课,带你领略优秀开源库精妙所在
当下音视频行业发展火爆,WebRTC作为优秀的音视频开源库,被大范围的应用在各种音视频业务中,对于高级音视频开发者来说,需要具备业务适用性改造能力。对于音视频开发者来说,学习、分析WebRTC,从中借鉴好的经验,是极具价值的。
适合人群
从事音视频开发,想提升自己能力的同学
有3-5年开发经验想转行音视频开发的同学
技术储备
熟练掌握C++
有音视频基础
环境参数
操作系统 Win10
开发环境 VS2019
[wm_notice]试看链接:https://www.aliyundrive.com/s/nv2hdfqDN7V[/wm_notice]
章节目录:
-
第1章 课程介绍与学习指南 试看2 节 | 23分钟
本章主要对整体课程进行介绍,以及学习方法的指导。
- 图文:1-1 课前必读((不看会错过一个亿))
- 视频:1-2 WebRTC源码剖析课程导学 (22:05)试看
-
第2章 WebRTC的整体架构 试看7 节 | 64分钟
通过本章内容可以掌握 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源码分析环境的搭建5 节 | 37分钟
通过本章学习可以掌握如何编译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源码分析之路15 节 | 138分钟
通过本章学习,主要掌握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的线程模型) 试看13 节 | 147分钟
通过本章学习,主要掌握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媒体协商)15 节 | 219分钟
通过本章主要掌握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章 音频数据采集 15 节 | 178分钟
通过本章学习,主要掌握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)
-
第8章 视频数据采集
通过本章学习,主要掌握WebRTC是如何在不同的平台上采集视频数据的。
-
第9章 音频引擎(音频编解码)
本章主要讲解除WebRTC如何选择不同的音频编解码器,如何利用选择好的编解除码器进行编解码的。
-
第10章 视频引擎(视频编解码)
本章主要讲解除WebRTC如何选择不同的视频编解码器,如何利用选择好的编解除码器进行编解码的。
-
第11章 深入理解WebRTC网络传输
通过本章学习,主要掌握WebRTC是如何建立网络连接,如何选择最优质的连接点,如何进行数据加密,又是如何传输数据的。
-
第12章 WebRTC服务质量(Qos)
通过本章学习,主要掌握WebRTC是如何提高服务质量的。如何在极端网络情况下还能何障服务质量。
-
第13章 NetEQ
本章主要讲解NetEQ的内容,看它是如何对音频数据进行平滑处理的。
-
第14章 课程总结
课程总体内容总结
-
第15章 Simulcast与SVC
本章主要掌握WebRTC与SFU服务器如何配合最终根据用户的带宽情况提供更好的服务的。