简介
课程简介
基于C++音视频高手课-WebRTC远程桌面后台服务实战视频课程,由办公模板库编程网lexuecode.com整理分享。本课程以共享桌面项目为驱动,以渐进迭代的授课方式,遵循RFC标准,深入解析STUN/TURN/DTLS/ICE/RTP/RTCP/SRTP/SRTCP等网络传输协议栈,手把手带你实现WebRTC P2P通信核心技术和ICE网络框架。教学过程中还会设计针对性实验,验证效果,让你学习顺畅,收获满满。希望通过本课程的学习,你能先人一步,突破瓶颈,顺利跨入音视频领域高手行列。
课程目录
├── 第1章 WebRTC实战后台服务-课程导学/
│ ├── [ 23M] 1-1WebRTC后台服务–课程导学
│ └── [ 43M] 1-2WebRTC后台服务–课程效果演示
├── 第2章 为什么要学习ICE技术(音视频SFU分发服务)?/
│ ├── [ 26M] 2-1为什么要学习ICE技术
│ └── [ 15M] 2-2远程桌面共享在各领域的应用介绍
├── 第3章 项目总体设计,掌握项目的总体设计及技术选型/
│ ├── [ 16M] 3-1远程桌面共享项目概述
│ ├── [ 12M] 3-2系统架构设计和核心流程
│ └── [ 14M] 3-3系统通信模型选型
├── 第4章 WebRTC offer SDP深度解析和生成/
│ ├── [4.5M] 4-1本章导学
│ ├── [ 47M] 4-2RTC流管理器设计
│ ├── [ 26M] 4-3WebRTCSDP介绍
│ ├── [ 30M] 4-4创建offerSDP(上)
│ ├── [ 43M] 4-5创建offerSDP(下)
│ ├── [ 42M] 4-6Offer中添加mediacontent
│ ├── [ 70M] 4-7实现BUNDLE功能
│ ├── [ 74M] 4-8offer中添加m行
│ ├── [ 23M] 4-9Offer中添加codec
│ ├── [ 61M] 4-10Offer中添加codec参数
│ ├── [ 54M] 4-11Offer中添加rtcp-mux和传输方向
│ ├── [ 48M] 4-12认识ice-ufrag和ice-pwd
│ ├── [ 85M] 4-13Offer中添加ice-ufrag和ice-pwd
│ ├── [ 69M] 4-14生成自签名证书
│ ├── [ 60M] 4-15Offer中添加fingerprint
│ └── [ 32M] 4-16Offer中添加setup
├── 第5章 ICE运行框架总体介绍,掌握ICE总体运行框架以及核心API的设计方法/
│ ├── [3.3M] 5-1本章导学
│ ├── [ 52M] 5-2ICE运行框架和candidate分类
│ ├── [ 31M] 5-3设计和实现IceAgent(一)
│ ├── [ 44M] 5-4设计和实现IceAgent(二)
│ ├── [ 51M] 5-5实现SetLocalSDP(一)
│ └── [ 28M] 5-6实现SetLocalSDP(二)
├── 第6章 ICE candidate的搜集、构成和优先级计算方法/
│ ├── [4.9M] 6-1本章导学
│ ├── [ 53M] 6-2实现NetworkManager
│ ├── [ 68M] 6-3获取可用的本地网络接口
│ ├── [ 61M] 6-4封装PortAllocator类
│ ├── [ 58M] 6-5开始收集本地candidate
│ ├── [ 41M] 6-6创建UDPPort类
│ ├── [ 38M] 6-7分配UDP端口
│ ├── [ 50M] 6-8准备socketaddress
│ ├── [ 50M] 6-9ICEcandidate的构成解析
│ ├── [ 48M] 6-10创建ICElocalcandidate
│ ├── [ 74M] 6-11实现candidate收集完成信号通知(一)
│ └── [ 83M] 6-12实现candidate收集完成信号通知(二)
├── 第7章 远程桌面共享SFU服务之推流实现,掌握SFU服务推流功能的实现逻辑/
│ ├── [ 56M] 7-1推流端peerconnection设置offer_音频
│ ├── [ 97M] 7-2推流端生成answer并发送给服务端
│ ├── [ 45M] 7-3信令服务处理answer请求
│ ├── [ 83M] 7-4分发服务信令worker异步处理answer
│ ├── [ 64M] 7-5分发服务rtcworker处理answer
│ ├── [ 72M] 7-6解析answersdp
│ ├── [ 89M] 7-7从sdp中解析传输相关的信息
│ ├── [ 45M] 7-8实现SetRemoteSDP(一)
│ ├── [ 51M] 7-9实现SetRemoteSDP(二)
│ ├── [ 45M] 7-10UDP网络数据包读取(一)
│ └── [ 73M] 7-11UDP网络数据包读取(二)
├── 第8章 ICE之STUN协议深入解析和实现/
│ ├── [3.4M] 8-1本章导学
│ ├── [ 67M] 8-2STUN协议详解
│ ├── [ 52M] 8-3验证stun消息的指纹(一)
│ ├── [ 47M] 8-4验证stun消息的指纹(二)
│ ├── [ 39M] 8-5stun消息头部读取
│ ├── [ 45M] 8-6stun消息属性读取
│ ├── [ 28M] 8-7stun字符串属性类型的读取(一)
│ ├── [ 69M] 8-8stun字符串属性类型的读取(二)
│ ├── [ 66M] 8-9解析并验证USERNAME属性
│ ├── [ 68M] 8-10解析并验证MI属性(一)
│ ├── [ 70M] 8-11解析并验证MI属性(二)
│ ├── [ 68M] 8-12stun绑定请求的异常处理
│ ├── [ 41M] 8-13解析PRIORITY属性
│ ├── [ 92M] 8-14创建peer反射candidate
│ ├── [ 99M] 8-15创建IceConnection类
│ ├── [ 90M] 8-16构造stun绑定请求响应(一)
│ ├── [ 92M] 8-17构造stun绑定请求响应(二)
│ ├── [ 86M] 8-18stun响应消息添加MI属性
│ ├── [ 40M] 8-19计算stun响应消息的MI值
│ ├── [ 86M] 8-20stun消息IP属性的读写
│ ├── [ 23M] 8-21添加指纹属性
│ ├── [ 89M] 8-22发送binding响应
│ ├── [ 82M] 8-23UDP数据包的高性能发送(一)
│ ├── @办公模板库编程网lexuecode.com
│ ├── [103M] 8-24UDP数据包的高性能发送(二)
│ ├── [ 72M] 8-25ICE通道的保活
│ ├── [ 66M] 8-26stun错误响应消息(一)
│ └── [ 69M] 8-27stun错误响应消息(二)
├── 第9章 ICE之连通性检查,掌握ICE的连通性检查策略、周期控制/
│ ├── [ 86M] 9-1实现服务侧的ICE连通性检查(一)
│ ├── [ 47M] 9-2实现服务侧的ICE连通性检查(二)
│ ├── [ 94M] 9-3如何设置ICE通道的ping周期
│ ├── [ 50M] 9-4如何设置ICE连接的ping优先级(一)
│ ├── [ 61M] 9-5如何设置ICE连接的ping优先级(二)
│ ├── [ 41M] 9-6选择一个连接执行ping检查
│ └── [ 56M] 9-7构造stun绑定请求
├── 第10章 ICE的提名机制、连接的选取、切换、保活策略/
│ ├── [ 36M] 10-1ICE普通提名和激进提名
│ ├── [101M] 10-2激进提名实现
│ ├── [ 80M] 10-3发送ping请求
│ ├── [ 79M] 10-4处理stun的响应
│ ├── [ 67M] 10-5计算RTT并输出到log
│ ├── [ 55M] 10-6更新ICE连接的读写状态
│ ├── [ 56M] 10-7实现选中连接的切换策略
│ ├── [ 42M] 10-8切换策略考虑连接的优先级
│ ├── [117M] 10-9开始切换选中的连接
│ ├── [108M] 10-10处理stun错误响应
│ ├── [127M] 10-11设置candidatepair状态
│ ├── [ 84M] 10-12处理ICE的ping周期问题
│ ├── [105M] 10-13实现ICE连接探活机制
│ └── [ 46M] 10-14更新ICE传输通道的状态
├── 第11章 WebRTC DTLS剖析和实现,掌握DTLS协议及握手流程,实现数据包的读写/
│ ├── [ 40M] 11-1DTLS握手流程详解
│ ├── [ 67M] 11-2封装DtlsTransport类
│ ├── [ 44M] 11-3缓存ClientHello包
│ ├── [ 69M] 11-4安装DTLS
│ ├── [ 28M] 11-5设置本地证书
│ ├── [ 73M] 11-6设置远端指纹
│ ├── [ 59M] 11-7启动DTLS
│ ├── [111M] 11-8DTLS数据包读取
│ ├── [ 71M] 11-9DTLS数据包写入
│ ├── [106M] 11-10设置DTLS-SRTP密码套件
│ ├── 由办公模板库编程网lexuecode.com整理分享
│ ├── [ 86M] 11-11设置DtlsTransport的状态
│ ├── [ 39M] 11-12设置DtlsTransport的接收状态
│ ├── [ 82M] 11-13计算PeerConnection的状态
│ ├── [ 44M] 11-14计算ICE传输通道的状态
│ ├── [ 62M] 11-15计算IceAgent的状态
│ ├── [ 55M] 11-16联合ICE和DTLS状态计算pc状态(一)
│ ├── [ 89M] 11-17联合ICE和DTLS状态计算pc状态(二)
│ ├── [ 71M] 11-18peer建连失败下的资源清理(一)
│ └── [106M] 11-19peer建连失败下的资源清理(二)
├── 第12章 远程桌面共享SFU服务之拉流实现,掌握SFU服务拉流功能的实现/
│ ├── [ 52M] 12-1远程桌面共享拉流端UI设计
│ ├── [ 67M] 12-2拉流命令处理
│ ├── [ 59M] 12-3音视频转发方案设计
│ ├── [ 94M] 12-4解析推流stream中的ssrc
│ ├── [ 50M] 12-5解析ssrcgroup信息
│ ├── [ 44M] 12-6创建音视频track
│ ├── [ 26M] 12-7现PushStream获取音视频源的方法
│ ├── [ 31M] 12-8实现PullStream设置音视频源的方法
│ └── [ 45M] 12-9offerSDP中增加ssrc描述信息
├── 第13章 RTP&RTCP包的加密和解密,掌握利用libsrtp库加密和解密音视频数据包/
│ ├── [ 36M] 13-1创建DtlsSrtpTransport
│ ├── [115M] 13-2从DTLS中导出服务端和客户端秘
│ ├── [ 46M] 13-3创建SrtpSession并设置参数
│ ├── [ 36M] 13-4引入libsrtp库
│ ├── [ 33M] 13-5初始化libsrtp库
│ ├── [ 74M] 13-6创建或者更新srtp上下文结构
│ ├── [ 41M] 13-7实现set_recv和update_recv方法
│ ├── [ 57M] 13-8安装DTLS-SRTP
│ ├── [ 38M] 13-9解复用rtp和rtcp包
│ ├── [ 31M] 13-10实现rtp和rtcp包的判断方法
│ ├── [ 76M] 13-11rtp数据包解密
│ ├── [ 34M] 13-12rtcp数据包解密
│ ├── [ 70M] 13-13RtcStream获取rtp和rtcp数据包
│ ├── [ 61M] 13-14转发rtp数据包
│ ├── [ 56M] 13-15实现srtp数据包发送
│ ├── [ 51M] 13-16加密rtp数据包
│ └── [ 60M] 13-17加密rtcp数据包并发送
├── 第14章 远程桌面共享SFU服务停止推拉流和资源清理/
│ ├── [ 58M] 14-1实现信令服务停止推流
│ ├── [ 59M] 14-2实现分发服务停止推流
│ ├── [ 27M] 14-3实现信令服务停止拉流
│ ├── [ 41M] 14-4实现分发服务停止拉流
│ ├── [ 60M] 14-5异常处理和项目完善(一)
│ └── [ 50M] 14-6异常处理和项目完善(二)
└── 第15章 WebRTC实战后台服务-课程总结/
└── [ 31M] 15-1课程回顾与总结
└── 资料代码/
更新日志
2024-5-21:已更新完结,百度云盘下载。
暂无评论内容