在线视频播放系统本科毕业设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在线视频播放系统
目录
摘要 (3)
Abstract (4)
1.引言 (5)
1.1研究背景 (5)
1.2研究的目的及意义 (5)
2.视频播放系统系统分析 (6)
2.1系统需求分析 (6)
2.2系统可行性分析 (6)
2.2系统功能需求 (7)
2.3系统框架 (9)
2.4数据流图 (10)
2.5系统介绍 (11)
2.6系统设计相关技术 (11)
2.7系统性能要求 (17)
2.8系统开发与运行环境确定 (18)
3.系统设计 (19)
3.1系统总体结构设计 (19)
3.2功能模块设计 (20)
3.3数据库设计 (23)
4.视频播放系统功能模块具体实现 (25)
4.1系统实现的关键技术 (25)
5.系统详细设计 (28)
5.1系统登录页面 (28)
5.2系统的注册页面 (29)
5.3获取密码页面 (30)
5.4普通用户主界面 (31)
5.5查看影片信息页面 (32)
5.6影片播放 (33)
5.7搜索影片信息 (34)
5.8资料管理模块界面 (35)
5.9管理员操作界面 (35)
5.10添加影片信息界面 (36)
5.11修改影片信息界面 (36)
5.12用户管理界面 (37)
6.系统测试 (38)
结论 (39)
参考文献 (40)
致谢 (41)
摘要
本系统根据流媒体传输原理,在局域网的基础上模拟基于WEB的视频播放系统,主要实现用户信息管理、观看视频、视频文件的添加、删除、修改、上传及搜索功能等,从而设计出符合现在人们需求的视频播放系统,为网络时代的人们提供方便、快捷的视频点播节目。

本系统开发所用集成开发工具为MyEclipse 6.5、数据库为MySQL,Web服务器为tomcat 6.0,具体实现将HTML、JSP、CSS及JAVA相结合,力求界面美观、操作流畅。

本系统采用B/S模式来开发一个使用方便的视频播放系统,这种模式可以使用户在任何一个具有浏览器的计算机,同时使链接网络的机器上都可以进行视频点播操作。

关键词:流媒体;JSP;视频播放
Abstract
The system according to the principle of streaming media transmission, on the basis of the LAN simulation Web-based video playback system, the main achievement of the user information management, and watch the video, the video file to add, delete, modify, upload, and search capabilities, which is designed to meetthe video playback system of people's needs, provide a convenient, fast video on demand programming for the Internet age people.
System development with integrated development tools for the MyEclipse 6.5 databases for MySQL, Web server as the tomcat 6.0, specific to HTML, JSP, CSS, and JA V A combining strive beautiful interface, smooth operation. The system uses the B / S model to develop an easy to use video player, this model allows the user to a browser's computer, and link networks of machine can be video-on-demand operation.
Key words: Streaming media; JSP; Video player
1.引言
1.1研究背景
我们都知道,大部分人获取信息的来源是通过互联网和电视,但是电视往往不能第一时间将新的消息传达到人们,因此互联网相对于电视来看,更适合将重大新文档视频图像传达给用户。

而且,视频对于人们来说已经不仅仅是用来做存储重要新闻信息的手段,更倾向于不同人群的不同需求,例如有些人,喜欢把自己拍到的有趣的事情分享给朋友,或者一些培训机构的老师通过录制视频教程,实现网络教学,而通过互联网,能方便快捷实现人们对于不同的视频的不同需求。

1.2研究的目的及意义
多媒体技术的概念和应用出现于20世纪80年代初期,经过了十余年的发展历程。

随着计算机网络和多媒体技术发展的普及,已成为计算机领域发展的热点技术,人们只要登录视频上传的网站,就能够根据视频的名称或者类别进行视频的搜索,搜索自己想要观看的视频。

作为互联网在线视频播放上传的服务网站,最终的目的是实现用户上传视频,实现用户自己的需求,例如通过上传的视频秀自己,把有意义的视频上传到互联网一方面可以和朋友一起分享,一方面也能通过视频和其它人进行交流,也可以上传电视剧剧集、电影、明星的演唱会、娱乐节目视频、供用户观看,也可以将当天发生的一些新闻或者用户经历过并拍摄下来的重大事件上传到互联网,进而来满足用户们的不同需求。

