#嘿丝儿科技#一人单刷雨课堂需要多少工作量?快手工程师详解如何两周搞定( 四 )
这里不考虑实现效果的话 , 用最简单的opengl渲染视频 , 大概2天 。
文章图片
这样 , 一个简简单单的实时音视频通信的终端部分就开发完了 , 再配上一个炫酷拉风的界面 , 就可以食用了 。 但是这里只能实现两个人之间的通信 , 而在线授课的场景可是一个老师对一群学生 。 如何实现多人之间的实时通信呢?这就需要后端的媒体服务器作中转来实现 。
媒体后端
这里需要简单介绍一下多人实时音视频通信的网络拓扑结构 。 对于三人以上的实时通信 , 由于接收端同时会接收多个人传过来的音视频数据 , 因此如果没有服务器中转的话 , 需要采用网状拓扑结构 , 每个终端的音视频流都需要同时发送给其他所有终端 , 网络带宽成倍增加 。 为了解决这个问题 , 就需要采用星型拓扑结构 , 所有的终端将自己的音视频数据发送给中央服务器 , 再由服务器来做转发 。 这个服务器就是视频会议的后端 , 暨媒体服务器 。
媒体服务器的实现方式有两种 。 一种叫做MCU模式 , 一种叫SFU模式 。
MCU模式是服务器将所有人的音视频数据在服务端进行解码 , 然后合成为一个新的音视频流 。 这个视频流是由所有人的视频组合出来的 , 而音频则是将所有人的音频混合 , 之后重新进行音视频编码 , 再发送给所有终端 。 这样终端播放出来的音视频流就是一个合并好的音视频流 。 这种模式对于媒体服务器的性能消耗很大 , 因此一台服务器并不能支持很多的终端 。
SFU模式则只是做RTP包的转发 , 并不做解码和合流的工作 。 每个终端同时会接收到多个人的音视频流 , 每一组音视频流需要独立进行处理和解码 , 然后在本地混合后播放出来 。 这种模式的SFU性能消耗比较低 , 能够支持的并发很高 。
如果不考虑高并发和架构设计 , 最简单的实现大概3天 。
文章图片
把这样一个媒体服务器部署到网络上 , 然后由它来转发所有终端的音视频数据包 , 这样就可以实现多人之间的音视频通信了 。
总共需要2周开发时间 , 一个最最简单的雷课堂就实现完成了 。
当然 , 这里只是为了完成作业从功能角度来实现 。 在实际项目中 , 需要考虑到性能和架构优化 , 增强稳定性和音视频质量 , 服务端高并发和快速部署 , 各种算法参数调优和策略优化 。 没有几十人团队精细打磨2-3年 , 以及专业的音视频质量测试实验室 , 不可能做到业界顶尖水准 。
快手与雨课堂
为什么快手对于雨课堂这么熟悉?2月11日 , 这家公司成为了清华大学慕课平台「学堂在线」的独家直播技术合作平台 , 致力于以直播技术驱动优质教育课程更广更快传播 。 学堂在线旗下的雨课堂现在同时服务国内500所高校线上授课 , 涵盖国内90%的985及211高校 。
在疫情期间 , 全国大学有超过100万堂课在雨课堂开课 , 近4000万的大学生都在这里上课 , 其中在武汉地区开播14000次 。 快手的直播技术给这些线上的课程提供技术支持 , 让老师和学生们在线上开展教学时有良好的音视频体验 。
文章图片
快手通过自身在直播平台长期的技术积累 , 在推流工具、拥塞控制算法、智能CDN分发、质量监控、后端服务基础架构等全链路对雨课堂进行了技术支持 , 确保了雨课堂大规模同时开课的稳定性和流畅度 。
推荐阅读
- 小米科技▲卢伟冰再次发力,全球首发骁龙768G,5G新机将在两天后发布!
- 快科技最贵或达5000元,苹果头戴耳机更多细节曝光:包含两款
- 科技迷7nm版年底流片,要放弃美国代工?国产x86转向三星台积电代工
- 骊微电子科技PD充电器应用方案,PN8161+PN8307H高集成18W
- 快科技小米高管都是外人?雷军透露了一个秘密
- 靓科技解读Thing,a16z、5.15亿美金的数据加密股票基金:找寻下一个Big
- 王伯伯说科技流畅用三年,即将开学的学生党准备好了吗?三款高配低价千元机
- 知叔达科技中芯国际早已料到,成功绕开了光刻机,怒了!荷兰ASML再次失约
- 小熊带你玩科技数据成粤企生产新要素,工业互联网深调研〡从经验依赖到数据驱动
- 每日科技果粉大批华人再掀归国潮,美利坚的钱“不香了”?,硅谷科技人才流失