在线教育行业是如今比较热门的行业,很多教培机构,或成立自己的技术团队做教育系统开发,亦或是请专业的软件商做主力输出。事实上,很多的教培机构核心从业人员对教育系统中所牵扯到的技术不是很了解,所以为了避免在技术上出现入坑的情况,今天小编就带各位看官了解下,教育系统开发中的一些技术问题解析,主要是系统的应用层方面。
一、PC端推流工具
在大多数教育系统中,都会牵扯到直播功能,而提到直播功能,就不得不说一下推流。目前PC端常用的推流就是相对来说比较成熟,主要涉及到视频解码技术、音频解码技术、图像处理技术和多媒体封装格式技术等方面。为了保险起见,也是为了最大化的降低时间成本,若此技术团队中,没有人非常精通此环节,那还是找专业的团队来开发。
二、Android端、iOS端推流工具
和PC端推流工具的处理过程一样,目前像是Javavc、yasea等都是可以实现软编码和硬编码的RTMP协议推流,主要应用于Android端,开发者也可以根据Android sdk自主开发实现,难度相对较小。而对于iOS端推流工具,则可以使用iPhone本身集成的GPU进行H.264硬件编码,实现起来相对比较容易。
三、播放器的选择
对于教育系统开发来说,由于之后会有很大几率要牵扯到多个终端来回切换,那么直播功能也会涉及到多端直播,那么每个端口的播放器就不得不考虑。首先是Android端播放器,这一块,需要对专业的音视频编码技术和流媒体协议有详细的了解,以及ffmpeg开源软件,当然,在开发过程中也可以参考第三方比较优秀的播放器模块,如Oplayer。iOS端播放器,主要是基于iOS系统本身的VideoToolBox开发,类似的参考项目有SGPlayer,ijkplayer。HTML5播放器,
HTML5网页版播放器,实现起来相对容易,在Android和iOS端通用,有很多开源项目可做参考,因此在这就不做过多的展开了。Flash播放器,已经逐渐淡出江湖,而且将来各个厂商均会大力支持HTML5标准,因此不再做重点介绍。
以上,就是教育系统开发过程中,一些相关的技术问题解析,牵扯到直播的方面比较多,因为和用户体验感有非常直接的关系。