2.视频播放系统系统分析
2.1系统需求分析
需求分析是指需求分析人员将客户描述的需求用一种计算机语言描述出来,分析用户的要求是否能实现,是否还可以提供更多的功能。

要开发一个软件产品,首要也是最重要的就是需求分析,它是决定一个系统成功与否的关键。

本系统的目的是让用户通过本系统点播视频。

2.2系统可行性分析
可行性分析主要从技术、社会、经济三方面所给出的解决方案是否可行,通常只有当解决方案可行并有一定的经济效益和社会效益时才开始真正的基于计算机的系统开发[1]。

从而避免投资失误造成的损失,目的是以最短时间,最小代价,确定系统是否有开发必要,能否开发,值得开发,决定系统开发或者是不开发,本系统的可行性分析包括以下几个方面内容:
(1)经济可行性:经济可行性主要进行成本效益分析,对于一个项目经济上收益的评价,本系统的开发经费对于普通高等院校是完全可以接受的,并且维护方面不需要投入太多精力,这样低投入又能方便用户观看上传视频,所以在经
济方面是可行的。

(2)技术可行性:系统可行性分析主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。

技术可行性分析通常包括风险分析、资源分析和技术分析[1],包括软硬件是否满足开发者需要,本系统是采用Myeclipse6.5集成开发环境,使用B/S架构,采用的模式是经典的MVC三层,使用JSP和Servlet,数据库采用的是MySQL,该数据库单表查询是最快的,硬件方面的要求不是很高,现在的硬件发展速度太快,性能方面也越来越强,容量越来越大。

因此技术方面是可行的。

(3)法律可行性:法律可行性主要研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。

1990年我国颁布了《中华人民共和国著作权法》,其中将计算机软件作为著作权法的保护对象。

1991年国务院颁布了《计算机软件保护条例》。

这两个法律文件是法律可行性分析的主要依据[1]。

踪上所述,本系统能够确定开发,在技术和经济方面都是可行的,并且能实现低投入。

所以在线视频播放系统的开发是完全可行的。

2.2系统功能需求
在线视频播放系统中有两类用户,普通用户和管理员,它们分别对应着普通用户模块和管理员模块。

2.2.1普通用户模块是在线视频播放系统的主体模块,它具有以下功能:
(1)用户注册
未注册用户可以注册新的账号,在注册页面填写相关的注册信息,添加注册信息到系统的数据库中,以后就能用该账号登录到系统中。

(2)用户登录
注册用户填写登录信息经过系统验证之后就能浏览该账户的权限所能访问的页面。

(3)取回密码
如果已经注册的用户忘记了自己登录的密码,可以通过获取用户密码模块取
回自己的密码,填写用户名,点击取回密码按钮,系统将从数据库读取用户名和密码,以邮件的形式发送到邮箱。

(4)查看影片信息
查看影片信息模块是普通用户的主体操作模块,这个模块包括查看影片信息界面(movie_detail.jsp)、观看影片界面(view_movie.jsp)和下载影片界面(download_movie.jsp)。

(5)观看影片
通过查看影片信息界面(movie_detail.jsp)中的“在线观看”链接进入观看影片界面(view_movie.jsp),而(movie_detail.jsp)页面同时将所要观看的视频文件名作为参数传递给(view_movie.jsp)页面,在(view_movie.jsp)中,首先获取所要播放影片的文件名,然后嵌入一个flash播放器,这个播放器是由DHTML语言实现的。

(6)搜索影片
搜索影片信息模块为用户提供了搜索影片的功能,这个模块包括填写影片搜索信息界面(search_movie_form.html)和显示搜索结果界面(search_movie_result.jsp)。

(7)资料管理
资料管理模块实现修改用户密码和修改用户其他信息的功能,它包括资料管理界面(info_management.jsp)、修改用户密码界面(modify_password_save.jsp)和修改用户其他信息界面(modify_info_save.jsp)。

(8)用户退出
用户退出界面(logout.jsp)的功能是移除session中保存的用户信息,并将当前页面跳转到在线视频播放系统的首页(index.jsp)。

