【技术创作101训练营】如何快速构建教育直播产品

2021-01-18 11:13:53 浏览数 (1)

PPT:

如何快速构建教育类直播产品.pptx

演讲文稿:

今天分享的主题是:如何使用公有云服务快速构建一款在线教育直播课产品

一、什么是教育直播课产品

1、产品构成

我们首先从学生的角度,看一下一个主流的在线教育直播课都包含了那些部分。这个图是学生选课报名以后,进入直播间以后看到的产品画面。

左半部分是一个课件的展示区: 展示老师授课过程中的课件,比如PPT、WORD、PDF等等

右上角是老师头像的展示区;展示老师的直播画面

右下部分是学生、老师聊天展示区:展示聊天信息、系统通知等等

左下角是学生连麦的展示区:展示连麦学生的具体情况

从这张图会对在线教育直播课有一个大概的印象。从产品的角度来分析, 这个直播产品中会包含以下四大部分:

1)教师端产品:这个是给主讲老师、助教老师来使用的。用于直播推流、课程秩序的管理、与学生的互动等等

2)学生端产品:这个是给学生听课使用的。学生可以使用该产品进行选课,报名,听课,观看回放、完成作业等等。

3)产品的管理后台:这个是给机构来使用的。用来进行课程的管理,比如教师管理,学生管理,课程管理、财务管理等等

4)运营工具类产品:这个是给运营人员来使用。

对产品有一个大概的印象,我们现在来看一下,为什么更加倾向于使用公有云服务来构建实现这个产品。

二、为什么使用PaaS服务

通过刚刚的介绍,我们知道这个产品涉及到的角色多,有主讲,有助教,有学生,有机构,有运营。每个角色都需要一个单独的子产品。

从构建的角度来看,有三种途径:完全自研、基于PaaS服务来构建,直接使用现有的SaaS服务

着眼于现在和未来,分别从以下维度来比较一下:

1、实现难度

我们从技术的角度来梳理一下,里面所涉及到的关键技术点:

1)直播相关的服务(推流、拉流、转码、存储、IM及时通信)

这个是核心。

如果是自研,就需要从设计角度考虑可以支撑的并发用户数、各个平台的支持情况、端到端的延时、抗网络抖动、抗丢包、弱网环境等一系列复杂的问题。这个实现难度无疑是非常巨大的,如果没有以年为单位的积累,可以说是完全不可行的。

对于PaaS服务、SaaS服务来说,除了各个平台的支持情况需要考量之外,其它的都比较成熟,不是问题

2、投入资源

主要包括资金投入和人力投入。

自研的投入无疑是最大的,需要前期有一些列的技术积累。

如果从短期角度来看,前期开发阶段PaaS服务需要投入人力进行持续开发,整体投入是大于SaaS服务的。

如果从长期的角度来看,PaaS服务支持按量计费,整体投入投入是远低于SaaS服务的

3、上线时间

自研上线时间最长,SaaS服务最短,PaaS服务处于两者之间(各项资源充足的情况下,2个月可以拿出第一个版本)

4、长远考虑

教育行业是一个服务性很重的行业,而且是一个长期性的。在这样一个长期性的过程中,随着业务的不断发展,必然会有自己业务特有的一些需求需要实现。

从这一点来看,自研和PaaS服务,都完全有能力来满足自定义需求的开发。但SaaS服务由于是一个整体性的服务(可能是面向整个行业的),做自定义需求很难甚至完全无法满足自定义的需求。

通过上面的分析,既然使用公有云来构建云来构建有这么大的优势,我们看一下该如何去构建

三、具体如何构建

我们以学生端为起点,做一定的抽象,看这张图。

以腾讯云为例,分别找到所对应的PaaS服务,拿过来做一定的整合。

1、推流、拉流、连麦、转码、存储相关的服务:TRTC

https://cloud.tencent.com/document/product/647/32689

2、互动白板:TIW服务

https://cloud.tencent.com/document/product/1137

3、聊天区:IM及时通信: 腾讯IM

https://cloud.tencent.com/document/product/269

4、管理后台:云开发cloudbase

https://cloud.tencent.com/document/product/876

不可回避的,即使通过PaaS,也会有一些问题,现在我们看一下会存在的问题

四、发现的问题

1、开发资源的问题:

1)各项服务的整合,都需要开发的投入,包括教师端的投入,学生端的投入,管理后台的投入,这些都需要开发和产品的深度介入。初步估计,每一个端都需要投入1-2名开发同学,如果是一家中小型企业,整体资金有限的情况下开发的投入会是一笔不小的支出

2)产品的整合与打磨

虽然核心的问题公有云服务解决了,产品快速整合,可能在2-3周就可以快速完成。但是在产品打磨过程中,必然会出现一系列的问题,这些都需要时间来去解决。

初步估计如果有现成的开发团队,第一个版本6-8周就可以快速上线。 如果没有开发团队,组建产研团队,也会耗费4周时间 。

2、技术细节的问题:

1)同步的问题:因为是多个独立的产品,每个产品都有自己的时间戳和延时。

举一个例子,假如学生端拉流这边的延时如果是1500毫秒,IM侧这边的延时是100毫秒。假如这样一个场景:老师讲完这句话,IM的指令100ms以后就响应了,但是老师的话要1500毫秒才能听到,这个就会影响到产品体验。

由于延时的不确定性,从产品设计的角度去规避总是不够完美。

3、服务支持的问题

1)由于底层的核心是公有云在支撑。假如底层服务出现了问题(虽然这个几率很小),如何快速响应 ?

大家都知道,各家公有云目前都是采用的工单系统,如果靠工单,可能这节课已经过去了,工单还未响应。

最后做一个总结

五、总结

通过这次分享,希望能够给在线教育领域的产研小伙伴一些思考,甚至能够激发小伙伴的兴趣,自己动手来实现一个教育类产品。

1)教育的初衷是服务用户,无论构建何种产品,都不要忘记这个初衷。

2)做好的产品,并无捷径可言。能够在当下和未来、用户和实现、投入和产出之间找到一个平衡点,服务好用户才是最适合的。

0 人点赞