摘要
目前,网络的发展日新月异,尤其是许多的校园网,小区宽带网、企业或者政府机关内部网的建设已经可以满足人们对带宽的需求。于是人们不再满足于单调的文字或者图象,而希望能在网上传输视频。
本论文介绍的在线宽带点播系统,属于在线看视频类网站。管理员可以通过系统为用户提供在线收看视频的服务;用户可以通过注册帐号、登陆后便可以在线收看视频。 关键词:视频点播、数据库、模块化、信息显示
第一章 视频点播概述1.1 设计思想设计方法采用模块划分、面向对象的设计思想,主要划分为以下几个模块:视频窗口模块、界面设计模块、实现搜索/点击排行等功能模块、数据库模块、后台管理模块,本人主要完成前三个模块的设计。
用户信息 无效密码 有效
用户名 注册成功 用户名密码
用户信息表 视频信息表
系统数据流图
开发步骤:①首先进行需求分析,②对系统进行整体设计③对系统进行详细设计④对软件的功能及编码进行调试⑤软件维护阶段 功能方面:用户进入主页后可以利用搜索引擎输入电影名字或者演员名进行电影搜索,如果用户想要获得一定的权限必须先进行注册、登录。能够对自己的信息进行修改(包括,密码、emial等) 在页面的一侧可以浏览电影的最新更新情况和点击排行榜 在点播模块中主要是利用Mediaplay与Realplayer的嵌入实现播放的功能,由于视频文件格式不同要求必须两种播放器都得用,所实现的视频不仅包括对由后台管理系统上传的电影文件进行播放,还包括对一些著名的电视台进行连接实现在线实时收看功能。 后台管理方面包括实现首先实现对数据库的连接,通过asp.net编程实现页面能够读取access数据库的内容(包括电影名称、影视简介、连接海报图片的路径等)并显示在页面一定的位置。除此之外,还要实现通过管理员帐户,可以进在本地或者远程地对影片进行在线上传、删除、填写影片简介。 数据库的建立:首先分为3个数据表,包括管理员信息表(含用户名、密码)、用户信息表(含用户名、密码、email等)、影片信息表(含影片路径、影视简介、海报路径、发表时间)。 根据要实现的功能,制定一系列的方案,设计实现系统的逻辑结构,功能框架,以及数据库结构,用ASP.NET和ACCESS来实现视频窗口与数据库的连接,实现视频数据的传输功能 1.2 系统前景近年来,视频点播VOD(Video on Demand)的名字在媒体上出现得越来越多。VOD技术使人们可以根据自己的兴趣,不用借助录像机、影碟机、有线电视而在电脑或电视上自由地点播节目库中的视频节目和信息,是可以对视频节目内容进行自由选择的交互式系统。
VOD的本质是信息的使用者根据自己的需求主动获得多媒体信息,它区别于信息发布的最大不同:一是主动性、二是选择性。从某种意义上说这是信息的接受者根据自身需要进行自我完善和自我发展的方式,这种方式在当今的信息社会中将越来越符合信息资源消费者的深层需要,可以说VOD是信息获取的未来主流方式在多媒体视音频方面的表现。VOD的概念将会在信息获取的领域快速扩展,具有无限广阔的发展前景。
1.3asp.net简介ASP.net是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的的优势。
执行效率的大幅提高
ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
世界级的工具支持
ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You SeeIs What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。
强大性和适应性
因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
简单性和易学性
ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。
高效可管理性
ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。
多处理器环境的可靠性
ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。
自定义性,和可扩展性
ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。
安全性
基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。(但是Asp的经验告诉我们,不能这么自信,M$老是会出Bug 1.4 ACCESS简介数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。MicrosoftAccess是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。
第二章 视频点播系统介绍与技术介绍2.1网站结构设计本站的系统结构如下图所示。
数据库服务器 web服务器
多媒体播放器
浏览器 系统结构 一个典型的在线宽带点播网站应包含软件下载安装、会员管理、视频信息显示播放、视频搜索、视频信息管理和视频文件管理。 2.1.1 目标设计 在线宽带点播网站所要实现的功能如下。 l 会员管理 n 会员注册 n 会员登录验证 n 会员管理 l 视频信息显示 n 显示全部视频信息 n 按类别显示视频信息 n 显示视频详细信息
l 视频信息搜索 n 按关键字搜索 l 视频信息管理 n 管理员登录验证 n 视频信息添加 n 视频信息修改 n 视频信息删除 n 视频文件海报图上传 2.1.2 系统功能分析设计 在线宽带点播共分5个模块:会员管理模块、视频信息显示模块、视频信息搜索模块、视频信息管理模块和视频文件管理模块,其功能如下图所示。
功能模块视图 2.2 数据库结构设计 根据功能设计的要求和模块划分,本站的数据库主要存储用户信息、视频信息、管理员信息、网站公告栏信息。 2.2.1 数据库需求分析 数据项和数据结构如下: Ø 用户信息:ID(自动编号)、用户名和密码。 Ø 视频信息:信息名称、连接路径、文件大小、影片类型、影片简介、影片得分等。 Ø 管理员信息:ID(自动编号)、管理员名称、管理员密码。 Ø 公告栏信息:ID(自动编号)、公告内容、发表日期。 2.2.2 数据库逻辑设计1. 用户信息表“用户”,如下表:
用户信息表
2. 视频信息表download 如下表
视频信息表 2.3 会员管理模块 会员管理模块包含一下子块。 Ø 会员注册 ² userreg.aspx Ø 用户登录验证 ² default.aspx Ø 修改个人信息 ² reg_pre.aspx
各页面之间的关系如下图所示:
各个页面之间的关系 2.3.1 userreg.aspx1. 页面示例 下图为用户注册会员所看到的页面。
用户注册会员
2. 页面中需要用户填写的表单元素 这个页面中有6个需要用户填写的表单元素 如下表所示: 3. 页面所涉及到的数据库表信息 此页向系统提供用户注册名称和密码,并涉及到对数据库表“用户”表的操作。 4. 页面代码分析 按钮提交触发函数代码: 以下代码实现了对注目录中的access数据库vod.mdb的连接,此代码的主要作用是当用户点击页面中的“注册”按钮时触发的Button_Click事件,实现把各个控件的数据读取并且通过cmd.CommandText ="Insert into 用户 values(?,?,?,?,?,?)"语句把所获取的用户所输入的信息写入到数据库,并且当用户点击“清除”按钮或者刷新页面时把所有的控件清空,实现用户注册功能。 Sub Button_Click(Sender As Object, e AsEventArgs) Dim conn As New OleDbConnection() Dim cmd As New OleDbCommand conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; DataSource=" & Server.MapPath("vod.mdb") conn.Open() cmd.Connection = conn cmd.CommandText = "Insert into 用户 values(?,?,?,?,?,?)"
cmd.Parameters.Add(New OleDbParameter("@用户名",OleDbType.VarChar,20)) cmd.Parameters.Add(New OleDbParameter("@密码",OleDbType.VarChar,20)) cmd.Parameters.Add(New OleDbParameter("@性别",OleDbType.Boolean)) cmd.Parameters.Add(New OleDbParameter("@真实姓名",OleDbType.VarChar,20)) cmd.Parameters.Add(NewOleDbParameter("@电子邮件",OleDbType.VarChar,20)) cmd.Parameters.Add(New OleDbParameter("@用户主页",OleDbType.VarChar,20)) cmd.Parameters("@用户名").Value = Request("nicheng") cmd.Parameters("@密码").Value = Request("fpass") If Sex1.Checked Then cmd.Parameters("@性别").Value = True Else cmd.Parameters("@性别").Value = False End If cmd.Parameters("@真实姓名").Value = Request("realname") cmd.Parameters("@电子邮件").Value = Request("dianyou") cmd.Parameters("@用户主页").Value = Request("zhuye")
cmd.ExecuteNonQuery() '执行sql语句 conn.Close() '关闭数据库 Response.Write("OK") nicheng.text="" fpass.text="" secpass.text="" realname.text="" dianyou.text="" zhuye.text="" End Sub
用户输入验证代码: 以下代码实现对用户所输入的注册信息进行验证,验证其输入是否为空或者是否合法。
<asp:requiredfieldvalidatorid="requiredfieldvalidator5" [="" size][="" font]
|