2.2.2管理员模块负责在线视频播放系统的管理和维护工作,它具有以下功能:(1)修改影片信息
修改影片信息模块主要是修改影片信息的功能,这个模块包括影片信息界面(modify_movie_form.jsp)和处理修改的影片信息界面(modify_movie_save.jsp),通过影片管理界面(movie_management.jsp)中的
“修改”连接可以进入修改影片信息界面(modify_movie_form.jsp),这个页面列出了当前所要修改的影片的详细信息。

(2)添加影片信息
添加影片信息模块主要是添加影片信息的功能,这个模块包括填写影片信息(add_movie_form.jsp)和添加影片信息界面(add_movie_save.jsp)。

(3)删除影片
在影片信息管理界面(movie_management.jsp)中,选中所要删除的影片信息,然后点击“删除选中的影片”按钮便会转到删除影片信息界面(delete_movie.jsp)删除影片信息成功。

(4)管理用户信息
管理员可以根据情况,选中用户,删除一些用户(delete_user.jsp)。

2.3系统框架
2.3.1普通用户系统框架如下图2-1所示:
图2-1普通用户系统架构
2.3.2管理员系统框架如图2-2所示:
图2-2管理员系统架构
2.4数据流图
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

顶层数据流程图如图2-3所示:
图2-3顶层数据流程图
2.5系统介绍
本系统为B/S架构的网站视频播放系统,开发模式方面采用的是经典的MVC 模式,前台方面没有运用struts等框架,考虑到个人开发,因此是纯jsp页面,jsp页面包含HTML语言,本系统开发所用集成开发工具为MyEclipse 6.5、数据库为MySQL,Web服务器为tomcat 6.0,系统整体尽力追求模块化,追求“高内聚、低耦合”,力求安全性、方便性、实用性,同时也严格按照MVC的方式将各个功能模块隔离,这样便于后期维护和管理。

本系统的特点:
(1)本系统是B/S的web项目,采用分布式开发,因此只要能够访问Internet 就能访问本系统的一些功能。

(2)用户接口友好,操作简单,使用方便。

(3)任何windows版本都可访问。

2.6系统设计相关技术
2.6.1流媒体技术的介绍
流媒体是在网络上传输音/视频等,目前主要有下载和流式传输两种方案。

A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。

流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。

当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。

流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。

流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点[2]。

2.6.2系统开发平台的选择
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun
Microsystems公司于1995年5月推出的Java程序设计语言和JAVA平台(即JAVASE, JAVAEE, JAVAME)的总称。

JAVA技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群[3]。

在全球云计算和移动互联网的产业环境下,JAVA更具备了显著优势和广阔前景同时JAVA语言的具有以下几个特性[4]:
(1)易于学习
Java 语言很简单。

这里所说的简单,主要是针对熟悉类似C++语言的程序设计人员来说的,因为它的语法和C++非常相似,但是它摒弃了C++中许多低级、困难、容易混淆、容易出错或不经常使用的功能,例如运算符重载、指针运算、程序的预处理、结构、多重继承以及其他一系列内容,这样便使其比其他许多编程语言更有利于有程序设计语言基础的Java语言初学者的学习。

利用Java语言还能够编制出非常复杂的系统,且运行时占用很少的内存资源。

(2)高效率的执行方式
用Java语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。

它综合了解释性语言与编译语言的众多优点,使其执行效率较以往的程序设计语言有了大幅度的提高。

(3)与平台无关性
Java源程序经过编译器编译,会被转换成一种我们称之为“字节码(byteˉcodes)”的目标程序。

“字节码”的最大特点便是可以跨平台运行,即程序设计人员们常说的“编写一次,到处运行”,正是这一特性成为Java得以迅速普及的重要原因。

(4)分布式
所谓的分布式主要是指数据分布和操作分布两层意思,数据分布是指数据可以分散在网络中不同的主机上,操作分布是指把一个任务分散在不同的主机上进行处理。

Java从诞生起就与网络联系在一起,它强调网络特性,内置TCP/IP,HTTP,FTP协议类库,便于开发网上应用系统。

