网络课程直播平台系统设计与实现毕业论文
2020-03-09 10:22:51
摘 要
互联网的飞速发展为多个领域带来了新的机遇,而教育的发展却很缓慢,为了让教育质量也能得到提高,教育直播平台由此出现。
本论文所做的主要工作如下:
(1)研究了互联网直播平台的实现技术。首先研究了如何在PC上发起直播和在手机上进行观看,接着将录播的观看和直播聊天室等功能加入其中。
(2)提出了基于互联网的教育课程直播平台的技术框架。该框架基于国内著名的开源框架SRS实现,并使用ijkplayer开源播放器在Android客户端实现直播的观看。
(3)设计实现了基于互联网的教育课程直播系统。该系统的功能模块主要有管理端、教师端和学生端。管理端是系统管理员对系统进行维护和管理;教师端能够通过摄像头将教师的上课情景发布出去;学生端能在手机上低延迟地观看教师的课程直播,并能与教师进行交互,还能看到直播的预告和教师以前的录播信息。
本系统能够让每个人都能受到公平教育,在任何时间任何地点都能学到自己感兴趣的知识,对现有的教育模式和水平有明显的改善,让人们的学习效率和学习动力变得更高,对现在教育质量的提高有十分重要的意义。
关键词:教育;直播;实时;交互;移动终端
Abstract
The rapid development of the Internet has brought new opportunities in many areas. However, the development of education seems to be slow. In order for education to be improved, the platform for the education of live broadcast emerged.
The main work done in this thesis is as follows:
(1) Researched the technology of realizing the Internet live broadcast platform. Firstly, it studied how to launch a live broadcast on the PC and watch it on the phone, then added features such as recorded viewing and live chat rooms.
(2) The technical framework of the Internet-based educational course live broadcast platform was proposed. This framework is based on the well-known open source framework SRS in China, and uses the open source player, which is called the ijkplayer, to achieve live viewing on the Android client.
(3) Designed and implemented an Internet-based educational course live broadcast system. The functional modules of the system main are the management end, the teacher end, and the student end. The management end is the system administrator to maintain and manage the system. The teacher end is able to publish the teacher’s class scene through the camera. The student end must be able to watch the teacher's course broadcast on the mobile phone with low delay, and interact with the teacher, and see the live preview and the teacher's previous recording information.
The system can make everyone be educated on a fair level, and they can learn the knowledge they are interested in anytime and anywhere. This has obviously improved the existing educational model and level, so people's learning efficiency and learning motivation can become higher. Therefore, it is of great significance to improve the quality of education now.
Key words: education; live broadcast; real time; interaction; mobile terminal
目录
摘 要 I
Abstract II
目录 III
1 绪论 1
1.1 背景及意义 1
1.2 国内外研究现状 3
1.3 预期目标 3
1.4 论文内容 4
2 基于互联网的教育课程直播平台的技术框架设计 5
2.1 教育课程直播平台的技术框架 5
2.2 操作系统 6
2.2.1 Linux发行版CentOS操作系统 6
2.2.2 Windows操作系统 6
2.2.3 Android操作系统 6
2.3 开发语言 7
2.3.1 C# 7
2.3.2 Java 7
2.3.3 Html、Css、JavaScript 7
2.3.4 Python 8
2.4 开发环境 8
2.4.1 Visual Studio 2017 8
2.4.2 Android Studio 8
2.4.3 Intellij IDEA 8
2.4.4 IDLE 9
3 系统分析与设计 10
3.1 需求分析 10
3.1.1 管理模块的需求分析 10
3.1.2 教师模块的需求分析 10
3.1.3 学生模块的需求分析 11
3.2 功能模块设计及其说明 11
3.2.1 管理模块设计及其说明 11
3.2.2 教师模块设计及其说明 12
3.2.3 学生模块设计及其说明 12
3.3 数据库设计及其说明 15
3.3.1 数据库概念结构设计 15
3.3.2 数据库模型图 16
3.3.3 数据库逻辑设计 16
3.4 界面设计 21
3.4.1 pc端管理系统界面设计 21
3.4.2 教师端界面设计 30
3.4.3 学生端界面设计 34
3.5 设计难点和技术解决方案 40
3.5.1 管理端如何连接数据库和写数据中文乱码问题 41
3.5.2 教师端如何上传大容量视频文件 41
3.5.3 学生端如何向服务器提交请求 41
3.5.4 学生端如何观看到直播内容 41
3.5.5 直播服务器如何搭建 42
3.5.6 学生教师聊天室的设计 42
4 系统实现与测试 43
4.1 界面的实现 43
4.1.1 管理端界面的实现 43
4.1.2 教师端界面的实现 43
4.1.3 学生端界面的实现 43
4.2 主要功能的实现 43
4.2.1 管理端的实现 44
4.2.2 教师端的实现 46
4.2.3 Android客户端的实现 46
4.2.4 直播服务器的实现 48
4.3 系统测试 49
4.3.1 测试用例 50
5 结束语 53
参考文献 54
致谢 55
1 绪论
1.1 背景及意义
我们现处的是一个互联网迅速发展的阶段,生活中的各种信息通过互联网进行传播,互联网由于速度快、成本低、范围广等特性极大地丰富了人们的生活,让人们的生活变得更加方便。在互联网时代,我国互联网用户数量也越来越多,截至2017年6月,网民规模已到达了7.51亿,占全球网民总数的五分之一,而手机互联网用户规模达到7.24亿人[1]。在互联网技术不断进步的同时,人们的生活方式变化了很多,一些传统的生活习惯现在已经不适用了。生活中的很多东西都能被信息化,这为人们带来了生活的便利和快捷。在享受着互联网带来好处的同时,人们也利用它深入各个行业,以此来让生活更加丰富。所以也就诞生了很多互联网应用,这些应用充分利用了现有的资源来为人们服务,而其中对于现在的教育事业有贡献的就是教育直播平台。
教育是每个人都必须所经历的,人们在接受教育的同时也是在不断地提升自我,让自己综合素质得到不断地提升,在成长过程中不断地积累知识财富,学习到新的知识,并利用这些知识来发现世界,改变世界。同时,一个国家的综合实力被教育支撑着,国家和民族的发展十分依赖于教育,教育为国家培养的人才对国家的发展有着重要的作用。而由于我国的地区发展水平和教育者的知识水平不一样,也导致了现在的教育出现了不公平、方式单一等情况。这就迫切地需要实现一个教育系统来改变这种现状,让全民教育的方式得以兴起,利用新的信息技术来促进教育公平[2],提高我国的教育水平。互联网教育作为我国教育领域的新秀[3],为了让教育系统能够得到普及,就需要用到现有的互联网技术,而最简单的方式就是以直播的方式来进行教育。因此开发出一个远程教育直播平台不仅能让每个人都能公平、实时地接受教育,还能改变国家的教育现状,为教育带来新鲜的活力。
教育直播平台是随着互联网直播行业的兴起而发展起来的,它为我国目前的教育现状带来了新的活力,它因为具有互动性强、实时性高等特性而受到关注[4]。通过教育在线直播,能让不同地区的人们都能受到同样的教育水平,也为教师带来了互动上的快捷,提升整体的教育效果。国内目前的教育直播平台有腾讯课堂、慕课网、沪江网校等,这些平台中有一部分资源是免费的,一部分资源是收费,真正能够免费观看的资源还是比较有限的。
在一般的学生上课和教师讲课时,学生都是能够看到教师并且能够和教师进行交流互动,但这需要学生必须在一定的时间到达学校才能听到教师讲课,这就对学生有一定的要求,而且一些学生对所安排的学科不感兴趣,除了必须学习的课程外,难以学到自己感兴趣的知识[5]。因此开发一个多方面的、实时性强的远程教育直播平台对于学生来说非常必要。学生只需要在移动终端上联网在线观看或者观看之前的教师上传视频就能学习到自己所需要学习的知识,这对学生的综合素质的提高有着重要的作用,而且对于教师来说也是非常方便。
观看直播和视频的方式逐渐向移动端发展,并且在未来也将可能代替其他的观看方式,移动互联网技术已经逐渐发展成为我国通信领域中的主要技术之一[6],移动终端也变得越来越普及,成为大多数人生活中不可分开的一部分。而在现有的移动终端平台里面,Android系统所占的比例是最高的,这主要得利于现在的硬件技术的提高和Android操作系统本身的开源性。现在的Android系统已经非常成熟了,为其开发相应的软件也变得简单起来,生活中所需要的软件在Android平台下基本上都能找到。因此开发一个在Android平台上观看远程教育直播的软件,能够满足大多数人的需求,为人们接受教育提供了更好的方式,让人们能更加主动地去学习。
开发一个远程的教育直播平台不仅让教师和学生从其中得到便捷,更重要的是它能对我国的教育的进步具有极为重要的推动作用,促进我国教育的飞速发展。教师可以在自己的电脑上发起直播,然后通过相应的摄像头和录音设备将自己上课的内容推送出去,这样教师就能够模拟在教室里面上课的情景,做到和在教室里面上课没有太大的差别。教师不必去教室,只需要在自己的家中或其他能进行教育直播的地方来发起自己的课程直播即可。学生只需要在自己的Android手机上安装移动客户端,就能看到教师的直播视频,得到新的移动教学体验[7]。在这里面,学生可以在联网时通过本软件来进行实时直播课程的观看,而当教师没有在直播的时候,可以去看之前的教师所上传的录播视频来进行更系统的学习。在学生观看直播的过程中,可通过发送弹幕的方式来与教师进行交流互动。在远程教育直播系统中,根据教师的直播内容进行了相应的分类,让学生更容易地找到相应的资源。教师可以在没有发起直播之前发布自己的直播预告,这样学生就能知道教师直播的具体时间,做好相应的准备。在这样的一个系统中,学生能够随时随地学习,教师也能够通过各种途径发起课程直播,在这样的一个信息快速传播的时代能让教育得到进一步的发展。
这次研究的意义是:
1)解决目前教育学习中只能在一定教室或物理空间学习的空间限制以及只能在一定的上课时间进行学习的时间限制,学习者能够利用自己的空余时间来进行学习。
2)打破学习者学习内容的单一性,此时学习者不再是以往被动地接受教育,而是成为学习的定制者,他们可以学习自己感兴趣的内容和丰富自己不知道的领域知识,让学习者更加主动地学习。
3)促进了教育的公平性,我国目前的地区发展水平差别较大也导致了教育水平的偏差,而教育直播平台的出现可让每个学习者都能够享受同样的教育水平。
1.2 国内外研究现状
通过查阅相关的文献资料,我也知道了国内外对于开发这样的一个远程教育直播平台的现状。对于直播平台的搭建,能找到很多理论性的内容和实际的操作,包括从前期的视频采集和处理到后期的观看都非常详细[8],也给出了实际的解决方案[9],但大多数功能如学生教师间的交互以及课程的回放功能都没有,仅仅是一个直播平台中的一部分。在移动终端开发的研究内容也比较多,但也仅仅是简单的进行视频的播放,一些关键的功能都没有,无法满足学生和教师的需求。教育方式从最初的学生每天必须去学校被动地接受教育发展到了现在更加先进的利用网络主动地观看自己需要的课程内容,开发这样的一个系统,需要从多方面进行研究,最重要的是教师端推流和学生端进行拉流观看,都能在网上找到相应的教程,但都是简单地实现了,并没有结合目前的教育的需要。
虽然实现一个完整的远程教育直播平台有较大的难度,但随着互联网的飞速发展,现在的各种技术层出不穷,直播系统的功能变得越来越全面,在各大直播平台都能看到。而在现在的直播平台中很多观看内容都是收费的,很多学生还是消费不起。所以对于这样的一个适用于教育的直播平台,就需要和其他的直播平台有着明显的区别,最重要的就是为教育事业服务的,不需要很大的利润。
综上所述,目前暂无完整的、免费的、专注于提升教育水平的远程教育直播平台,故开发这样的一个系统非常有意义。
1.3 预期目标
本课题面向直播平台的搭建,为了能让学生能够在线观看到自己想要学习的内容和可以非常清晰地看到视频,探索了不需要利用现有直播商的服务接口而搭建一个直播平台所需要的技术手段,从视频直播的采集到观看进行了研究,预计实现以下几个目标。
1)能够满足一定数目的学习者同时在线观看。
2)清晰度高,能够在较低的延迟下让学生看到教师发起的直播。
3)教师和学生能够同步地进行视频和声音的传输。
4)有着较少的延迟和误码率,服务器要能够迅速地响应客户端的请求。
5)应该有良好的直播和视频的传输质量以及能进行实时的互动。
6)设置管理员,管理员能够对本系统进行相应的管理,让系统得以更好地运行,为学生和教师提供正常的运作保障。
1.4 论文内容
论文描述了一个远程教育直播平台的实现技术,对系统的研究背景、开发需求和实现技术做了详细介绍,论文结构简介如下。
摘要:对论文内容做了简要概述。
第一章:绪论。描述了系统研究的背景和意义,分析了国内外的研究现状,简要概述了论文的结构。
第二章:开发技术和工具介绍。描述了系统实现过程中所需要的技术和工具。
第三章:系统分析与设计。对系统进行了详细的需求和功能的分析,完成了系统的数据库的设计和界面的编写,并探讨了系统的实现难点。
第四章:系统实现。主要包括界面的实现和功能的实现,给出了具体的实现方法。
第五章:结束语。对系统所用的技术、难点、不足和个人体会做了总结。
2 基于互联网的教育课程直播平台的技术框架设计
教育课程直播平台是一个综合了多方面知识的系统,采用了多种架构和开发语言来实现,系统分为管理端、教师端和学生端。管理端采用的是C/S架构,主要在Visual Studio 2017上用C#语言来编写。教师端采用B/S架构,前端由Html、Css和JavaScript编写,后端主要由JSP、Struts2框架和Hibernate框架来实现,这主要是在Intellij IDEA上采用Java语言来编写。学生端是一个在Android系统上运行的直播软件,主要是在Android Studio上用Java语言来编写。整个直播平台的服务器运行的是Linux发行版之一的CentOS 6.8操作系统,在其中运行了整个系统的核心SRS,它主要用于解决实时传输视频流的问题,对SRS的管理是在IDLE开发环境上用Python语言来编写的。在教师与学生通信时,采用的是运行在Node.js上的开源框架Socket.IO,它支持客户端与服务器的双向通信,支持多种平台,在学生端编写通信连接来与教师端通过服务器运行的Socket.IO进行通信。
2.1 教育课程直播平台的技术框架
系统开发过程主要从视频采集、处理和编码到传输以及最后到解码和渲染。视频采集需要获取教师的课程直播视频,在本系统中主要是通过摄像头去获取;处理和编码是对视频进行个性化处理(如视频画质的调整、亮度的调节和摄像头的调整等)以及对视频压缩从而减小其大小和降低服务器压力;传输是采集的视频经处理后从教师端传到服务端再到学生端整个过程;解码和渲染是将服务器发送的视频信息进行处理从而能在移动端进行观看。系统的技术路线说明如下。
1)采集、处理和编码
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: