课程介绍
本课程来自某课网官网售价499元,you本站精心整理,是一门WebRTC源码级深度解析的视频教程,本教程带你系统的学习优秀的音视频开源库WebRTC,拆解 WebRTC 高阶知识,整体架构、各 API 、代码,逐个击破。帮助你深度理解 WebRTC 原理,掌握WebRTC,一举成为音视频开发团队的骨干成员。
学员评价
qq_神奇海螺_03802819 好评
课程很好 许多东西比较实用 特别是思路
慕***9 好评
讲解循序渐进,通俗易懂,从webrtc通讯原理、特点及应用场景,到后面的深入分析了关键的要素,内容全面,适合音视频从业的同学学习。
课程目录
├── 1-课程介绍与学习指南/
│ └── [ 60M] 1-1 WebRTC源码剖析课程导学
├── 2-WebRTC的整体架构/
│ ├── [ 10M] 2-1 WebRTC整体架构-如何对WebRTC源码进行分析(加片头)
│ ├── [ 15M] 2-2 音视频直播的由来
│ ├── [ 22M] 2-3 直播技术的方向
│ ├── [ 31M] 2-4 实时互动直播的难点
│ ├── [ 29M] 2-5 几个重要指标和评测方法
│ ├── [ 25M] 2-6 为什么要使用WebRTC
│ └── [ 24M] 2-7 WebRTC整体架构
├── 3-WebRTC源码分析环境的搭建/
│ ├── [9.4M] 3-1 WebRTC开发环境搭建概述 (加片头)
│ ├── [ 40M] 3-2 获取WebRTC源码
│ ├── [ 22M] 3-3 编译WebRTC的必备工具
│ ├── [ 32M] 3-4 编译WebRTC源码
│ └── [ 14M] 3-5 WebRTC中的重要Demo
├── 4-开启WebRTC源码分析之路/
│ ├── [7.8M] 4-1 分析WebRTC必经之路章节概述 (1)
│ ├── [ 19M] 4-2 一对一实时通信架构
│ ├── [ 19M] 4-3 peerconnection_client的构成
│ ├── [8.5M] 4-4 几个重要的信令
│ ├── [ 18M] 4-5 WebRTC中的媒体协商
│ ├── [ 19M] 4-6 完美协商
│ ├── [ 20M] 4-7 Windows窗口与消息
│ ├── [ 23M] 4-8 实战-实现一个最简单的Windows应用程序
│ ├── [ 24M] 4-9 peerconnection-client界面实现
│ ├── [ 54M] 4-10 源码分析-client界面
│ ├── [ 23M] 4-11 信令逻辑
│ ├── [ 78M] 4-12 源码分析-信令的实现
│ ├── [ 67M] 4-13 WebRTC-Native开发过程
│ ├── [ 35M] 4-14 源码分析-媒体协商
│ └── [ 39M] 4-15 源码分析-视频渲染
├── 5-抓住WebRTC的脉络 (深入理解WebRTC的线程模型)/
│ ├── [ 14M] 5-1 WebRTC线程模型概述
│ ├── [ 20M] 5-2 线程基础知识
│ ├── [ 13M] 5-3 常见的线程模型
│ ├── [ 47M] 5-4 WebRTC中的线程
│ ├── [ 37M] 5-5 WebRTC中的线程管理
│ ├── [ 54M] 5-6 WebRTC三大线程
│ ├── [ 47M] 5-7 WebRTC线程的启动与运行
│ ├── [ 35M] 5-8 WebRTC事件处理基础知识
│ ├── [ 72M] 5-9 WebRTC线程事件处理
│ ├── [ 27M] 5-10 WebRTC接口宏
│ ├── [ 27M] 5-11 WebRTC接口的设计原理
│ ├── [ 76M] 5-12 WebRTC接口调用过程
│ └── [ 22M] 5-13 Post方法进行线程切换
├── 6-开始“聊天”之前先认识一下 (WebRTC媒体协商)/
│ ├── [9.8M] 6-1 WebRTC媒体协商–综述
│ ├── [ 29M] 6-2 SDP协议
│ ├── [ 46M] 6-3 WebRTC中的SDP类结构
│ ├── [ 31M] 6-4 如何生成SDP
│ ├── [ 28M] 6-5 编解码器信息的收集
│ ├── [ 90M] 6-6 编解码器信息的收集之二
│ ├── [ 40M] 6-7 源码分析-CreateOffer之一
│ ├── [ 85M] 6-8 CreateOffer源码分析之二
│ ├── [ 59M] 6-9 源码分析-SetLocalDescription之一
│ ├── [ 71M] 6-10 源码分析-SetLocalDescription之二
│ ├── [ 56M] 6-11 收集Candidate的过程
│ ├── [ 73M] 6-12 生成SDP文本信息
│ ├── [ 48M] 6-13 解析SDP文本信息
│ ├── [ 65M] 6-14 源码分析-CreateAnswer
│ └── [ 60M] 6-15 源码分析-SetRemoteDescription
├── 7-音频数据采集/
│ ├── [9.7M] 7-1 音频数据采集与播放概述
│ ├── [ 31M] 7-2 ADM的创建
│ ├── [ 32M] 7-3 CoreAudio基本开概念
│ ├── [ 47M] 7-4 CoreAudio-API
│ ├── [ 53M] 7-5 AudioDeviceWindowsCore的构造函数
│ ├── [ 21M] 7-6 ADM初始化
│ ├── [ 68M] 7-7 源码分析-ADM初始化之枚举音频设备
│ ├── [ 32M] 7-8 ADM初始化之InitSpeaker
│ ├── [ 34M] 7-9 ADM初始化之设置通道数
│ ├── [ 23M] 7-10 ADM初始化之InitMicrophone
│ ├── [ 16M] 7-11 AudioState
│ ├── [ 34M] 7-12 Engine_PeerConnection_Call等对象之间的关系
│ ├── [ 33M] 7-13 打开播放设备
│ ├── [ 38M] 7-14 InitPlay基础知识
│ ├── [ 88M] 7-15 InitPlayout源码分析
│ ├── [ 25M] 7-16 播放声音的基础API
│ ├── [ 16M] 7-17 播放声音的具体流程
│ ├── [ 81M] 7-18 源码分析-StartPlayout
│ ├── [ 53M] 7-19 再论音频DMO
│ ├── [ 73M] 7-20 源码分析-InitRecording
│ ├── [ 18M] 7-21 StartRecording处理逻辑
│ └── [ 44M] 7-22 源码分析-StartRecording
├── 8-视频数据采集/
│ ├── [8.4M] 8-1 视频采集概述
│ ├── [ 25M] 8-2 DirectShow基础知识
│ ├── [ 15M] 8-3 WebRTC视频采集整体架构
│ ├── [ 33M] 8-4 视频处理流程的建立
│ ├── [ 50M] 8-5 源码分析-视频处理流程的建立
│ ├── [ 30M] 8-6 构造设备信息对象
│ ├── [ 18M] 8-7 获音视频设备信息基础知识
│ ├── [ 33M] 8-8 源码分析-获取视频设备信息
│ ├── [ 24M] 8-9 创建并初始化VideoCapture
│ ├── [ 50M] 8-10 源码分析-构造并初始化VideoCapture
│ ├── [ 26M] 8-11 获取CaptureFilter
│ ├── [ 31M] 8-12 获取CaptureFilter的输出Pin
│ ├── [ 34M] 8-13 构造SinkFilter
│ ├── [ 24M] 8-14 源码分析-SinkFilter的构造
│ ├── [ 51M] 8-15 获取SinkFilter的输入Pin
│ ├── [ 39M] 8-16 Filter之间的连接
│ ├── [ 40M] 8-17 SetCameraOutput
│ ├── [ 84M] 8-18 源码分析-连接Filter(一)
│ ├── [ 48M] 8-19 源码分析-连接Filter(二)
│ └── [ 32M] 8-20 输出采集后的视频数据
├── 9-音频引擎(音频编解码)/
│ ├── [ 11M] 9-1 音频引擎章节概述
│ ├── [ 33M] 9-2 音频引擎架构
│ ├── [ 39M] 9-3 创建音频引擎
│ ├── [ 44M] 9-4 音频初始化之编解码器的收集
│ ├── [ 23M] 9-5 音频初始化之AudioState对象的创建
│ ├── [ 48M] 9-6 音频引擎初始化之获取音频数据
│ ├── [ 39M] 9-7 Channel-Stream与编解码器
│ ├── [ 50M] 9-8 创建音频编码器之一
│ ├── [119M] 9-9 创建Opus编码器
│ ├── [ 47M] 9-10 音频编码
│ ├── [ 77M] 9-11 音频解码器的创建
│ └── [ 38M] 9-12 音频解码
├── 10-视频引擎(视频编解码)/
│ ├── [ 14M] 10-1 视频引擎章节概述
│ ├── [ 27M] 10-2 视频数据采集的时间
│ ├── [ 37M] 10-3 视频分发器VideoBroadcaster
│ ├── [ 28M] 10-4 视频数据是如何进入视频分发器的
│ ├── [ 36M] 10-5 视频引擎及其作用
│ ├── [ 24M] 10-6 -视频编码器的创建与视频编码流程
│ ├── [ 25M] 10-7 -VideoStreamEncoder的创建
│ ├── [ 30M] 10-8 -获取编解码器参数
│ ├── [ 77M] 10-9 -应用视频编码参数
│ ├── [ 15M] 10-10 -创建WebRtcVideoSendStream的时机
│ ├── [ 16M] 10-11 -创建内部VideoSendStream
│ ├── [ 26M] 10-12 -VP8编码器的创建及编码
│ ├── [ 32M] 10-13 -应用视频解码器参数
│ ├── [ 21M] 10-14 -编解码器CodecID的设置
│ ├── [ 39M] 10-15 -SessionDescription
│ ├── [ 17M] 10-16 -创建WebRtcVideoReceiveStream
│ ├── [ 33M] 10-17 -创建解码器及初始化
│ └── [ 23M] 10-18 -视频解码
├── 11-深入理解WebRTC网络传输/
│ ├── [8.8M] 11-1 -深入理解WebRTC网络传输-概述
│ ├── [ 32M] 11-2 -网络设备管理
│ ├── [ 50M] 11-3 -读取网卡信息的重要API
│ ├── [ 83M] 11-4 -源码分析-CreateNetworks
│ ├── [ 30M] 11-5 -获了本地默认IP地址和端口
│ ├── [ 42M] 11-6 -获取本地默认IP地址
│ ├── [ 35M] 11-7 -ICE@乐学编程网lexuecode.com
│ ├── [ 21M] 11-8 -Candiate
│ ├── [ 38M] 11-9 -创建PortAllocator
│ ├── [ 23M] 11-10 -创建PortAllocatorSession
│ ├── [ 27M] 11-11 -创建AllocationSequence
│ ├── [ 33M] 11-12 -收集Candidate
│ ├── [ 24M] 11-13 -获取本地Canidadate
│ ├── [ 29M] 11-14 -STUN协议
│ ├── [ 27M] 11-15 -发送StunBindingRequest消息
│ ├── [ 17M] 11-16 -收集Srflx类型的Candidate
│ ├── [ 21M] 11-17 -TURN协议基本原理
│ ├── [ 25M] 11-18 -TurnClient与TurnServer的连接过程
│ ├── [ 25M] 11-19 -Turn协议数据传输机制
│ ├── [ 19M] 11-20 -收集Turn类型Candidate(一)
│ ├── [ 17M] 11-21 -收集Turn类型Candidate(二)
│ ├── [ 14M] 11-22 -收集TCP类型的Candidate
│ ├── [ 18M] 11-23 -将获得的Candidate上抛给应用层
│ ├── [ 15M] 11-24 -WebRTC网络连接的建立
│ ├── [ 31M] 11-25 -Connection排序
│ ├── [ 31M] 11-26 -选择Connection
│ ├── [ 19M] 11-27 -Connection的裁剪
│ ├── [ 13M] 11-28 -ICE提名
│ ├── [ 12M] 11-29 -ICE-FULL与ICE-LITE
│ ├── [ 30M] 11-30 -连通性检测
│ └── [ 27M] 11-31 -网络传输对象的创建与数据传输
├── 12-WebRTC服务质量(Qos)/
│ ├── [8.2M] 12-1 -WebRTC服务质量概述
│ ├── [ 33M] 12-2 -WebRTC服务质量综述
│ ├── [ 20M] 12-3 -RTP协议
│ ├── [ 29M] 12-4 -RTP扩展头
│ ├── [ 40M] 12-5 -RTCP协议一
│ ├── [ 20M] 12-6 -RTCP协议二-SDES作用和报文件格式
│ ├── [ 26M] 12-7 -RTCP协议三-其它类型的RTCP报文
│ ├── [ 18M] 12-8 -RTCP协议四-CompoundRTCP
│ ├── [ 19M] 12-9 -丢包重传NACK与RTX
│ ├── [ 20M] 12-10 -判断包位置的关键算法
│ ├── [ 31M] 12-11 -WebRTC中NACK的处理流程
│ ├── [ 31M] 12-12 -判断是否丢包的逻辑
│ ├── [ 28M] 12-13 -找到真正的丢包
│ ├── [ 38M] 12-14 -VP8关键帧的判断
│ ├── [ 18M] 12-15 -NACK格式
│ ├── [ 29M] 12-16 -WebRTC接收NACK消息的过程
│ ├── [ 43M] 12-17 -RTX协议
│ ├── [ 13M] 12-18 -WebRTC发送RTX包的过程
│ ├── [ 46M] 12-19 -Pacer
│ ├── [ 31M] 12-20 -RoundRobinPacketQueue
│ ├── [ 32M] 12-21 -IntervalBudget
│ ├── [ 14M] 12-22 -向Pacer中插入数据
│ ├── [ 15M] 12-23 -JitterBuffer整体架构
│ ├── [ 33M] 12-24 -PacketBuffer的实现
│ ├── [ 36M] 12-25 -查找完整的帧
│ ├── [ 25M] 12-26 -ReferenceFinder的作用及创建
│ ├── [ 23M] 12-27 -查找参考帧
│ ├── [ 14M] 12-28 -FrameBuffer
│ ├── [ 22M] 12-29 -FEC基础知识和原理
│ ├── [ 14M] 12-30 -WebRTC中FEC的创建
│ ├── [ 32M] 12-31 -为媒体包产生冗余数据
│ └── [ 42M] 12-32 -FEC保护因子的计算
├── 13-NetEQ/
│ ├── @乐学编程网lexuecode.com WebRTC
│ ├── [ 13M] 13-1 -NetEq在WebRTC中的位置
│ ├── [ 19M] 13-2 -抖动消除的基本原理
│ ├── [ 27M] 13-3 -NetEq整体架构
│ ├── [ 35M] 13-4 -NetEq中的几种缓冲区
│ └── [ 21M] 13-5 -新版NetEq中的MCU和DSP
├── 14-Simulcast与SVC/
│ ├── [ 24M] 14-1 -什么是Simulcast
│ ├── [ 48M] 14-2 -开启Simulcast的三种方法
│ ├── [ 21M] 14-3 -Simulcast在WebRTC中的实现
│ ├── [ 22M] 14-4 -什么是SVC
│ ├── [ 29M] 14-5 -WebRTC开启SVC的方式
│ └── [ 30M] 14-6 -VP9RTP包结构
├── 15-课程总结/
│ └── [ 36M] 15-1 -WebRTC深入剖析总结
└── 资料代码/