(5)安全性
Java2平台采用了域管理方式的安全模型,无论是本地代码还是远程代码都可以通过配置的策略,设定可访问的资源域。

当Java字节码进入专门处理该内容的程序(即后面所说的解释器)时,首先必须经过字节码校验器的检查,然后Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。

最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。

上述几种机制结合起来,使得Java成为安全的编程语言。

(6)多线程
Java的多线程机制使应用程序中的线程能够并发执行,且其同步机制保证了对共享数据的正确操作。

通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易在网络上实现实时交互行为。

(7)丰富的API(Application Program Interface)文档和类库
Java开发工具包中的类库包罗万象,应有尽有,程序员的开发工作可以在一个更高的层次上展开,这也正是Java受欢迎的重要原因之一。

Java同时为用户提供了详尽的API文档说明。

2.6.3 JA V A技术应用
(1)Servlet
Servlet是服务器端的JAVA应用程序,通过词义来看是小型server端,同Applet一样。

服务器上的一些程序经常是根据用户输入访问数据库的程序,这些通常是使用公共网关接口应用程序完成的。

但是在服务器端运行的JAVA,通过这种程序即可实现,这种能够在服务器端运行JAVA的小程序,就是Servlet。

最早支持Servlet技术的是JAVASoft的JAVA Web Server,此后,一些其它的基于JAVA 的WebServer开始支持标准的ServletAPI,Servlet的主要功能是用于交互式的浏览和修改数据,生成动态的web内容。

Servlet的生命周期:
①Server创造一个Servlet对象,调用其中的init()方法;
②当一个客户端请求到达Server,Server会创建一个请求物件,创建一个相应对象,Server启动Servlet的service()方法,传递请求和相应对象作为参数。

③service()方法获得关于请求对象的信息,处理请求,访问其它资源,获得需要的信息。

service()方法使用响应对象的方法,将响应传回Server,最后传回客户端。

其中service()方法可能启动其它方法以处理请求,如doGet()或者doPost()。

④当Server不再需要Servlet时,Server将会调用Servlet中的destory()方法。

Servlet的工作模式如下:
①客户端发送请求到服务器;
②服务器启动并调用Servlet,Servlet根据客户端请求生成相应内容并将其发送传递给服务器;
③服务器将回应返回给客户端。

Servlet的优势:
①可移植性
Servlet是利用JAVA语言来开发的,因此,延续JAVA在跨平台上的表现,不论Server的操作系统是Windows、Solaris、Linux等等,都能够将我们写好的Servlet程序放在这些操作系统中执行,借助Servlert的优势,就可以真正实现一次编写,处处执行的境界,这正是从事JAVA程序员最感到骄傲的地方,开发Servlet时不必考虑客户端平台,主要原因是Servlet是在Server端执行的,因此,程序员只要专心开发能在实际应用平台环境下测试无误即可。

②强大的功能
Servlet能够完全发挥JAVA 的API的威力,包括网络的URL存取,多线程、影像处理,、RMI、分布式服务器组件,、对象序列化等,若想写个网络目录查询程序,则可利用JNDI API,想连接数据库,则可利用JDBC,这些强大的功能都有API做后盾,相信Servlet更能发挥其优势。

③较好的性能
Servlet在加载执行之后,其对象通常会一直停留在Server的内存中,若有请求发生时,服务器在调用Servlet来服务假若收到相同服务器的请求时,Servlet会利用不同的线程来处理,不想CGI程序必须产生许多进程来处理数据,,在性能的表现上,大大超越以往的撰写的CGI程序。

Servlet在执行时,不是一直停留在内存中,服务器会自动将停留时间过长一直没有执行的Servlet 从内存中移除,不过有时候也可以自行写程序来控制,而停留时间的长短通常和选用的服务器有关。

④安全性
Servlet也有类型检查的特性,并且利用JAVA的垃圾回收机制,与没有指标的设计,使得Servlet避免内存管理的问题。

由于在JAVA异常处理机制下,Servlet能够安全的处理各种错误,不会因为发生程序上逻辑错误而导致整体服务器系统的崩溃,例如如果产生了逻辑运算错误,则会将异常抛给服务器,程序
挑出当前逻辑并终止,服务器则会根据当前的异常,将记录写在日志中。

