在线视频播放系统毕业设计说明书.docx
- 文档编号:11327082
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:39
- 大小:1.62MB
在线视频播放系统毕业设计说明书.docx
《在线视频播放系统毕业设计说明书.docx》由会员分享,可在线阅读,更多相关《在线视频播放系统毕业设计说明书.docx(39页珍藏版)》请在冰豆网上搜索。
在线视频播放系统毕业设计说明书
摘要
本系统根据流媒体传输原理,在局域网的基础上模拟基于WEB的视频播放系统,主要实现用户信息管理、观看视频、视频文件的添加、删除、修改、上传及搜索功能等,从而设计出符合现在人们需求的视频播放系统,为网络时代的人们提供方便、快捷的视频点播节目。
本系统开发所用集成开发工具为MyEclipse6.5、数据库为MySQL,Web服务器为tomcat6.0,具体实现将HTML、JSP、CSS及JAVA相结合,力求界面美观、操作流畅。
本系统采用B/S模式来开发一个使用方便的视频播放系统,这种模式可以使用户在任何一个具有浏览器的计算机,同时使链接网络的机器上都可以进行视频点播操作。
关键词:
流媒体;JSP;视频播放
Abstract
Thesystemaccordingtotheprincipleofstreamingmediatransmission,onthebasisoftheLANsimulationWeb-basedvideoplaybacksystem,themainachievementoftheuserinformationmanagement,andwatchthevideo,thevideofiletoadd,delete,modify,upload,andsearchcapabilities,whichisdesignedtomeetthevideoplaybacksystemofpeople'sneeds,provideaconvenient,fastvideoondemandprogrammingfortheInternetagepeople.
SystemdevelopmentwithintegrateddevelopmenttoolsfortheMyEclipse6.5databasesforMySQL,Webserverasthetomcat6.0,specifictoHTML,JSP,CSS,andJAVAcombiningstrivebeautifulinterface,smoothoperation.ThesystemusestheB/Smodeltodevelopaneasytousevideoplayer,thismodelallowstheusertoabrowser'scomputer,andlinknetworksofmachinecanbevideo-on-demandoperation.
Keywords:
Streamingmedia;JSP;Videoplayer
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数据流图
数据流图(DataFlowDiagram):
简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
顶层数据流程图如图2-3所示:
响应操作信息或者播放视频
新用户
普通用户
注册
登录系统、操作信息或者播放视频
管理员
在线视频播放系统
添加/删除、查看影片信息、上传影片、管理评论、管理用户
图2-3顶层数据流程图
2.5系统介绍
本系统为B/S架构的网站视频播放系统,开发模式方面采用的是经典的MVC模式,前台方面没有运用struts等框架,考虑到个人开发,因此是纯jsp页面,jsp页面包含HTML语言,本系统开发所用集成开发工具为MyEclipse6.5、数据库为MySQL,Web服务器为tomcat6.0,系统整体尽力追求模块化,追求“高内聚、低耦合”,力求安全性、方便性、实用性,同时也严格按照MVC的方式将各个功能模块隔离,这样便于后期维护和管理。
本系统的特点:
(1)本系统是B/S的web项目,采用分布式开发,因此只要能够访问Internet就能访问本系统的一些功能。
(2)用户接口友好,操作简单,使用方便。
(3)任何windows版本都可访问。
2.6系统设计相关技术
2.6.1流媒体技术的介绍
流媒体是在网络上传输音/视频等,目前主要有下载和流式传输两种方案。
A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。
流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。
当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。
流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。
流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点[2]。
2.6.2系统开发平台的选择
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于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(ApplicationProgramInterface)文档和类库
Java开发工具包中的类库包罗万象,应有尽有,程序员的开发工作可以在一个更高的层次上展开,这也正是Java受欢迎的重要原因之一。
Java同时为用户提供了详尽的API文档说明。
2.6.3JAVA技术应用
(1)Servlet
Servlet是服务器端的JAVA应用程序,通过词义来看是小型server端,同Applet一样。
服务器上的一些程序经常是根据用户输入访问数据库的程序,这些通常是使用公共网关接口应用程序完成的。
但是在服务器端运行的JAVA,通过这种程序即可实现,这种能够在服务器端运行JAVA的小程序,就是Servlet。
最早支持Servlet技术的是JAVASoft的JAVAWebServer,此后,一些其它的基于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、分布式服务器组件,、对象序列化等,若想写个网络目录查询程序,则可利用JNDIAPI,想连接数据库,则可利用JDBC,这些强大的功能都有API做后盾,相信Servlet更能发挥其优势。
③较好的性能
Servlet在加载执行之后,其对象通常会一直停留在Server的内存中,若有请求发生时,服务器在调用Servlet来服务假若收到相同服务器的请求时,Servlet会利用不同的线程来处理,不想CGI程序必须产生许多进程来处理数据,,在性能的表现上,大大超越以往的撰写的CGI程序。
Servlet在执行时,不是一直停留在内存中,服务器会自动将停留时间过长一直没有执行的Servlet从内存中移除,不过有时候也可以自行写程序来控制,而停留时间的长短通常和选用的服务器有关。
④安全性
Servlet也有类型检查的特性,并且利用JAVA的垃圾回收机制,与没有指标的设计,使得Servlet避免内存管理的问题。
由于在JAVA异常处理机制下,Servlet能够安全的处理各种错误,不会因为发生程序上逻辑错误而导致整体服务器系统的崩溃,例如如果产生了逻辑运算错误,则会将异常抛给服务器,程序挑出当前逻辑并终止,服务器则会根据当前的异常,将记录写在日志中。
(2)JSP
JSP(JAVAServerPage)是一种动态网页技术标准,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也同样拥有这个特性。
②系统多平台支持
系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP.net的局限性是显而易见的。
③强大的可伸缩性
强大的可伸缩性。
从只有一个小的jar檔就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
④多样化和功能强大的IDE开发工具
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
⑤支持服务器端组件
web应用需要强大的服务器端组件来支持,开发人员需要利用其它工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
(3)数据库的引入
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。
通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。
数据库系统的萌芽出现于60年代。
当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。
传统的文件系统已经不能满足人们的需要。
能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。
在数据库随后的发展中,关系数据库、结构化查询语言、面向对象数据库等数据库的重要技术也应运而生[5]。
为什么要使用数据库技术,即使文件系统可以解决很多问题,但是有些问题是不能得到解决,如果给文件系统加上这些特性,那么文件系统也就成为了一个数据库。
①数据的冗余与数据不一致:
重复数据多,而且对于分布式,同时有可能出现数据无法同步的问题。
②数据访问困难,数据孤立:
因为数据存储没有采取同样的格式,使得使用统一的接口访问数据变得不可能。
③整性问题:
数据的正确性和兼容性。
④原子性问题:
就是事务处理,如何保证一个操作的完整性。
⑤并发访问:
这也是事务处理的一部分,数据库需要应对同时异地对同一个数据操作的可能。
⑥安全性问题:
主要是数据库访问权限问题。
为什么使用数据库,因为高效,有序,安全,多方的组织,存储,读取组织数据,并且使用数据库可以带来许多好处:
如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。
此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。
操作直观,使用灵活,编程方便,环境适应广泛,处理能力极强。
数据库在我国正得到愈来愈广泛的应用,必将成为经济管理的有力工具。
2.6.4MySQL数据库简介
本系统的数据库方面,选用的是MySQL,原因是MySQL的单表查询是最为迅速的,而且作为一个在线视频播放系统系统,没有像其它系统那样需要多表联查的环境和条件那么多,大多数情况下都只是单表查询,因此本系统的数据库方面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线视频 播放 系统 毕业设计 说明书