疫情期间,为响应 教育部“停课不停教、不停学”精神,众多学校、线下教育培训机构纷纷转向线上课程满足学生的学习需求。但当许多学校的老师通过在线平台进行在线授课时,就遭遇了一系列难题:延迟、卡顿,甚至出现了平台崩溃的现象,导致教学效果质量差等问题。如何构建一个高质量的在线课堂,成为了众多学校及教育培训机构近期乃至未来一段时期内的重点课题。
2月25日,UCloud优刻得互联网事业部研发总监裴志伟进行了主题为《疫情之下,如何平稳从“线下”过渡到“线上?”》的在线直播课程,讲述了如何快速构建高质量在线课堂,本文根据其课程进行整理,希望对大家有所帮助。
以下为主要内容:
1. 三个核心教育场景线上化
2. 在线课堂快速上线之技术选型
3. 高清实时音视频URTC背后的技术解析
4. 一体化实时音视频RTC解决方案
5. 附Q&A热点注话题讨论
三个核心教育场景线上化
通常来说,教育分为三部分:一部分是教,这次疫情期间在线教育主要在做的一件事是用来做教学,就是如何把知识或者课程传递给学生;第二部分是练习,现在大家的方式都是拉一个群,把一些作业让学生自己在里面去做;第三部分是辅导,在针对练习之后还会有一个定向辅导,其实也是教学的一部分。
对于要从线下过渡到线上的教育行业用户来说,要打造一个教学、练习、辅导一个完整的在线闭环,才能确保学习效果,就像一些在线教育公司,如我们的客户学霸君、一起作业、作业盒子等,他们在这方面有比较强的优势。
在疫情特殊时期,社会对于教育的期望已经降低为保证基础教学。现在行业中已经出现了不少PaaS和SaaS服务商,它们提供的产品和服务已经经过多轮验证和迭代,在一些产品能力上面会比自建省时省力省心,尤其是本身IT资源储备较少的小规模的教培机构或者公立校建议使用。
在线课堂快速上线之技术选型
通常,在线课堂有三种模式,录播、在线直播和低延迟互动直播。
1. 录播:提前录制授课内容,学生的客户端可以缓冲课程,这种形式对成本相对最低。
2. 在线直播:模拟上课场景,老师单向教学为主,老师和学生之间有简单的文字互动能力,允许3-10秒的延迟。这种形式没有实时互动,老师比较不适应。
3. 低延迟、互动直播:班课必备,可实现多人连麦、顺畅视频通话,配有白板、IM等教具,延迟要求低于300ms。这种形式最接近线下教学课堂场景,整个上课体验有更好的沉浸感,但技术难度高、成本较高。
那为什么每天都能听到大量的关于登陆不上、高卡顿、掉线、系统崩溃等问题的吐槽呢?
要解决这个问题需要了解两个知识点:1. 任何系统都有容量上限;2. 高可用性的系统背后需要可靠的大型互联网系统支撑。
受疫情影响,为防止聚集性传播,年后大多数企业采用远程复工方式开工,大家复工在线办公或者开会的时间和学生上课直播使用流量的时间是比较一致的,这两个流量洪峰叠加起来,目前看是有点超出整个国内互联网的基础设施的当前承载力的。这次疫情中,很多教育行业没有类似的实战经验,出现预想和实际的用户及流量差距较大,IT系统无法支撑的情况,所以引发了这一系列的问题。
技术是揉不得沙子的,投入和回报一定成正比。我们建议教育行业的用户尽可能准确评估高同时在线人数,并留足冗余、设计好突发预案;技术层面要更好的进行架构优化、加强全节点监控,避免因架构缺陷、监控不全等原因无法稳定支撑业务运行,比如最近湖北等疫情严重地区明显流量涨幅高于其他地区,各省市也会有不同的政策,需要良好的监控和运营体系。
在线课堂的音视频质量好坏是由系统的端到端决定的。所以,在做好产品平台侧工作之外,还需要注重用户端所有细节,才能达到较好的上课体验。
1. 设备端:音视频质量与老师/学生设备性能、机型、平台有很大关系。很多第一次上网课的老师学生就在这里踩了坑,因为高清的视频是对设备性能有要求较高,如果使用纯音频或者低分辨率视频直播,设备性能要求较低。
2、设备端网络:音视频质量和老师、学生侧的家庭网络有关。尤其是老师侧,相对来说,有线网络好于Wi-Fi连接,Wi-Fi连接好于 4G网络环境。
高清实时音视频URTC背后的技术解析
事实上,和实时音视频互动质量强相关的主要是RTC平台。UCloud实时音视频产品URTC,依托UCloud强大的计算能力和网络覆盖,通过智能公网动态路由调度、三种算法动态智能联动、网络变化自适应无缝调整码率等方式,实现了高质量、抗弱网、低延迟的网络音视频通信,并支持万人直播推送。
1. 基于罗马网络,公网动态路由调度
基于UCloud在全球部署的32个可用区、28条专线、500+加速节点,UCloud在全球范围内构建了一张高速网,通过全球接入点就近接入、自研HTTP DNS调度算法,URTC可提供全球覆盖的音视频服务,国内平均时延70ms,国际平均时延不超过300ms,弱网下也能实现高质量音视频通信。
同时,通过对延时和丢包率的深度学习化我们可以精准的预测网络的波动变化,URTC能做到更早发现网络拥塞、更早适应网络变化。
2. 抗丢包算法,NACK+FEC+ARQ
互联网是一种尽力而为的传输(Best-effort)网络,因为带宽变化在流媒体的传输过程中丢包、抖动、时延等情况时有发生,这就意味着还需要抗丢包算法。URTC利用NACK+FEC+ARQ三种算法动态智能联动,通过动态调整重传和冗余数据包的比例,实现在通话质量和网络延时之间达到很好的平衡。目前在网络丢包率40%的情况下,URTC还能稳定的传输视频,网络丢包率高达70%时,URTC也还能保证音频的传输。
3. 网络变化自适应,无缝调整码率
在服务端, URTC针对每个用户做了一个缓冲区,针对网络不好的终端用户,采用先通知远端降低码率,码率达到下限,在缓存区进行数据的丢弃,以保证接收端的低延时;同时针对不同网络情况的用户,服务端也根据当前网络状态进行冗余数据的下发,最终实现抵抗网络抖动,大支持800ms网络抗抖动。
在下行推流端,URTC实时音视频采用抖动缓冲去抖动,并采用智能播放策略,获取区采用状态机策略,分为填充、播放、慢放、等待、快放等,根据不同的状态机进行数据的不同的处理逻辑,这样保证数据播放的平稳和延时,同时NACK 变为和RTT相关的策略,根据投递的成功率进行投递间隔的改变,防止NACK 投递引起的重传风暴和带宽浪费。
一体化RTC实时音视频解决方案
仅仅一个实时音视频产品是不够的,用户的需求非常多,从服务器设备的部署、开发到后期的运维都耗时耗力。UCloud结合自身公有云平台其他产品推出了一体化实时音视频解决方案。实时音视频只是一个线下场景线上化的入口,后端可以承载VR、AR、存储、AI、旁路推流、截图等各类应用接口,支持如金融双录、远程诊疗、电商快直播带货、视频物联网、音视频社交等场景。
UCloud 音视频URTC产品可以导出视频流、图片等文件,这些文件通过UCloud RTC实时集群的转码中心、AI处理平台和视频水印算法等操作,利用RTC直播集可实现音视频连麦互动推送万人直播,也可以直接转换成文件存储在云端。
除了在线教育外,URTC还可以广泛应用于智能家居、远程医疗、视频会议、娱乐直播、安防监控等场景。疫情期间,也出现了云蹦迪等创新的场景,这些场景推动了音视频的发展以及云计算平台。
附Q&A热点注话题讨论
1. 如何实现快速在线扩容?
流量洪峰来临前,如何储备、储备多少,要如何分配现有资源?是否需要扩容、扩多少?大流量洪峰可能在哪?计算、存储和网络资源成本比较高,任何一家公司都不可能无限冗余资源,这个时候云资源的独有优势就会展现出来了,可大大降低企业自建数据中心的成本,弹性可扩容等也可让用户迅速的提升自己的承载能力。这次疫情期间,没有使用公有云平台的用户反应比较迟缓,受限于春节期间机房进不去、很多的供应商、物流、施工方都因疫情而无法开工。
除了选择公有云平台之外,教育行业用户加强自身IT平台的技术能力,架构要支持分布式部署,同时可以利用容器技术将应用容器化,这会让扩容更容易一些。
2. 如何解决卡顿、掉线等问题?
答:教育行业用户加强自身IT能力和技术储备。技术层面要更好的进行架构优化、加强全节点监控,避免因架构缺陷、监控不全等原因无法稳定支撑业务运行。
同时,一定要做柔性降级的预案准备,一旦遇到全网流量超出基础设施资源能力的情况下,牺牲掉一些无关紧要的,提供临时有损服务,大程度的保障用户的可用度;如视频类网站,网络情况好的时候可以看超清、1080P、蓝光等,但网络信号一旦变弱或者资源受限的情况下,就会建议通过一些降低码率、帧率甚至是采取降级为纯音频的手段,保障授课的连续性。