大家好,今天给大家介绍基于C#+asp.net+sqlserver的视频点播系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。
文章目录:
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:7406个字25页
包含内容:整套源码+完整毕业论文
资源文件目录简图如下:
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1 引 言
1.1 课题背景
随着宽带网络系统的建成和发展,视频点播(Video On Demand,简称V0D)系统被广泛应用于在线电影点播、多媒体课件点播、图书馆视频资料查询等用途。视频点播是综合了计算机技术、通讯技术、电视技术而迅速兴起的一门综合性技术。它涉及到信息量巨大的音频和视频在网上传播的问题,网络是硬件条件,而流媒体技术则解决了如何在网络上传输动态的音视频节目的难题。
1.2 流媒体简介
流媒体是指传输及播放的流媒体文件,经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连接、实时地传送,用户机不必等到整个文件全部下载完毕,仅需将起始几秒的数据先下载到本地的缓冲区中就可以开始播放,采用一边播放、一边下载、一边丢弃的方式,客户端的缓冲区建在内存中,不占用硬盘空间,不会在用户端留下任何拷贝,保护了知识产权,同时提高带宽利用率。流媒体技术是一个综合的技术,它包括采集、编码、传输、储存、解码等多技术。
1.3 本课题研究的意义
视频点播的本质是信息的使用者根据自己的需求主动获得多媒体信息,它区别于信息发布的最大不同:一是主动性、二是选择性。从某种意义上说这是信息的接受者根据自身需要进行自我完善和自我发展的方式,这种方式在当今的信息社会中将越来越符合信息资源消费者的深层需要,可以说视频点播是信息获取的未来主流方式在多媒体视音频方面的表现。视频点播的概念将会在信息获取的领域快速扩展,具有无限广阔的发展前景。
2 视频点播系统系统分析
2.1 系统需求分析
需求分析是指:需求分析人员将客户描述的需求用一种计算机语言描述出来,分析用户的要求是否能实现,是否还可以提供更多的功能。要开发一个软件产品,首要也是最重要的就是需求分析,它是决定一个系统成功与否的关键。本系统的目的是让用户通过本系统点播视频及相互交流看法。
2.1.1 用户身份级别要求
即根据身份的不同对系统的使用权限有所不同。从权限大小大致可以分为:系统管理员、注册用户、发布员、未注册用户。系统提供灵活的角色设定和权限的分配功能。
2.1.2 系统功能需求与划分
2.2 系统设计目标
研制视频点播系统的总体目标是将网络技术、信息技术、现代管理技术相结合,建立视频点播和信息交流平台。视频点播系统采用流媒体技术,充分利用了网络资源,为广大用户提供在线点播服务,用户可以根据自己的需求自主选择。本系统采用一边播放、一边下载、一边丢弃的方式,大大节省用户的时间,不会在用户端留下任何拷贝,保护了知识产权,同时提高带宽利用率。
本系统首先要实现动态性。所谓的动态性就是能动态更新内容,如更新用户信息、视频文件信息、用户留言等。这要求与数据库有良好的连接。
系统操作方便、操作界面美观。
2.3 系统的开发工具
2.3.1 开发环境
Microsoft Visual Studio 介绍
Visual Studio是微软公司出品的一款大型应用软件,是一套完整的开发工具集,它主要用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。
Microsoft SQL Server 介绍
Microsoft SQL Server 是目前使用最广泛的数据库之一。
2.3.2 .NET介绍
对于.NET,Microsoft公司自己也没有一个详细确切的定义。但是我们可以这样认为:.NET是Microsoft公司提供的一系列产品的总称。具体来说,.NET由下面几个部分组成:.NET Framework、.NET企业服务器和.NET开发工具。
.NET Framework是一个高性能的程序运行环境,它提供了具体的服务和技术,支持统一的类库,方便开发人员建立相应的应用程序。
.NET企业服务器是指SQL Server 2000之类的由.NET Framework应用程序使用的服务器端产品。
2.3.3 C#介绍
C# 编程语言 C# 是一种新的编程语言,它从 C 和 C++ 演变而来,是一种简单、现代、类型安全和面向对象的语言。C# 是为在 .NET 平台上生成企业级应用程序而设计的。用 C# 编写的代码被编译为访问 CLR 服务的托管代码。Visual Studio 环境和向导完全支持 C#。C# 编程所用的类库是 Framework。
2.4 编程运行环境
硬件环境:
内存:512 MB
硬盘:60 G
软件环境:
操作系统:Microsoft Windows XP Service Pack 2
应用软件:SQL Server +Microsoft Visual Studio +Adobe Photoshop CS8.0
3 视频点播系统系统设计
3.1 数据库设计
数据库设计是系统设计中非常重要的一个环节,因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护,变更和功能扩充时,甚至于在系统开发过程中,将会引起比较大的问题,有时大量的工作将会重新进行。因此,设计出合理的数据库成为本系统设计一个十分关键的步骤。
用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各类信息的输入和输出。收集基本数据,数据结构以及数据处理的流程而制作一份详细的数据库需求分析表,为合理的数据库结构设计打下坚实的基础。
根据视频点播系统的一般要求,通过对整个系统运行过程和数据流程分析,得出本系统的实体表:用户信息表:tableuser、影片信息表:movielist、影片文件路径表:movieurl、用户留言表:msg、投票统计表:toupiao。
根据对数据项和数据结构的分析以及对实际的数据库实体的设计,设计出数据表以及数据表之间的逻辑关系,如图1:
图1:数据表与数据表之间的逻辑关系
经过前面的数据库分析与设计得到数据库的逻辑结构。本系统使用Microsoft SQL Server 作为数据库开发工具;创建名为movie的数据库根据各种功能的实现以及考虑到将来系统功能上的扩展,设计如下数据项和数据结构:
3.2 系统模块分析与设计
图2:视频点播系统功能模块层次图
3.3 Web界面设计
Web界面设计使用母版页,此方法可以使整个系统更加符合信息空间的信息存储,运行速度更快,信息层次更加清晰,用户操作则更方便,更有条理。示意图,如图3:
图3:页面设计的框架
3.4 系统流程图
用户进入系统主页面后,输入用户名和密码,点击提交后,系统将根据用户输入的用户名和密码判断该用户是否为合法用户;如果用户输入的用户名和密码出错,系统将提示出错,并返回到登录界面;如果用户输入的用户名和密码正确,系统将根据用户的身份选择相应的功能;所有合法用户在处理完业务后,都需要进行注销工作,以免被他人窃取信息。注销后,将返回到注销前的页面或网站首页。系统流程图如图4:
图4:系统流程图
4 视频点播系统系统功能模块具体实现
4.1 系统实现的关键技术
4.1.1 数据库的连接
本系统与数据库的连接都封装到数据库连接类里面,使用时调用类的对象就可完成建立连接、执行一种操作、关闭连接。
数据库连接类的代码如下:
using System;
using System.Data;
using System.Configuration;
using System.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)//对数据库执行查询,返回查询是否成功
{
SqlConnection 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.Close();//关闭数据库连接
}
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.ExecuteNonQuery());
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 SqlDataAdapter(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 Info=True");
conn.Open();
SqlCommand cmd = new SqlCommand(que, conn);
SqlDataReader sqlrd = cmd.ExecuteReader();
sqlrd.Read();
return sqlrd;
sqlrd.Close();
conn.Close();
}
}
4.1.2 嵌入试视频播放
本系统通过ActiveX控件方式在Web页面中嵌入播放对象,并通过DHTML为内嵌对象动态指定视频流URL,从而为视频播放提供了一个统一的友好界面。用户点播视频时,系统根据视频文件的格式选择合适的播放页面。
嵌入式视频播放代码如下:
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 value=-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>
<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:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="_ExtentX" value="12409">
<param name="_ExtentY" value="1535">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param 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">
<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-realaudio-plugin" CONSOLE="Clip1" CONTROLS="ControlPanel,StatusBar" AUTOSTART="true">
</object>
4.2 视频点播系统的部分功能的设计与实现
4.2.1 用户登陆功能的实现
用户登陆流程:根据用户输入的用户名从数据库中读取数据,如果数据库中没有该用户名就报错,如果有该用户的信息就把密码从数据库中读取出来,然后和用户输入的密码进行比较,如果密码正确就登陆成功。如果密码不正确就提示出错。
用户登陆流程图,如图5:
图5:用户登陆流程图
用户登陆功能关键代码如下:
protected void Button1_Click(object sender, EventArgs e) //点击登陆按钮执行以下代码
{
string name = uid.Text.Trim(); //将用户输入的用户名赋给变量name
string password = pwd.Text.Trim(); //将用户输入的密码赋给变量password
if (!connClass.rd("select vusername from tableuser where vusername='" + name + "'"))
//判断用户输入的用户名是否存在
HttpContext.Current.Response.Write("");
else
{
SqlDataReader rd = connClass.read("select vpassword,cquanxian from tableuser where vusername='" + name + "'");
if (rd.GetString(0).Trim() != password)//判断用户输入的密码是否正确
HttpContext.Current.Response.Write("");
else
{Session["username"] = name;//把用户名赋给该用户的Session["username"]对象
Session["rigth"] = rd.GetString(1).Trim();
//把从数据库读取的用户权限赋给Session["rigth"]
Response.Redirect("index.aspx"); //跳转到首页
}
}
}
4.2.2 用户注册功能的实现
用户注册流程介绍:用户填写用户注册页面的表格,然后点击注册按钮,系统验证用户输入的注册信息是否合法,如果合法就把用户输入的注册信息保存到系统的数据库中。如果注册信息不合法就提示出错。
用户注册流程图,如图6:
图6:用户注册流程图
用户注册关键代码如下:
protected void regsiterB_Click(object sender, ImageClickEventArgs e)
//用户点击注册按钮执行以下代码
{
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() + "'")) { 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的值加1
connClass.Execute("insert into tableuser values ('" + i + "','" + username.Text.Trim() + "','" + password1.Text.Trim() + "','" + email.Text.Trim() + "','" + question.Text.Trim() + "','" + answer.Text.Trim()+ "','1')");
//添加新用户信息到数据库
Session["username"] = username.Text.Trim();
Session["rigth"] = "1";
HttpContext.Current.Response.Write("");
//注册成功弹出对话框
}
}
}
5 系统测试
5.1 普通用户功能测试
5.1.1 用户登陆功能测试
操作步骤:输入登陆信息,点击登陆按钮。
测试结果:通过,如图7、图8:
图7:用户登陆测试结果图I
图8:用户登陆测试结果图II
5.1.2 用户注册功能测试
操作步骤:进入注册页面,输入注册信息,点击注册按钮。
测试结果:通过,如图9、图10:
图10:用户注册测试结果图II
5.1.3 视频点播功能测试
操作步骤:进入视频点播页面,选择看点播的视频,点击播放按钮。
测试结果:通过,如图11、图12:
图12:视频点播测试结果图II
5.2 管理员功能测试
5.2.1 用户信息管理功能测试
操作步骤:进入管理员页面,修改用户信息。
测试结果:通过,如图13、图14
图14:用户信息管理测试结果图II
5.2.2 添加视频文件功能测试
操作步骤:进入添加视频文件页面,输入视频文件信息,添加视频文件信息到注册表,上传视频文件。
测试结果:通过,如图15
图15:添加视频文件测试结果图I
结 论
经过三个多月的设计和开发,视频点播系统基本开发完毕。其功能基本符合用户需求,能够完成视频点播、用户注册和登录等主要功能、相关材料的查询以及各类相关功能的实现。并提供部分系统后台管理功能,使用户方便进行数据的添加、修改和删除。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如界面设计与风格不太美观,性能不够理想,对毕业设计(论文)具体步骤相关信息考察不够等多方面问题。这些都有待进一步改善。
参考文献
[1] 吉根林,崔海源.ASP.NET 程序设计教程[M].北京:电子工业出版社,2005.7。
[2] Mickey Williams[美].Visual C#.NET技术内幕[M].冉晓旻译.北京:清华大学出版社,2004。
[3] Tom Barnaby[美]…NET分布式编程:C#篇[M].王小峰译.北京:清华大学出版社,2004.4。
[4] 黄忠成.深入剖析ASP.NET组件设计[M].北京:电子工业出版社,2005。
[5] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005.8。
[6] 张海藩.软件工程导论[M].北京:清华大学出版社,2004。
[7] 李飞.最新计算机网络基础与应用[M].成都:四川大学出版社,2001.1。
[8] 郑莉,董渊.C++语言程序设计[M].北京:清华大学出版社,2001。
[9] 谢希仁.计算机网络[M].北京:电子工业出版社,2005。
[10] 谭浩强.C程序设计[M].北京:清华大学出版社,1999.12。
致 谢
省略
本项目源码及完整论文如下,有需要的朋友可以点击进行下载
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于C#+asp.net+sqlserver的视频点播系统设计与实现(源码+文档)C#_.net_BS架构_视频点播系统.zip |