收藏

音视频高手突围课--WebRTC企业级高性能后台服务实战

手把手带你落地一套WebRTC后台分发服务,助力你在音视频领域稳固基石,跨入高手行列

音视频高手突围课--WebRTC企业级高性能后台服务实战

¥699.00
难度 中级 时长 45小时 学习人数 18 综合评分 10.00
  • 第1章 WebRTC实战后台服务-课程导学 试看 2 节 | 20分钟

    本章主要对课程整体内容进行全面的介绍,包括课程目标、课程优势、课程内容安排、适合人群、学习建议等。

    收起列表

    • 视频: 1-1 WebRTC后台服务--课程导学 (10:07) 试看
    • 视频: 1-2 WebRTC后台服务--课程效果演示 (09:10) 试看
  • 第2章 为什么要学习ICE技术(音视频SFU分发服务)? 2 节 | 20分钟

    本章主要介绍音视频分发服务应用的价值及适用性,强调其服务在领域的地位等。

    收起列表

    • 视频: 2-1 为什么要学习ICE技术 (15:12)
    • 视频: 2-2 远程桌面共享在各领域的应用介绍 (04:28)
  • 第3章 项目总体设计,掌握项目的总体设计及技术选型 3 节 | 21分钟

    本章主要介绍课程中项目的各项功能、架构设计、核心技术及流程,对整体系统的技术选型做详解分析。

    收起列表

    • 视频: 3-1 远程桌面共享项目概述 (06:21)
    • 视频: 3-2 系统架构设计和核心流程 (06:31)
    • 视频: 3-3 系统通信模型选型 (07:43)
  • 第4章 WebRTC offer SDP深度解析和生成 16 节 | 231分钟

    本章深度讲解WebRTC SDP描述信息,帮助学员掌握不同属性字段的含义和作用,并能够在实际项目中灵活运用。

    收起列表

    • 视频: 4-1 本章导学 (02:44)
    • 视频: 4-2 RTC流管理器设计 (18:42)
    • 视频: 4-3 WebRTC SDP介绍 (05:21)
    • 视频: 4-4 创建offer SDP(上) (12:41)
    • 视频: 4-5 创建offer SDP(下) (13:14)
    • 视频: 4-6 Offer中添加media content (17:49)
    • 视频: 4-7 实现BUNDLE功能 (24:26)
    • 视频: 4-8 offer中添加m行 (24:55)
    • 视频: 4-9 Offer中添加codec (08:26)
    • 视频: 4-10 Offer中添加codec参数 (15:50)
    • 视频: 4-11 Offer中添加rtcp-mux和传输方向 (15:11)
    • 视频: 4-12 认识ice-ufrag和ice-pwd (09:24)
    • 视频: 4-13 Offer中添加ice-ufrag和ice-pwd (21:50)
    • 视频: 4-14 生成自签名证书 (15:30)
    • 视频: 4-15 Offer中添加fingerprint (16:21)
    • 视频: 4-16 Offer中添加setup (07:40)
  • 第5章 ICE运行框架总体介绍,掌握ICE总体运行框架以及核心API的设计方法 6 节 | 63分钟

    本章重点介绍ICE运行框架以及核心接口的设计,帮助学员掌握ICE的核心流程和重要接口。

    收起列表

    • 视频: 5-1 本章导学 (01:31)
    • 视频: 5-2 ICE运行框架和candidate分类 (11:26)
    • 视频: 5-3 设计和实现IceAgent(一) (12:01)
    • 视频: 5-4 设计和实现IceAgent(二) (14:27)
    • 视频: 5-5 实现SetLocalSDP(一) (16:22)
    • 视频: 5-6 实现SetLocalSDP(二) (06:39)
  • 第6章 ICE candidate的搜集、构成和优先级计算方法 12 节 | 182分钟

    本章重点介绍ICE的candidate搜集,以及candidate结构解析,帮助学员掌握candidate的搜集和实现方法。

    收起列表

    • 视频: 6-1 本章导学 (02:19)
    • 视频: 6-2 实现NetworkManager (16:09)
    • 视频: 6-3 获取可用的本地网络接口 (16:26)
    • 视频: 6-4 封装PortAllocator类 (19:45)
    • 视频: 6-5 开始收集本地candidate (14:31)
    • 视频: 6-6 创建UDPPort类 (12:49)
    • 视频: 6-7 分配UDP端口 (15:24)
    • 视频: 6-8 准备socket address (15:03)
    • 视频: 6-9 ICE candidate的构成解析 (13:00)
    • 视频: 6-10 创建ICE local candidate (18:08)
    • 视频: 6-11 实现candidate收集完成信号通知(一) (19:30)
    • 视频: 6-12 实现candidate收集完成信号通知(二) (18:56)
  • 第7章 远程桌面共享SFU服务之推流实现,掌握SFU服务推流功能的实现逻辑 11 节 | 188分钟

    本章重点讲解远程桌面共享SFU服务推流功能的实现,主要包括offer和answer的处理、ICE参数的解析和处理、UDP网络数据包的读取等内容

    收起列表

    • 视频: 7-1 推流端peerconnection设置offer.mp4_音频 (17:21)
    • 视频: 7-2 推流端生成answer并发送给服务端 (20:18)
    • 视频: 7-3 信令服务处理answer请求 (11:41)
    • 视频: 7-4 分发服务信令worker异步处理answer (20:23)
    • 视频: 7-5 分发服务rtc worker处理answer (16:02)
    • 视频: 7-6 解析answer sdp (21:49)
    • 视频: 7-7 从sdp中解析传输相关的信息 (19:41)
    • 视频: 7-8 实现SetRemoteSDP(一) (13:11)
    • 视频: 7-9 实现SetRemoteSDP(二) (11:37)
    • 视频: 7-10 UDP网络数据包读取(一) (17:55)
    • 视频: 7-11 UDP网络数据包读取(二) (17:23)
  • 第8章 ICE之STUN协议深入解析和实现 27 节 | 455分钟

    本章结合RFC标准,重点讲解STUN协议规范,并实现STUN消息和各类属性字段的读写功能。

    收起列表

    • 视频: 8-1 本章导学 (02:06)
    • 视频: 8-2 STUN协议详解 (14:35)
    • 视频: 8-3 验证stun消息的指纹(一) (21:01)
    • 视频: 8-4 验证stun消息的指纹(二) (12:54)
    • 视频: 8-5 stun消息头部读取 (13:34)
    • 视频: 8-6 stun消息属性读取 (15:46)
    • 视频: 8-7 stun字符串属性类型的读取(一) (10:01)
    • 视频: 8-8 stun字符串属性类型的读取(二) (17:18)
    • 视频: 8-9 解析并验证USERNAME属性 (15:28)
    • 视频: 8-10 解析并验证MI属性(一) (19:14)
    • 视频: 8-11 解析并验证MI属性(二) (19:25)
    • 视频: 8-12 stun绑定请求的异常处理 (15:45)
    • 视频: 8-13 解析PRIORITY属性 (09:10)
    • 视频: 8-14 创建peer反射candidate (20:14)
    • 视频: 8-15 创建IceConnection类 (24:14)
    • 视频: 8-16 构造stun绑定请求响应(一) (22:59)
    • 视频: 8-17 构造stun绑定请求响应(二) (22:59)
    • 视频: 8-18 stun响应消息添加MI属性 (21:06)
    • 视频: 8-19 计算stun响应消息的MI值 (09:48)
    • 视频: 8-20 stun消息IP属性的读写 (23:14)
    • 视频: 8-21 添加指纹属性 (05:20)
    • 视频: 8-22 发送binding响应 (23:28)
    • 视频: 8-23 UDP数据包的高性能发送(一) (24:37)
    • 视频: 8-24 UDP数据包的高性能发送(二) (20:29)
    • 视频: 8-25 ICE通道的保活 (17:09)
    • 视频: 8-26 stun错误响应消息(一) (16:25)
    • 视频: 8-27 stun错误响应消息(二) (15:51)
  • 第9章 ICE之连通性检查,掌握ICE的连通性检查策略、周期控制 7 节 | 121分钟

    本章重点讲解ICE连通性检查的方法,包括优先级计算、ping周期,以及ping的构造。

    收起列表

    • 视频: 9-1 实现服务侧的ICE连通性检查(一) (26:30)
    • 视频: 9-2 实现服务侧的ICE连通性检查(二) (11:22)
    • 视频: 9-3 如何设置ICE通道的ping周期 (22:09)
    • 视频: 9-4 如何设置ICE连接的ping优先级(一) (17:08)
    • 视频: 9-5 如何设置ICE连接的ping优先级(二) (14:32)
    • 视频: 9-6 选择一个连接执行ping检查 (11:47)
    • 视频: 9-7 构造stun绑定请求 (16:48)
  • 第10章 ICE的提名机制、连接的选取、切换、保活策略 14 节 | 250分钟

    本章重点讲解ICE的提名机制,以及ICE连接的选取、切换、保活策略,并计算ICE的状态。

    收起列表

    • 视频: 10-1 ICE普通提名和激进提名 (11:07)
    • 视频: 10-2 激进提名实现 (22:40)
    • 视频: 10-3 发送ping请求 (18:30)
    • 视频: 10-4 处理stun的响应 (18:01)
    • 视频: 10-5 计算RTT并输出到log.mp4 (12:59)
    • 视频: 10-6 更新ICE连接的读写状态.mp4 (13:43)
    • 视频: 10-7 实现选中连接的切换策略.mp4 (14:28)
    • 视频: 10-8 切换策略考虑连接的优先级 (13:27)
    • 视频: 10-9 开始切换选中的连接 (24:50)
    • 视频: 10-10 处理stun错误响应 (23:59)
    • 视频: 10-11 设置candidate pair状态 (26:24)
    • 视频: 10-12 处理ICE的ping周期问题 (17:02)
    • 视频: 10-13 实现ICE连接探活机制 (23:15)
    • 视频: 10-14 更新ICE传输通道的状态 (09:25)
  • 第11章 WebRTC DTLS剖析和实现,掌握DTLS协议及握手流程,实现数据包的读写 19 节 | 294分钟

    本章重点讲解DTLS协议以及握手流程并实现,同时根据ICE状态和DTLS状态综合计算peerconnection的状态。

    收起列表

    • 视频: 11-1 DTLS握手流程详解 (07:36)
    • 视频: 11-2 封装DtlsTransport类 (15:28)
    • 视频: 11-3 缓存ClientHello包 (14:18)
    • 视频: 11-4 安装DTLS (16:45)
    • 视频: 11-5 设置本地证书 (06:27)
    • 视频: 11-6 设置远端指纹 (17:39)
    • 视频: 11-7 启动DTLS (13:56)
    • 视频: 11-8 DTLS数据包读取 (24:33)
    • 视频: 11-9 DTLS数据包写入 (15:09)
    • 视频: 11-10 设置DTLS-SRTP密码套件 (23:06)
    • 视频: 11-11 设置DtlsTransport的状态 (18:34)
    • 视频: 11-12 设置DtlsTransport的接收状态 (07:42)
    • 视频: 11-13 计算PeerConnection的状态.mp4 (16:51)
    • 视频: 11-14 计算ICE传输通道的状态 (10:15)
    • 视频: 11-15 计算IceAgent的状态.mp4 (12:25)
    • 视频: 11-16 联合ICE和DTLS状态计算pc状态(一) (10:57)
    • 视频: 11-17 联合ICE和DTLS状态计算pc状态(二) (19:14)
    • 视频: 11-18 peer建连失败下的资源清理(一) (19:53)
    • 视频: 11-19 peer建连失败下的资源清理(二) (22:37)
  • 第12章 远程桌面共享SFU服务之拉流实现,掌握SFU服务拉流功能的实现 9 节 | 120分钟

    本章重点讲解远程桌面共享SFU服务拉流功能并实现,主要包括音视频转发架构的设计、ssrc的解析和设置、音视频track的创建和设置等内容。

    收起列表

    • 视频: 12-1 远程桌面共享拉流端UI设计 (12:47)
    • 视频: 12-2 拉流命令处理.mp4 (14:59)
    • 视频: 12-3 音视频转发方案设计 (12:22)
    • 视频: 12-4 解析推流stream中的ssrc (25:46)
    • 视频: 12-5 解析ssrc group信息 (15:43)
    • 视频: 12-6 创建音视频track (12:08)
    • 视频: 12-7 现PushStream获取音视频源的方法 (06:41)
    • 视频: 12-8 实现PullStream设置音视频源的方法 (06:44)
    • 视频: 12-9 offer SDP中增加ssrc描述信息 (12:03)
  • 第13章 RTP/RTCP包的加密和解密,掌握利用libsrtp库加密和解密音视频数据包 17 节 | 236分钟

    本章重点讲解RTP/RTCP数据包的加密和解密方法并实现,掌握libsrtp库的初始化、安装、使用以及重点注意事项。

    收起列表

    • 视频: 13-1 创建DtlsSrtpTransport (13:12)
    • 视频: 13-2 从DTLS中导出服务端和客户端秘 (28:38)
    • 视频: 13-3 创建SrtpSession并设置参数 (15:49)
    • 视频: 13-4 引入libsrtp库 (11:08)
    • 视频: 13-5 初始化libsrtp库 (09:29)
    • 视频: 13-6 创建或者更新srtp上下文结构 (18:33)
    • 视频: 13-7 实现set_recv和update_recv方法 (09:00)
    • 视频: 13-8 安装DTLS-SRTP (13:02)
    • 视频: 13-9 解复用rtp和rtcp包 (10:43)
    • 视频: 13-10 实现rtp和rtcp包的判断方法 (08:30)
    • 视频: 13-11 rtp数据包解密 (19:55)
    • 视频: 13-12 rtcp数据包解密 (08:49)
    • 视频: 13-13 RtcStream获取rtp和rtcp数据包 (15:21)
    • 视频: 13-14 转发rtp数据包.mp4 (13:52)
    • 视频: 13-15 实现srtp数据包发送.mp4 (12:50)
    • 视频: 13-16 加密rtp数据包 (12:24)
    • 视频: 13-17 加密rtcp数据包并发送 (13:56)
  • 第14章 远程桌面共享SFU服务停止推拉流和资源清理 6 节 | 64分钟

    总结回顾,本章会带领大家,从全局视角来回顾一下整个项目的系统架构和核心技术,主要包括WebRTC信令交换的设计与实现、ICE运行框架的设计与实现、音视频分发架构的设计与实现,帮助大家对整个项目有一个整体的认识。

    收起列表

    • 视频: 14-1 实现信令服务停止推流 (13:50)
    • 视频: 14-2 实现分发服务停止推流 (12:16)
    • 视频: 14-3 实现信令服务停止拉流 (06:39)
    • 视频: 14-4 实现分发服务停止拉流 (07:55)
    • 视频: 14-5 异常处理和项目完善(一) (12:24)
    • 视频: 14-6 异常处理和项目完善(二) (10:25)
  • 第15章 WebRTC实战后台服务-课程总结 1 节 | 11分钟

    本章主要对课程进行整体内容的总结,对课程中涉及到的知识点进行梳理,总结重难点内容,帮助你大家达到更好的学习效果

    收起列表

    • 视频: 15-1 课程回顾与总结 (10:54)
本课程已完结

试看

全部试看小节



讲师

str2num 资深架构师

毕业于华中科技大学计算机学院,曾任职于BAT等国内知名公司,擅长高性能高并发后台架构设计,在WebRTC、传统大直播、实时音视频、IM等领域有超过10年以上的实践经验,同时有超过5年的技术团队管理经验。

讲师其他课程

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题