1、1网校策划方案服务端 21.开发环境 22.视频处理 22.1 视频流化处理 22.2 云服务整合和 cdn 加速 .22.3 视频防盗链 .23.用户角色/权限分配 23.1 管理员 .23.2 教师端 .33.3 学员 .3APP 端 .41.环境 42.开发语言 43.运营模块 44.课程模块 44.1.课程选择 44.2.课程购买(加入) 44.3 课时选择 .44.4 课程学习进度记录 .54.5 课程笔记 .54.6 练习题 .54.7 历年真题 .54.8 模拟考试 .55 视频播放模块 .55.1 接口鉴权,防盗链 .55.2 视频解码器 .55.3 视频播放操作 .55.4
2、缓存体系,离线观看 .55.5 视频质量选择 .65.6 观看位置记录 .66.资讯模块 67.个人中心 67.1 课程/课时/试题/收藏 .67.2 笔记 67.2 我的订单 .67.3 个人资料编辑 .62服务端1.开发环境系统基于 LNMP技术(即 Linux / Nginx / MySQL / PHP)开发,应用层基于Symfony2 Web Framework自主研发的一套高可用性、高可伸缩性的开发框架视频处理2.视频处理2.1 视频流化处理将上传的视频进行重新编码和格式转换,转换成体积小,清晰度高,适合通过网络进行播放的流媒体视频。2.2 云服务整合和 cdn 加速整合七牛云或保利
3、威视的云存储服务,将视频文件直接上传到云服务商的服务器上,有效的降低服务器部署成本与流量费用,同时快捷的实现视频备份与容灾。使用七牛 cdn服务,实现在全国各地,不同网络环境均能快速的访问到视频资源,减少点播等待时长。2.3 视频防盗链接入云服务商 API,实现视频播放鉴权、防盗链,避免视频课程被越权播放与下载。3.用户角色/权限分配3.1 管理员3.1.1 财务管理订单管理实现订单检索、管理与审核功能。支付接口接入微信与支付宝支付,统一管理后台,实时查看最新订单状态。3.1.2 咨讯模块资讯发布3栏目管理3.1.3 运营模块网站端首页轮播图设置设置网站端轮播图,点击后跳转到对应的页面。APP
4、端广告位管理设置 APP端轮播图,以及触发相应的动做。网站公告管理全站站内通知管理3.2 教师端3.2.1 课程管理课时管理发布内容为视频、语言、图文资料的课时3.2.2 学员管理对学员的课程权限进行增、删、改、查处理。3.3 学员3.3.1 个人中心账户中心账单查看、订单管理进度查看课程学习进度查看,相关数据统计3.3.2 在线学习视频课程观看,视频鉴权,播放器课程笔记课程问答3.3.3 在线考试在线答题,判分。网校 App开发交流 QQ:2584967094APP 端1.环境Android+iOS2.开发语言Object C;Swift;java;HTML5;Javascript3.运营模
5、块首页广告推荐位首页轮播图,点击轮播图执行相应的动作。推送模块通过服务端推送消息,点击推送的消息执行相应的动作。课程动态显示课程最新动态,例如最新上传的课时、试题等。4.课程模块4.1.课程选择首次启动 app可以选择课时,此后可以通过点击首页的科目名称来切换课程。4.2.课程购买(加入)打开课程时进行权限判断,如无权限则进入提示购买页面。购买整套课程后,可观看该课程下的视频,使用练习题与模拟考试功能。支付模块接入支付宝、微信等支付方式,使用支付状态异步回调接口,保证支付安全,避免掉单。订单体系,服务端对订单的业务场景进行判断,订单的处理皆在服务端执行,完善订单流程的安全性。4.3 课时选择课
6、时分为图文 视频 语音三种,打开课时根据不同课时形式执行相应的业务流程。图文课时,打开以图文的形式查阅,点击图文中的图片可以预览大图,拖动可5以调整图片大小。视频和语音课时,需要调用播放器模块,观看视频或听取相应音频。4.4 课程学习进度记录记录课程学习进度,标注已学课时和未学课时,如果是视频课程,打开课时列表时,会以进度条的形式显示学习进度。4.5 课程笔记进行课时学习时,可以添加课程笔记,写上自己对课时内容的心得体会与疑问,笔记可以在个人中心中-我的笔记中查看4.6 练习题4.7 历年真题4.8 模拟考试5 视频播放模块5.1 接口鉴权,防盗链视频占用空间与流量均较多,如果被嗅探出链接或盗
7、链,会大幅度消耗服务器资源,App 端使用二次验证的方式,通过加密 hash算法生成 token请求服务器,服务器进行解密后,校验正确才会返回视频地址,从而有效的防止被盗链,以及视频被越权播放。 ,5.2 视频解码器Android使用视频播放框架 vatamio,实现对绝大部分视频格式的支持,支持大部分手机的 GPU硬解码,降低播放时手机的性能消耗与耗电。5.3 视频播放操作提供播放、暂停、停止、前进、后退、拖动选择播放时间的播放器操作。5.4 缓存体系,离线观看支持视频下载,视频下载后,App 端可以在无网络情况下播放视频。视频会通6过更改文件 header信息的方式进行加密,避免用提取缓存视频的方式进行盗版。5.5 视频质量选择 提供高清、流畅两种视频质量的选择。5.6 观看位置记录播放时,每隔 30s记录一次播放位置,下次播放时,会读取最近一次的播放时间,继续从上一次观看的位置开始播放。6.资讯模块资讯展示与推送7.个人中心7.1 课程/课时/试题/收藏7.2 笔记7.2 我的订单7.3 个人资料编辑网校 App开发交流 QQ:258496709