(2)JSP
JSP(JAVA Server Page)是一种动态网页技术标准,JSP技术有点类似ASP 技术,它是在传统的HTML页面之上加入JAVA代码段,和JSP标签,而形成的.jsp 文件,JSP技术使用JAVA编成语言编写类XML的卷标,来封装产生动态网页的处理逻辑,网页还能够访问存在于服务端的资源的应用逻辑,JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得容易和迅速。

JSP工作原理:
JSP和ASP一样是作为Web项目的前端页面,又和Servlet一样是服务器前端执行的,通常返回给客户端静态的HTML文本,所以客户端只要有浏览器就能浏览。

当Web服务器遇到访问JSP页面请求时,首先通过JSP容器执行其中的代码段,然后执行结果连同JSP中HTML代码一样返回给客户,插入的JAVA的代码段可以操作数据库,复位向或是转发到其它网页,以实现建立动态网页所需要的功能。

JSP的优势:
①可移植性
从本质上讲,JSP就是Servlet,不过JSP倾向于负责前端页面显示,是包含两种结构的文件,两种结构分别是HTML代码,以及JAVA代码,其中JAVA代码部分是有服务器端的web服务器的JSP容器编译执行,并且将静态结果和JSP 中包含的HTML代码结合成静态的HTML文本返回到客户端显示,又由于JAVA代码结构中立,只要是安装了JAVA虚拟机的机器都能够编译并执行,所以包含有JAVA代码的JSP也同样拥有这个特性。

②系统多平台支持
系统的多平台支持。

基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。

相比的局限性是显而易见的。

③强大的可伸缩性
强大的可伸缩性。

从只有一个小的jar檔就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

④多样化和功能强大的IDE开发工具
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

⑤支持服务器端组件
web应用需要强大的服务器端组件来支持,开发人员需要利用其它工具设计实现复杂功能的组件供web页面调用,以增强系统性能。

JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

(3)数据库的引入
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。

通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。

数据库系统的萌芽出现于60 年代。

当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。

传统的文件系统已经不能满足人们的需要。

能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。

在数据库随后的发展中,关系数据库、结构化查询语言、面向对象数据库等数据库的重要技术也应运而生[5]。

为什么要使用数据库技术,即使文件系统可以解决很多问题,但是有些问题是不能得到解决,如果给文件系统加上这些特性,那么文件系统也就成为了一个数据库。

①数据的冗余与数据不一致:重复数据多,而且对于分布式,同时有可能出现数据无法同步的问题。

②数据访问困难,数据孤立:因为数据存储没有采取同样的格式,使得使用统一的接口访问数据变得不可能。

③整性问题:数据的正确性和兼容性。

④原子性问题:就是事务处理,如何保证一个操作的完整性。

⑤并发访问:这也是事务处理的一部分,数据库需要应对同时异地对同一个数据操作的可能。

⑥安全性问题:主要是数据库访问权限问题。

为什么使用数据库,因为高效,有序,安全,多方的组织,存储,读取组织数据,并且使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。

此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。

操作直观,使用灵活,编程方便,环境适应广泛,处理能力极强。

数据库在我国正得到愈来愈广
泛的应用,必将成为经济管理的有力工具。

2.6.4 MySQL数据库简介
本系统的数据库方面,选用的是MySQL,原因是MySQL的单表查询是最为迅速的,而且作为一个在线视频播放系统系统,没有像其它系统那样需要多表联查的环境和条件那么多,大多数情况下都只是单表查询,因此本系统的数据库方面选择了它。

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。

在2008年1月16号被Sun公司收购。

而2009年,SUN又被Oracle收购.对于MySQL 的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[6]。

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程去连接表格,不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。

这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。

对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

2.7系统性能要求
2.7.1系统质量
本系统为在线视频播放系统,因此在线视频播放系统应具备下几点:
(1)功能性
软件的实质是功能的实现,功能实现是首要的,因此一个基本功能的不完善的系统,就没有任何价值,只有经过开发并严格测试的系统,实现基本功能后才能满足用户需求。

相关文档
最新文档