版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络工程课程设计论文视频点播系统设计与实现吴一凡学 院 计算机与通信学院 专 业 网络工程 班 级 085810702 学 号 200758080210 学生姓名 吴一凡 指导教师 易建勋 课程成绩 完成日期 2010年12月30日课程设计任务书学院:计通学院 专业:网络工程专业课程名称网络工程课程设计时间200102011学年第一学期1819周学生姓名吴一凡指导老师易建勋题 目视频点播系统设计与实现主要内容:(1) 课题背景(2) 系统的开发工具(3) 视频点播系统系统设计要求:(1)综合运用.NET,C#,计算机网络基本理论设计本系统。(2)学会文献检索的基本方法和综合运用文献的能力。(3
2、)通过课程设计培养严谨的科学态度,认真的工作作风和团队协作精神。应当提交的文件:(1)课程设计学年论文。(2)课程设计附件(相关图纸、设备配置清单、报告等)。课程论文成绩评定学 院 计算机与通信学院 专 业 网络工程班 级 085810702 学 号 200758080210 学生姓名 吴一凡 指导教师 易建勋 课程成绩 完成日期 2010.12.30 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程论文中的创造性成果学生掌握课程内容的程度课程论文完成情况课程论文动手能力文字表达学习态度规范要求课程论文的质量指导教师对课程论文的评定意见综合成绩 指导教师签字 2010年12月30
3、日网络中心接地系统设计与实现摘 要随着计算机技术和 Internet 的日新月异,宽带VOD视频点播技术因其良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐。本文阐述了基于WEB的交互式视频点播系统的协议原理、软件结构和设计实现。本视频点播系统根据流媒体传输原理,在校园局域网的基础上模拟基于Web的视频点播系统,实现用户信息管理、视频文件的添加、删除、修改及在线播放和搜索功能。本系统是一个小型系统,我们采用基本的SQL Server数据库。具体实现中将HTML、及C#相结合,力求界面美观、操作流畅。关键词流媒体;视频点播目 录1 引言1设计背景1 流媒体简介12 视频点播系统系统分析1
4、 系统需求分析1 用户身份级别要求2 系统功能需求与划分2 系统设计目标3 系统的开发工具3 开发环境32.3.2 .NET介绍42.3.3 C#介绍4 编程运行环境43 视频点播系统系统设计4 数据库设计4 系统模块分析与设计63.3 Web界面设计7 系统流程图84 视频点播系统系统功能模块具体实现9 系统实现的关键技术9 数据库的连接9 嵌入试视频播放11 视频点播系统的部分功能的设计与实现12 用户登陆功能的实现12 用户注册功能的实现135 系统测试15 普通用户功能测试15 用户登陆功能测试15 用户注册功能测试16 视频点播功能测试16 管理员功能测试17 用户信息管理功能测试1
5、7 添加视频文件功能测试186结束语18参考文献191 引 言随着计算机网络和多媒体技术的发展,近年来对视频点播系统的需求逐渐增加。视频点播系统是一个包含硬件和软件的网络化系统,主要特征是实时和按需求地从视频服务器向客户设备传送多路、并发的视频数据流。视频点播系统可以提供不同程度的终端用户交互性。视频点播技术是随着计算机技术(特别是多媒体数据压缩解压缩技术)、网络通信技术特别是流媒体技术和电视技术而迅速兴起的一门综合性技术。本设计在Visual Studio.NET环境下构建了B/S模式的视频点播系统。系统由前台、后台管理两部分组成。不仅实现了视频点播功能,而且支持文件类别的动态管理、文件的分
6、布式存储和播放多种格式文件等功能。 1.1 课题背景随着宽带网络系统的建成和发展,视频点播(Video OnDemand,简称V0D)系统被广泛应用于在线电影点播、多媒体课件点播、图书馆视频资料查询等用途。视频点播是综合了计算机技术、通讯技术、电视技术而迅速兴起的一门综合性技术。它涉及到信息量巨大的音频和视频在网上传播的问题,网络是硬件条件,而流媒体技术则解决了如何在网络上传输动态的音视频节目的难题。1.2 流媒体简介流媒体是指传输及播放的流媒体文件,经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连接、实时地传送,用户机不必等到整个文件全部下载完毕,仅需将起始几秒的数据先下载到本
7、地的缓冲区中就可以开始播放,采用一边播放、一边下载、一边丢弃的方式,客户端的缓冲区建在内存中,不占用硬盘空间,不会在用户端留下任何拷贝,保护了知识产权,同时提高带宽利用率。流媒体技术是一个综合的技术,它包括采集、编码、传输、储存、解码等多技术。2 视频点播系统系统分析2.1 系统需求分析需求分析是指:需求分析人员将客户描述的需求用一种计算机语言描述出来,分析用户的要求是否能实现,是否还可以提供更多的功能。要开发一个软件产品,首要也是最重要的就是需求分析,它是决定一个系统成功与否的关键。本系统的目的是让用户通过本系统点播视频及相互交流看法。2.1.1 用户身份级别要求即根据身份的不同对系统的使用
8、权限有所不同。从权限大小大致可以分为:系统管理员、注册用户、发布员、未注册用户。系统提供灵活的角色设定和权限的分配功能。1) 系统管理员:是权限最大的用户,拥有视频点播系统的所有权限,主要负责对系统平台的日常网络维护管理,可以对系统进行修改,排除故障。2) 发布员:拥有注册用户的权限并可以上传视频文件。3) 注册用户:权限包括查看系统中视频的信息、点播及下载视频、发表言论、投票等。4) 未注册用户:是权限最小的用户,只能查看系统中视频的信息。2.1.2 系统功能需求与划分1) 用户管理:对使用本系统注册用户信息的操作。包括删除用户、修改密码、权限的设置等操作。1.操作对象:系统管理员。2.浏览
9、对象:系统管理员。2) 用户注册:未注册用户可以注册新的帐号,在注册页面填写相关的注册信息,添加注册信息到系统的数据库中,以后就能用该账户登录到系统中。 1.操作对象:未注册用户。 2.浏览对象:未注册用户。3) 用户登录:注册用户填写登录信息经过系统验证之后就能浏览该账户的权限所能访问的页面。 1.操作对象:注册用户。 2.浏览对象:注册用户。 3.具体操作:在登录表中填入相关信息,系统验证信息是否正确,如果正确就允许用户登录到系统中,用户可以访问该账户所允许访问的页面。没有注册的用户需先注册。 4.需要模块:用户注册模块,用户验证模块。4) 用户权限验证: 验证用户的权限是否能够访问用户要
10、求访问的页面。 1.操作对象:所有合法用户。 2.浏览对象:所有合法用户。 3.具体操作:用户登录时验证用户输入的登录信息是否正确,如果正确就读取数据库中该账户的权限字段并储存到系统中,当用户要求访问某个页面时就验证该用户的权限是否能访问该页面。 4.需要模块:用户注册模块、用户登录模块。5) 视频点播和下载模块:点播和下载视频文件。 1.操作对象:所有合法用户。 2.浏览对象:所有合法用户。6) 用户留言:用户发表自己的意见。 1.操作对象:所有合法用户。 2.浏览对象:所有合法用户。3 视频文件管理:系统管理员根据用户需求添加或删除视频文件,发布员根据用户需求上传视频文件。 1.操作对象:
11、系统管理员,发布员。 2.浏览对象:系统管理员,发布员。 3.具体操作:对视频文件参数的基本设置。包括添加、删除、修改等。 4.需要模块:用户权限验证模块,用户登录模块。8) 注销:所有的系统合法用户登录完成操作后退出系统都要进行“注销”操作、或者进行用户转换也需要进行“注销”操作。 1.操作对象:所有合法用户。3.1 系统设计目标研制视频点播系统的总体目标是将网络技术、信息技术、现代管理技术相结合,建立视频点播和信息交流平台。视频点播系统采用流媒体技术,充分利用了网络资源,为广大用户提供在线点播服务,用户可以根据自己的需求自主选择。本系统采用一边播放、一边下载、一边丢弃的方式,大大节省用户的
12、时间,不会在用户端留下任何拷贝,保护了知识产权,同时提高带宽利用率。本系统首先要实现动态性。所谓的动态性就是能动态更新内容,如更新用户信息、视频文件信息、用户留言等。这要求与数据库有良好的连接。系统操作方便、操作界面美观。3.2 系统的开发工具3.2.1 开发环境 (一) Microsoft Visual Studio 2005 介绍Visual Studio是微软公司出品的一款大型应用软件,是一套完整的开发工具集,它主要用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。(二)Microsoft SQL Server 2000介绍Micros
13、oft SQL Server 2000是目前使用最广泛的数据库之一。3.2.2 .NET介绍对于.NET,Microsoft公司自己也没有一个详细确切的定义。但是我们可以这样认为:.NET是Microsoft公司提供的一系列产品的总称。具体来说,.NET由下面几个部分组成:.NET Framework、.NET企业服务器和.NET开发工具。.NET Framework是一个高性能的程序运行环境,它提供了具体的服务和技术,支持统一的类库,方便开发人员建立相应的应用程序。.NET企业服务器是指SQL Server 2000之类的由.NET Framework应用程序使用的服务器端产品。3.2.3
14、C#介绍C# 编程语言 C# 是一种新的编程语言,它从 C 和 C+ 演变而来,是一种简单、现代、类型安全和面向对象的语言。C# 是为在 .NET 平台上生成企业级应用程序而设计的。用 C# 编写的代码被编译为访问 CLR 服务的托管代码。Visual Studio 环境和向导完全支持 C#。C# 编程所用的类库是 Framework。3.3 编程运行环境硬件环境:CPU: Intel core2 cup t5500内存:2 G硬盘:160 G软件环境:操作系统:Microsoft Windows XP Service Pack 2应用软件:SQL Server 2000 +Microsoft
15、 Visual Studio 2005+Adobe Photoshop CS4 视频点播系统系统设计4.1 数据库设计数据库设计是系统设计中非常重要的一个环节,因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护,变更和功能扩充时,甚至于在系统开发过程中,将会引起比较大的问题,有时大量的工作将会重新进行。因此,设计出合理的数据库成为本系统设计一个十分关键的步骤。用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各类信息的输入和输出。收集基本数据,数据结构以及数据处理的流程而制作一份详细的数据库需求分析表,为合理的数据库结构设计打下坚实的基础
16、。根据视频点播系统的一般要求,通过对整个系统运行过程和数据流程分析,得出本系统的实体表:用户信息表:tableuser、影片信息表:movielist、影片文件路径表:movieurl、用户留言表:msg、投票统计表:toupiao。根据对数据项和数据结构的分析以及对实际的数据库实体的设计,设计出数据表以及数据表之间的逻辑关系,如图3-1:图3-1 数据表与数据表之间的逻辑关系经过前面的数据库分析与设计得到数据库的逻辑结构。本系统使用Microsoft SQL Server 2000作为数据库开发工具;创建名为movie的数据库根据各种功能的实现以及考虑到将来系统功能上的扩展,设计如下数据项和
17、数据结构:表3-1用户信息表:TableUser简称字段名类型长度允许空备注IDiUserIDint4not nullPK用户名vUserNamevarchar20not null密码vPassWordvarchar20not nullEMAILvEmailvarchar20not null密码保护问题vQuestionvarchar20not null密码保护答案vAnswervarchar20not null权限cQuanxianchar8not null表3-2 影片信息表:movielist简称字段名类型长度允许空备注IDiMovieIDint4not nullPK影片名vMovieN
18、amevarchar20not null集数iCountint4not null上传用户vUservarchar20not null上传时间dtUpTimedatetime8not null截图路径vImgUrlvarchar50得票数iPlayint4not null影片信息vInfotext16影片分类cTypechar8not null影片格式cGeshichar8not null表3-3 影片文件路径表:movieurl简称字段名类型长度允许空备注IDiUrlIDint4not nullPK影片名称vMovieNamevarchar20not null第几集iCountsint4not
19、 null文件路径vFileUrlvarchar20not null格式cGeshichar4not null表3-4 用户留言表:msg简称字段名类型长度允许空备注IDiMsgIDint4not nullPK用户名vUserNamevarchar20not null留言内容vInfovarchar100not null留言时间dtDateTimedatetime8not null相关影片vMovieNamevarchar20not null表3-5 投票统计表:toupiao简称字段名类型长度允许空备注投票用户vUservarchar20not nullPK得票影票vMovieNamevar
20、char20not nullPK4.2 系统模块分析与设计1) 系统管理:包括帐号管理、系统信息管理和视频文件管理。 1.帐号管理:包括普通用户和发布员的基本信息和权限的管理都在“用户管理”模块中,系统管理员有权添加、删除、查看和修改所有普通用户和发布员的信息。 2.视频文件管理:系统管理员和发布员可以添加视频文件,系统管理员可以修改、删除视频文件。 3.系统信息管理:设置系统的信息。2) 视频播放与下载:合法用户能够点播或下载视频。3) 用户功能:用户功能包括注册新帐号、用已有的帐户登录、修改密码、通过密码保护找回密码、用户留言、查询、注销。 1.注册新账号:用户输入注册信息,输入的信息合法
21、就能注册新帐号。 2.用户登录:用户登录模块采用与SQL数据库连接通过比较用户输入的信息与数据库中的数据判断用户的身份。登录身份分为三种:系统管理员、普通用户、发布员。 3.修改密码:普通用户和发布员可以修改自己的登陆密码。 4.密码保护:用户如果忘记密码或密码被修改,可以通过密码保护找回密码。通过回答注册用户时填写的密码保护答案,如果回答正确就能取得密码。 5.用户留言:用户可以发表对影片的看法,以及提出意见和建议。 6.查询:系统的所有合法用户都能使用“查询”模块的功能。“查询”模块提供视频文件的查询。只能进行精确查询,不支持模糊查询。 7.注销:所有的系统合法用户登录完成操作后退出系统都
22、要进行“注销”操作、或者进行用户转换也需要进行“注销”操作。系统功能模块分析与设计层次图,如图3-2:图3-2视频点播系统功能模块层次图4.3 Web界面设计Web界面设计使用母版页,此方法可以使整个系统更加符合信息空间的信息存储,运行速度更快,信息层次更加清晰,用户操作则更方便,更有条理。示意图,如图3-3:图3-3 页面设计的框架4.4 系统流程图用户进入系统主页面后,输入用户名和密码,点击提交后,系统将根据用户输入的用户名和密码判断该用户是否为合法用户;如果用户输入的用户名和密码出错,系统将提示出错,并返回到登录界面;如果用户输入的用户名和密码正确,系统将根据用户的身份选择相应的功能;所
23、有合法用户在处理完业务后,都需要进行注销工作,以免被他人窃取信息。注销后,将返回到注销前的页面或网站首页。系统流程图如图3-4:登录页面用户登录不成功成功身份判断普通用户功能系统管理员功能发布员功能普通用户系统管理员发布员注销图3-4 系统流程图5 视频点播系统系统功能模块具体实现5.1 系统实现的关键技术5.1.1 数据库的连接本系统与数据库的连接都封装到数据库连接类里面,使用时调用类的对象就可完成建立连接、执行一种操作、关闭连接。数据库连接类的代码如下:using System;using System.Data;using System.Configuration;using Syste
24、m.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public class connClass public string que; public connClass() public static bool rd(string que)/对数据库执行查询,返回查询是否成功 S
25、qlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=movie;User ID=sa;Persist Security Info=True"); /建立数据库连接 conn.Open();/打开数据库连接 SqlCommand cmd = new SqlCommand(que, conn); SqlDataReader sqlrd = cmd.ExecuteReader();/执行sql语句 return sqlrd.Read();/返回执行结果 sqlrd.Close(); conn.C
26、lose();/关闭数据库连接 public static bool Execute(string que)/对数据库执行一次操作,返回操作是否成功 SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=movie;User ID=sa;Persist Security Info=True"); conn.Open(); SqlCommand cmd = new SqlCommand(que, conn); int count =Convert.ToInt32(cmd.ExecuteNon
27、Query(); if (count > 0) return true; else return false; conn.Close(); public static DataTable ds(string que)/从数据库中获得数据储存到内存中 SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=movie;User ID=sa;Persist Security Info=True"); conn.Open(); SqlDataAdapter adap = new SqlDat
28、aAdapter(que,conn); DataSet ds = new DataSet(); adap.Fill(ds,"table"); return ds.Tables"table" conn.Close(); public static SqlDataReader read(string que)/执行一次数据库查询返回查询结果 SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=movie;User ID=sa;Persist Security I
29、nfo=True"); conn.Open(); SqlCommand cmd = new SqlCommand(que, conn); SqlDataReader sqlrd = cmd.ExecuteReader(); sqlrd.Read(); return sqlrd; sqlrd.Close(); conn.Close(); 5.1.2 嵌入试视频播放本系统通过ActiveX控件方式在Web页面中嵌入播放对象,并通过DHTML为内嵌对象动态指定视频流URL,从而为视频播放提供了一个统一的友好界面。用户点播视频时,系统根据视频文件的格式选择合适的播放页面。嵌入式视频播放代码如
30、下:RM视频格式代码,如下:<object id="player" align=middle name="player" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="800" height="600" ><param name=_ExtentX value=11986><param name=_ExtentY value=8123><param name=AUTOSTART va
31、lue=-1><param name=SHUFFLE value=0> <param name=PREFETCH value=0> <param name=NOLABELS value=0><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><param name=CONTROLS value=ImageWindow><param name=CONSOLE value=Clip1
32、><param name=LOOP value=0>");<param name=NUMLOOP value=0><param name=CENTER value=1><param name=MAINTAINASPECT value=1><param name=BACKGROUNDCOLOR value=#000000> </object><object ID="RP2" height=58 width=800 align=middle CLASSID="clsid:CF
33、CDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> <param name="_ExtentX" value="12409"> <param name="_ExtentY" value="1535"> <param name="AUTOSTART" value="-1"><param name="SHUFFLE" value="0"> <para
34、m name="PREFETCH" value="0"> <param name="NOLABELS" value="0"> <param name="CONTROLS" value="ControlPanel,StatusBar"><param name="CONSOLE" value="Clip1"> <param name="LOOP" value="0
35、"> <param name="NUMLOOP" value="0"> <param name="CENTER" value="0"> <param name="MAINTAINASPECT" value="0"> <param name="BACKGROUNDCOLOR" value="#000000"><embed type="audio/x-pn-re
36、alaudio-plugin" CONSOLE="Clip1" CONTROLS="ControlPanel,StatusBar" AUTOSTART="true"></object>5.2 视频点播系统的部分功能的设计与实现5.2.1 用户登陆功能的实现 1.用户登陆流程:根据用户输入的用户名从数据库中读取数据,如果数据库中没有该用户名就报错,如果有该用户的信息就把密码从数据库中读取出来,然后和用户输入的密码进行比较,如果密码正确就登陆成功。如果密码不正确就提示出错。 2.用户登陆流程图,如图4-1:图4
37、-1 用户登陆流程图用户登陆功能关键代码如下:protected void Button1_Click(object sender, EventArgs e) /点击登陆按钮执行以下代码 string name = uid.Text.Trim(); /将用户输入的用户名赋给变量namestring password = pwd.Text.Trim(); /将用户输入的密码赋给变量passwordif (!connClass.rd("select vusername from tableuser where vusername='" + name + "
38、39;") /判断用户输入的用户名是否存在HttpContext.Current.Response.Write("<script>alert('用户名不正确!'); history.back(); </script>"); else SqlDataReader rd = connClass.read("select vpassword,cquanxian from tableuser where vusername='" + name + "'"); if (rd.Ge
39、tString(0).Trim() != password)/判断用户输入的密码是否正确 HttpContext.Current.Response.Write("<script>alert('密码不正确!'); history.back(); </script>"); elseSession"username" = name;/把用户名赋给该用户的Session"username"对象Session"rigth" = rd.GetString(1).Trim();/把从数据库
40、读取的用户权限赋给Session"rigth" Response.Redirect("index.aspx"); /跳转到首页 5.2.2 用户注册功能的实现 用户注册流程介绍:用户填写用户注册页面的表格,然后点击注册按钮,系统验证用户输入的注册信息是否合法,如果合法就把用户输入的注册信息保存到系统的数据库中。如果注册信息不合法就提示出错。 用户注册流程图,如图4-2图4-2 用户注册流程图用户注册关键代码如下:protected void regsiterB_Click(object sender, ImageClickEventArgs e) /用户
41、点击注册按钮执行以下代码 if (connClass.rd("select vusername from tableuser where vusername='" + username.Text.Trim() + "'") username.Text = "用户名已存在!" /判断用户名是否已经被使用 else if (connClass.rd("select vEmail from tableuser where vEmail='" + email.Text.Trim() + "
42、'") email.Text = "Email已被使用!" /判断Email是否已经被使用 else int i;SqlDataReader read = connClass.read("select MAX(iUserID) from tableuser");/从数据库中读取最大的用户ID的值 i = Convert.ToInt32(read.GetValue(0) + 1; /新注册用户的ID等于最大的用户ID的值加1connClass.Execute("insert into tableuser values ('" + i + "','" + username.Text.Trim() + "','" + password1.Text.Trim() + "','" + email.Text.Trim() + "','" + question.Text.Trim() + "','" + answer.Text.Trim()+ "&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职(康复治疗技术)言语治疗学试题及答案
- 2025年高职医学美容技术(医学美容技术)试题及答案
- 2026年中职第一学年(农产品贮藏与加工)果蔬保鲜阶段测试题及答案
- 2026年砌体工程(砌体施工)考题及答案
- 2025年大学大一(文物保护技术)文物保护材料基础测试题及答案
- 2025年中职农业机械使用与维护(农机使用基础)试题及答案
- 2025年大学大一(土地资源管理)土地管理学基础试题及解析
- 2025-2026年高三历史(单元突破)上学期期末测试卷
- 2025年大学二年级(老年学)老年政策与法规试题及答案
- 2025年高职(家政服务与管理)家庭膳食营养试题及答案
- 2025-2026冀人版三年级科学上册教学设计(附目录)
- 2025年度山坪塘生态保护与承包管理合同
- 2025年综合执法局公务员招录考试法律法规知识解析与模拟题集
- 新能源充电行业知识培训课件
- 全球卫生导论
- 骨科伤口感染护理查房
- 护理清洁消毒灭菌
- 装修工程质量保修服务措施
- 钣金装配调试工艺流程
- 肿瘤病人疼痛护理
- 医疗应用的辐射安全和防护课件
评论
0/150
提交评论