开通VIP会员
扫码访问
查看: 17459|回复: 85

[前&后端开发] WebRTC源码级深度解析,进阶大厂高级音视频开发者

  [复制链接]
  • TA的每日心情
    无聊
    13 小时前
  • 签到天数: 2578 天

    连续签到: 234 天

    [LV.Master]伴坛终老

    120

    主题

    1万

    回帖

    4511

    积分

    藏宝阁VIP会员

    积分
    4511

    vip会员

    发表于 2023-3-30 20:13:38 | 显示全部楼层 |阅读模式
    image.png

    当下音视频行业发展火爆,WebRTC作为优秀的音视频开源库,被大范围的应用在各种音视频业务中,对于高级音视频开发者来说,需要具备业务适用性改造能力。对于音视频开发者来说,学习、分析WebRTC,从中借鉴好的经验,是颇具价值的。


    image.png

    第1章课程介绍与学习指南2节|23分钟
    本章主要对整体课程进行介绍,以及学习方法的指导。

    收起列表
    图文:
    1-1-课前必读((不看会错过一个亿))
    视频:
    1-2WebRTC源码剖析课程导学(22:05)
    试看
    第2章WebRTC的整体架构7节|64分钟
    通过本章内容可以掌握WebRTC源码的整体框架,简要概述一下全章的内容

    收起列表
    视频:
    2-1WebRTC整体架构-如何对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-7WebRTC整体架构(08:26)
    第3章WebRTC源码分析环境的搭建5节|37分钟
    通过本章学习可以掌握如何编译WebRTC源码,并建立调试环境

    收起列表
    视频:
    3-1WebRTC开发环境搭建概述(加片头)(03:59)
    视频:
    3-2获取WebRTC源码(11:22)
    视频:
    3-3编译WebRTC的必备工具(06:30)
    视频:
    3-4编译WebRTC源码(09:18)
    视频:
    3-5WebRTC中的重要Demo(04:59)
    第4章开启WebRTC源码分析之路15节|138分钟
    通过本章学习,主要掌握WebRTC对外提供了哪些接口,这些接口内部的实现逻辑。

    收起列表
    视频:
    4-1分析WebRTC必经之路章节概述(1)(03:16)
    视频:
    4-2一对一实时通信架构(07:19)
    视频:
    4-3peerconnection_client的构成(06:50)
    视频:
    4-4几个重要的信令(03:38)
    视频:
    4-5WebRTC中的媒体协商(06:22)
    视频:
    4-6完美协商(06:52)
    视频:
    4-7Windows窗口与消息(09:27)
    视频:
    4-8实战-实现一个最简单的Windows应用程序(06:48)
    视频:
    4-9peerconnection-client界面实现(08:16)
    视频:
    4-10源码分析-client界面(15:36)
    视频:
    4-11信令逻辑(09:12)
    视频:
    4-12源码分析-信令的实现(15:59)
    视频:
    4-13WebRTC-Native开发过程(17:59)
    视频:
    4-14源码分析-媒体协商(10:29)
    视频:
    4-15源码分析-视频渲染(09:15)
    第5章抓住WebRTC的脉络(深入理解WebRTC的线程模型)13节|147分钟
    通过本章学习,主要掌握WebRTC的线程模型,它是如何使用多线程来提高效率的,这样使用线程的好处是什么。

    收起列表
    视频:
    5-1WebRTC线程模型概述(05:48)
    视频:
    5-2线程基础知识(09:32)
    视频:
    5-3常见的线程模型(06:13)
    视频:
    5-4WebRTC中的线程(12:13)
    视频:
    5-5WebRTC中的线程管理(11:24)
    视频:
    5-6WebRTC三大线程(11:44)
    视频:
    5-7WebRTC线程的启动与运行(13:37)
    视频:
    5-8WebRTC事件处理基础知识(13:02)
    视频:
    5-9WebRTC线程事件处理(18:41)
    视频:
    5-10WebRTC接口宏(09:55)
    视频:
    5-11WebRTC接口的设计原理(10:06)
    试看
    视频:
    5-12WebRTC接口调用过程(16:28)
    视频:
    5-13Post方法进行线程切换(08:15)
    第6章开始“聊天”之前先认识一下(WebRTC媒体协商)15节|219分钟
    通过本章主要掌握WebRTC底层到底是如何讨价还价的(协商的)。

    收起列表
    视频:
    6-1WebRTC媒体协商--综述(06:18)
    视频:
    6-2SDP协议(12:51)
    视频:
    6-3WebRTC中的SDP类结构(11:51)
    视频:
    6-4如何生成SDP(11:33)
    视频:
    6-5编解码器信息的收集(10:33)
    视频:
    6-6编解码器信息的收集之二(26:26)
    视频:
    6-7源码分析-CreateOffer之一(14:18)
    视频:
    6-8CreateOffer源码分析之二(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章音频数据采集22节|271分钟
    通过本章学习,主要掌握WebRTC是如何在不同的平台上采集音频数据的。

    收起列表
    视频:
    7-1音频数据采集与播放概述(05:24)
    视频:
    7-2ADM的创建(11:16)
    视频:
    7-3CoreAudio基本开概念(11:46)
    视频:
    7-4CoreAudio-API(17:36)
    视频:
    7-5AudioDeviceWindowsCore的构造函数(17:09)
    视频:
    7-6ADM初始化(07:54)
    视频:
    7-7源码分析-ADM初始化之枚举音频设备(18:18)
    视频:
    7-8ADM初始化之InitSpeaker(09:02)
    视频:
    7-9ADM初始化之设置通道数(08:37)
    视频:
    7-10ADM初始化之InitMicrophone(07:06)
    视频:
    7-11AudioState(06:07)
    视频:
    7-12Engine_PeerConnection_Call等对象之间的关系(13:21)
    视频:
    7-13打开播放设备(09:34)
    视频:
    7-14InitPlay基础知识(16:12)
    视频:
    7-15InitPlayout源码分析(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-21StartRecording处理逻辑(07:06)
    视频:
    7-22源码分析-StartRecording(10:54)
    第8章视频数据采集20节|209分钟
    通过本章学习,主要掌握WebRTC是如何在不同的平台上采集视频数据的。

    收起列表
    视频:
    8-1视频采集概述(03:30)
    视频:
    8-2DirectShow基础知识(09:39)
    视频:
    8-3WebRTC视频采集整体架构(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-16Filter之间的连接(14:30)
    视频:
    8-17SetCameraOutput(14:49)
    视频:
    8-18源码分析-连接Filter(一)(17:41)
    视频:
    8-19源码分析-连接Filter(二)(12:00)
    视频:
    8-20输出采集后的视频数据(08:59)
    第9章音频引擎(音频编解码)12节|157分钟
    本章主要讲解除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-7Channel-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章视频引擎(视频编解码)18节|184分钟
    本章主要讲解除WebRTC如何选择不同的视频编解码器,如何利用选择好的编解除码器进行编解码的。

    收起列表
    视频:
    10-1视频引擎章节概述(06:49)
    视频:
    10-2视频数据采集的时间(10:04)
    视频:
    10-3视频分发器VideoBroadcaster(13:51)
    视频:
    10-4视频数据是如何进入视频分发器的(10:54)
    视频:
    10-5视频引擎及其作用(13:05)
    视频:
    10-6-视频编码器的创建与视频编码流程(09:10)
    视频:
    10-7-VideoStreamEncoder的创建(09:27)
    视频:
    10-8-获取编解码器参数(11:20)
    视频:
    10-9-应用视频编码参数(15:50)
    视频:
    10-10-创建WebRtcVideoSendStream的时机(05:48)
    视频:
    10-11-创建内部VideoSendStream(06:14)
    视频:
    10-12-VP8编码器的创建及编码(09:27)
    视频:
    10-13-应用视频解码器参数(12:00)
    视频:
    10-14-编解码器CodecID的设置(08:24)
    视频:
    10-15-SessionDescription(15:05)
    视频:
    10-16-创建WebRtcVideoReceiveStream(06:20)
    视频:
    10-17-创建解码器及初始化(10:48)
    视频:
    10-18-视频解码(09:00)
    第11章深入理解WebRTC网络传输31节|305分钟
    通过本章学习,主要掌握WebRTC是如何建立网络连接,如何选择最优质的连接点,如何进行数据加密,又是如何传输数据的。

    收起列表
    视频:
    11-1-深入理解WebRTC网络传输-概述(04:09)
    视频:
    11-2-网络设备管理(12:16)
    视频:
    11-3-读取网卡信息的重要API(18:11)
    视频:
    11-4-源码分析-CreateNetworks(18:45)
    视频:
    11-5-获了本地默认IP地址和端口(11:18)
    视频:
    11-6-获取本地默认IP地址(13:33)
    视频:
    11-7-ICE(14:14)
    视频:
    11-8-Candiate(09:11)
    视频:
    11-9-创建PortAllocator(15:05)
    视频:
    11-10-创建PortAllocatorSession(09:02)
    视频:
    11-11-创建AllocationSequence(10:31)
    视频:
    11-12-收集Candidate(12:39)
    视频:
    11-13-获取本地Canidadate(09:23)
    视频:
    11-14-STUN协议(10:43)
    视频:
    11-15-发送StunBindingRequest消息(10:31)
    视频:
    11-16-收集Srflx类型的Candidate(06:27)
    视频:
    11-17-TURN协议基本原理(07:56)
    视频:
    11-18-TurnClient与TurnServer的连接过程(09:32)
    视频:
    11-19-Turn协议数据传输机制(09:41)
    视频:
    11-20-收集Turn类型Candidate(一)(07:10)
    视频:
    11-21-收集Turn类型Candidate(二)(06:32)
    视频:
    11-22-收集TCP类型的Candidate(05:28)
    视频:
    11-23-将获得的Candidate上抛给应用层(07:13)
    视频:
    11-24-WebRTC网络连接的建立(05:39)
    视频:
    11-25-Connection排序(09:53)
    视频:
    11-26-选择Connection(09:44)
    视频:
    11-27-Connection的裁剪(06:59)
    视频:
    11-28-ICE提名(06:28)
    视频:
    11-29-ICE-FULL与ICE-LITE(04:50)
    视频:
    11-30-连通性检测(11:35)
    视频:
    11-31-网络传输对象的创建与数据传输(10:05)
    第12章WebRTC服务质量(Qos)32节|317分钟
    通过本章学习,主要掌握WebRTC是如何提高服务质量的。如何在极端网络情况下还能何障服务质量。

    收起列表
    视频:
    12-1-WebRTC服务质量概述(04:55)
    视频:
    12-2-WebRTC服务质量综述(12:57)
    视频:
    12-3-RTP协议(10:41)
    视频:
    12-4-RTP扩展头(11:05)
    视频:
    12-5-RTCP协议一(15:28)
    视频:
    12-6-RTCP协议二-SDES作用和报文件格式(07:32)
    视频:
    12-7-RTCP协议三-其它类型的RTCP报文(09:39)
    视频:
    12-8-RTCP协议四-CompoundRTCP(06:50)
    视频:
    12-9-丢包重传NACK与RTX(07:49)
    视频:
    12-10-判断包位置的关键算法(07:57)
    视频:
    12-11-WebRTC中NACK的处理流程(10:26)
    视频:
    12-12-判断是否丢包的逻辑(12:00)
    视频:
    12-13-找到真正的丢包(10:51)
    视频:
    12-14-VP8关键帧的判断(14:47)
    视频:
    12-15-NACK格式(05:51)
    视频:
    12-16-WebRTC接收NACK消息的过程(10:17)
    视频:
    12-17-RTX协议(12:19)
    视频:
    12-18-WebRTC发送RTX包的过程(05:16)
    视频:
    12-19-Pacer(16:44)
    视频:
    12-20-RoundRobinPacketQueue(12:16)
    视频:
    12-21-IntervalBudget(12:34)
    视频:
    12-22-向Pacer中插入数据(05:25)
    视频:
    12-23-JitterBuffer整体架构(05:49)
    视频:
    12-24-PacketBuffer的实现(12:45)
    视频:
    12-25-查找完整的帧(11:08)
    视频:
    12-26-ReferenceFinder的作用及创建(09:21)
    视频:
    12-27-查找参考帧(08:59)
    视频:
    12-28-FrameBuffer(05:10)
    视频:
    12-29-FEC基础知识和原理(13:00)
    视频:
    12-30-WebRTC中FEC的创建(05:33)
    视频:
    12-31-为媒体包产生冗余数据(10:27)
    视频:
    12-32-FEC保护因子的计算(10:57)
    第13章NetEQ5节|46分钟
    本章主要讲解NetEQ的内容,看它是如何对音频数据进行平滑处理的。

    收起列表
    视频:
    13-1-NetEq在WebRTC中的位置(04:49)
    视频:
    13-2-抖动消除的基本原理(08:48)
    视频:
    13-3-NetEq整体架构(10:42)
    视频:
    13-4-NetEq中的几种缓冲区(11:13)
    视频:
    13-5-新版NetEq中的MCU和DSP(09:35)
    第14章Simulcast与SVC6节|71分钟
    本章主要掌握WebRTC与SFU服务器如何配合最终根据用户的带宽情况提供更好的服务的。

    收起列表
    视频:
    14-1-什么是Simulcast(09:57)
    视频:
    14-2-开启Simulcast的三种方法(19:02)
    视频:
    14-3-Simulcast在WebRTC中的实现(08:25)
    视频:
    14-4-什么是SVC(09:26)
    视频:
    14-5-WebRTC开启SVC的方式(11:22)
    视频:
    14-6-VP9RTP包结构(12:10)

    第15章课程总结1节|14分钟
    课程总体内容总结
    视频:
    15-1-WebRTC深入剖析总结(13:58)


    下载地址:
    游客,如果您要查看本帖隐藏内容请回复



    回复

    使用道具 举报

  • TA的每日心情
    无聊
    12 小时前
  • 签到天数: 2576 天

    连续签到: 317 天

    [LV.Master]伴坛终老

    34

    主题

    8771

    回帖

    4357

    积分

    藏宝阁VIP会员

    积分
    4357
    发表于 2023-3-30 20:15:38 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-27 21:36
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    2

    主题

    81

    回帖

    246

    积分

    藏宝阁VIP会员

    积分
    246
    发表于 2023-3-30 22:46:26 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-12-18 13:45
  • 签到天数: 194 天

    连续签到: 1 天

    [LV.7]常住居民III

    4

    主题

    258

    回帖

    3972

    积分

    藏宝阁VIP会员

    积分
    3972
    发表于 2023-3-31 08:31:46 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-12-13 11:58
  • 签到天数: 374 天

    连续签到: 3 天

    [LV.9]以坛为家II

    9

    主题

    1375

    回帖

    2507

    积分

    藏宝阁VIP会员

    积分
    2507
    发表于 2023-4-1 19:10:31 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    16 小时前
  • 签到天数: 2576 天

    连续签到: 423 天

    [LV.Master]伴坛终老

    35

    主题

    1万

    回帖

    4447

    积分

    藏宝阁VIP会员

    积分
    4447
    发表于 2023-4-2 19:52:43 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-11-20 10:04
  • 签到天数: 1347 天

    连续签到: 2 天

    [LV.10]以坛为家III

    0

    主题

    2390

    回帖

    3519

    积分

    藏宝阁VIP会员

    积分
    3519

    vip会员

    发表于 2023-4-4 20:53:24 | 显示全部楼层

    楼主太厉害了!楼主,I*老*虎*U!我觉得三六五网络学院真是个好地方!
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    6 小时前
  • 签到天数: 108 天

    连续签到: 2 天

    [LV.6]常住居民II

    1

    主题

    165

    回帖

    573

    积分

    藏宝阁VIP会员

    积分
    573
    发表于 2023-4-5 20:00:56 | 显示全部楼层
    楼主发贴辛苦了,谢谢楼主分享!我觉得三六五网络学院是注册对了!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    15 小时前
  • 签到天数: 2577 天

    连续签到: 315 天

    [LV.Master]伴坛终老

    27

    主题

    1万

    回帖

    4415

    积分

    藏宝阁VIP会员

    积分
    4415
    发表于 2023-4-6 17:12:18 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    14 小时前
  • 签到天数: 2576 天

    连续签到: 383 天

    [LV.Master]伴坛终老

    34

    主题

    1万

    回帖

    4416

    积分

    藏宝阁VIP会员

    积分
    4416
    发表于 2023-4-8 17:20:08 来自手机 | 显示全部楼层
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表