在线视频点播系统.docx
《在线视频点播系统.docx》由会员分享,可在线阅读,更多相关《在线视频点播系统.docx(21页珍藏版)》请在冰豆网上搜索。
在线视频点播系统
摘要
随着计算机技术和Internet的日新月异,宽带VOD视频点播技术因良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐。
这里结合在线视频点播平台的开发实例,阐述了基于Web的交互式视频点播系统的协议原理、软件结构和设计实现。
本在线视频点播系统根据流媒体传输原理,在校园局域网的基础上模拟基于Web的视频点播系统,实现用户信息管理、视频文件的添加、删除、修改及在线播放和搜索功能。
由于本系统是一个小型系统,所以我们采用基本的SQLserver数据库,易于实现。
具体实现中将HTML、c#、Javascript及的完美融合,并力求界面美观、操作流畅。
本文主要论述服务器端视频服务平台的搭建、管理功能的具体实现,并在此基础上对网络优化作相应的探索。
关键词:
流媒体,SQLServer,,视频点播。
Abstract
AlongwithcomputernetworkwithInternetchangeforeachpassingday,broadbandVODvideoondemandtechnologybecauseofitsgoodhuman-computerinteractionandstreamingmediatransmissiontechnicalgetthefavoursofprofessionsuchaseducationandthispaper,Ielaboratesystematicprincipleoftheprotocol,softwarestructureanddesignrealizationbasedonWebinteractivevideoofdemandwithcombiningplatformdevelopmentinstances.
Accordingtothestreamingmediatransmissionprinciple,ThisvideoondemandsystemimitatesvideoondemandsystembasedontheWeb,realizesthatusers’informationmanagementandthefunctionsofaddinganddeleting,modifing,onlineplayingandsearchingforvideofilesonthebasicupperlocalareanetworkofthecampus.Sincethissystemisasmall-sizedsystem,SoweusethebasicSQLServerdatabasewhichiseasytospecificealization,IfuseHTML,C#,Javascriptandperfectly,trymybesttomaketheinterfacebeautiful,operatesmoothly.
Thispaperdiscussmainlyaboutthevideoserviceplatformputuptobuild,thespecificrealizationofnagementfunction,andmakecorrespondingexplorefornetworkoptimizationonthisfoundation.
Keyword:
StreamingMedia,SQLServer,,VideoOnDemand。
第1章引言
美华网于2006年7月21日成立。
美华网34g是由市委宣传部主管、济源日报社主办、济源计算机技术有限公司开发运营的综合性门户网站,集新闻、生活、娱乐、商贸于一身,包括民生地带,行风热线,道德与法,生活休闲,《济源日报》、《王屋晨风》电子版等栏目,是我市继报纸、电台、电视之后的第四主流媒体。
她既是济源本地公共信息服务平台,又是本地网民了解世界的入口。
美华网有资深的开发工程师及艺术设计专业硕士,能为各企事业单位建设功能强大、界面美观、管理方便且内容丰富的网站,为其树立起良好的网络形象。
美华网始终以"网聚济源城市力量,打造第一门户网站"为己任,以把网站建成“济源最大的资料库、老百姓生活的咨询榜、最强大的新闻中心”为最终目标,致力于打造新的媒体天空,致力于展示济源新貌、改革开放和现代化建设成就,致力于更好地传播中原文化,为大众服务。
近期,美华网为满足广大网民对媒体娱乐的要求,又开通了网络媒体,现主要为市民或网民自拍,其栏目名称为“愚公网视”。
在发展过程中发现人们对广播电视有更高的需求:
在传统的电视中,观众完全是被动的。
节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法按照观众的意愿改变的。
尽管电视台可以提供很多的节目,但要想完整地收看到一个自己满意的节目,对于许多人来讲也是不太容易做到的,因为在快节奏的现代生活中,许多人不可能为了看某一个电视节目而预先安排自己的时间。
被动收看节目的人们希望能够按照自己的需要自由地点播节目。
在线视频点播的出现正迎合了人们的这种需求,这种信息服务方式符合人们对信息资源更深层次的需要。
为此我们开始了在线视频点播系统的制作。
在线视频点播概述
视频点播的含义:
视频点播,英文简称VOD(VideoonDemand),指的是按照用户的要求播放视频。
VOD有很广泛的含义,包含了娱乐、教育、商业等领域的多种应用,如影片点播(MovieOnDemand)、热点新闻点播(Hot-NewsOnDemand)、交互视频游戏(InteractiveVideoGames)和远程教学(LongDistanceLearning)等。
VOD是一种受用户控制的视频分配业务,它使得用户可以交互的访问远端服务器所存储的丰富节目源。
“它的实质是信息的使用者根据自己的需要主动获得多媒体信息。
”视频点播与传统电视有本质不同,主要体现在以下两个方面:
首先,视频点播具有交互性,用户可根据个人需求选择视频节目,并指定该节目的起始时间,从这一点来说,视频点播也可以称为交互式视频点播;而传统电视是按事先安排好的程序播放节目,用户在选择和观看节目方面是被动的,只有频道选择权,没有播放控制权,更不能对视频进行交互式操作。
其次,VOD系统中的信号是数字化的,而传统电视中的信号是模拟的。
在线视频点播需求概述
在线视频点播系统需要实现的功能包括用户管理,以及视频信息的管理和使用等。
具体来讲,它包含有用户管理中的常见的注册登录、操作,视频信息中的显示、播放、搜索操作,视频管理中的添加、删除、修改操作等。
同时为了方便用户的使用,增加了按影片类别显示的功能(以后我们把这个“类别”的概念统一称为“栏目”),这使得系统需要在视频信息之外保留栏目信息,于是增加了对栏目信息的添加、删除和修改操作。
在对系统的功能和需求进行详细分析之前,首先要根据使用该网站的用户角色的不同分为下面两种用户。
Ø管理员:
采用系统添加或先注册后登录的方式进入管理网站后台,负责管理网站上用户信息和视频信息的管理,以及栏目信息的管理。
其中包括视频信息的增加、删除、修改,以及栏目的增加、修改等操作。
Ø普通用户:
采用先注册后登录或后台添加的方式进入网站,在网站中可以在线浏览视频信息,搜索视频信息,以及在线观看视频信息。
这样,在对用户进行划分之后,得出的系统分析如图1-1:
图1-1:
系统分析图
通过对需求的划分的功能,得到系统的详细功能模块,如图1-2:
图1-2:
系统功能详细模块图
系统设计实现目标
设计目标:
该系统设计目标为1000个并发流,采用机架式结构设计,主要由多台支持较少并发流的视频服务器组成。
系统支持MPEG1、MPEG2、MPEG4、AVI、RM、RMVB、WMV、FLV等常见流媒体影片的播放效果。
实现方案:
系统采用B/S结构,由服务器服务,浏览器观看。
系统运行环境
1.4.1硬件环境
Ø服务器:
◆CPU:
Intel的PENTIUMN处理器,可扩展2个CPU.
◆硬盘:
1TBSCSI硬盘,可扩至4-6个硬盘
◆内存:
2GB,可扩展32GB
◆显卡:
32位真彩色
◆网卡:
千兆网卡,与IEEE标准兼容
Ø客户端:
◆普通的PC机:
◆CPU:
Intel的PENTIUM11266MHZ或更高
◆硬盘:
IDE/SATA硬盘
◆内存:
至少32MBRAM
◆显卡:
至少16位真彩色
◆网卡:
10/100m支持数据连接的普通适配卡
1.4.2软件环境
操作系统采用window2000server++及以上版本,流媒体并发流软件。
第2章总体设计
在系统需求分析阶段,已经搞清楚了系统“做什么”的问题,并通过需求说明书将这些需求描述出来,这也是目标系统的逻辑模型。
进入了设计阶段,要把系统“做什么”的逻辑模型变化为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计说明书”文档中,所以系统设计是一个把系统需求转换为系统表示的过程,最初这种表示只是描述了软件的总的体系结构,成为系统概要设计或结构设计。
然后对结构进一步细化,称为详细设计或过程设计。
软件系统设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流成图是设想各种可能方案的基础。
本章主要介绍系统模块设计,系统功能设计和系统数据结构设计
系统功能的设计
在线视频点播系统需要实现的功能包括用户的管理、以及视频信息的管理和使用等。
具体来讲,它包含用户管理中常见的注册、登录操作,视频信息的显示、播放、搜索、评论以及个人信息资料操作,视频管理和说评论管理中的添加、删除、修改等。
在线视频点播系统是在对一些用户观看电影的实际方式调研后,以实际为基础进行设计的。
该系统属于B/S模式,用户可以在线搜索、浏览、点播以及评论视频,并可通过用户服务模块对个人信息进行修改以及申请密码保护等操作。
管理员可对用户、视频信息、评论信息进行增加、删除以及修改等操作。
该系统包括四大模块:
会员管理、视频信息显示播放、视频信息搜索、管理员模块。
本系统根据使用该网站的用户角色不同可分为三种用户:
Ø管理员:
负责管理网站上用户信息、视频信息、评论信息的管理。
其中包括视频信息的增加、删除、修改,用户信息和评论信息的删除和修改。
Ø普通用户:
采用先注册后登录的方式进入网站,在网站中可以在线浏览视频信息,搜索、评论、下载视频等操作以及对自己个人信息管理。
Ø普通游客:
只能对本站的视频信息进行浏览、观看,不可以评论、下载等操作。
本系统的功能模块如下图1-3所示:
图1-3:
系统功能模块图
系统模块的设计
系统说明对于系统的初级应用者来说是一个非常重要的部分,它详细的介绍了本系统的基本应用,以就是说看了系统使用说明书就等于学会了此系统的基本应用,本文根据各个功能在主界面从左到右的顺序介绍了其应用方法,有视频搜索、视频信息浏览、系统登陆、视频点播/下载、发表评论;系统数据的查询、删除、修改与添加等功能模块。
对于一个系统来说,它应具备注册并登陆这一环节,这也是系统安全之所在,否则任何人都可以使用该系统,则对系统内的数据安全具有严重的危险性,数据容易丢失或被更改,所以系统登陆是很有必要的。
下面将介绍本系统的登陆过程和一些基本的要求。
2.2.1系统主界面
正确登陆本系统后的主界面如下图(图2—1)所示,其中普通用户用此界面,而管理员则用后台登录界面(图2—后台登录)进行系统信息管理。
图2—1:
主界面
2.2.2会员注册
进入本系统,首先看到的是整个系统的主界面,但使用本系统必须要注册才要以使用其完全功能,如视频下载、评论等。
2.2.3系统登录
在会员注册成功之后,可以直接进行登录,也可以转向主页,进行登录,如果密码及用户名正确输入后则进入本系统并登陆界面消失,在原位置上出现站内公告模块,登陆后站内公告模块。
2.2.4会员信息管理
在用户进入系统之后,可以继续浏览视频,也可以进行个人信息管理:
修改个人信息,修改密码、视频下载及发表评论等服务。
下载:
在视频详细信息页,单击“下载”即可下载视频,点“播放”可以观看视频。
2.2.5影片的信息显示
当用户点击某个影片名或图片时就会连接到,其中会向用户显示影片的详细信息。
在本系统中为了让用户对视频的选择有一个方向,在系统的各个面页提供了,视频搜索、视频排行和视频的分类显示。
Ø搜索:
用户想要观看某个视频,且在页面中没有显示,就可以在搜索框中填入某视频中的一个或几个字,就可以对该视频进行查询,如:
要查找“举起手来之鬼子逃亡”您就可以输入“举起”、“手”、“鬼子”、“逃亡”等关键字进行查找。
找到之后,点击图片或视频名,即可到达该视频的详细信息页面。
Ø排行:
在系统的各个页面的右边都有视频排行,分别是视频总排行,周排行和最
Ø分类:
如果用户想查看某一类视频,可以在系统栏目中,点击视频分类即可转向分类页面。
2.2.6视频播放
当用户找到要观看的影片时点击播放按钮就会转入进行影片观看了。
播放器采用RealPlayer播放控件,具有RealPlayer几乎所有的基本功能。
播放界面如图(图2—2)所示。
图2—2:
播放
2.2.7管理员模块
在任何的一个系统中,一般都有前台显示和后台管理两部分组成。
本系统也不例外,其中前台显示在会员管理模块已经详细介绍,下面就将对后台数据管理进行具体的介绍。
管理员登录:
管理员可以对系统所有的数据进行管理,所以管理员的账户安全尤其重要。
由此本系统采用了管理员单独的登录界面(图2—3登录)。
图2—:
管理后台登录界面
在管理员登录后,显示系统后台管理的主界面(图2—4),在此界面中显示系统的基本信息。
如版权,登录IP等。
图2—4:
后台界面
评论管理:
由于视频的评论来自网站会员,因此,管理员只有删除评论的权利,而不能对用户的评论作出修改。
评论管理如图(图2—5)所示:
图2—5:
评论
视频管理
视频添加:
视频添加的基本信息包括影片的分类、影片名称、上传影片、上传图片、影片大小、主要演员、内容简介,播放时间等信息。
如果信息均符合验证要求则当点击“添加视频”按钮时视频的信息就会添加到数据库当中。
如图(图2—6)所示。
图2—6:
视频添加
视频信息修改:
在视频信息修改当中管理员首先可以查看影片的详细信息,并对影片执行修改和删除操作。
如果想具体操作某影片还可以通过搜索栏进行精确或模糊查找,如“图2—7”,“图2—8”所示。
图2—7:
查看
图2—8
用户管理:
管理员可以通过此项操作可以对用户(会员和管理员)有的一切信息进行修改或删除。
如“图2—9”“修改管理员”“图2--10”所示。
图2--9修改会员
图2—10:
修改管理员
数据库的设计
2.3.1数据库的需求分析
在线视频点播的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上,包括会员信息、视频信息、视频分类和评论信息,各部分的数据内容又有内在的联系。
针对该系统的数据特点,可以总结如下需求。
Ø会员信息记录会员信息的详细资料,只有在会员登陆后方可下载视频。
Ø视频信息记录视频的基本信息,方便用户查看。
Ø评论信息记录了会员对视频的评论。
Ø分类信息记录了视频的分类,方面查找视频。
经过上述系统功能分析和需求总结,设计如下数据表和数据结构。
2.3.2会员信息表
会员信息表(by_member)记录了会员的详细信息,结构如图(图2--11)
图2—11:
会员信息表
2.3.3视频信息表
视频信息表(by_movie)记录了视频的编号、分类编号,视频名称、视频简介、主演、导演、等详细信息,结构如图(图2—12)所示
图2—12:
视频信息表
2.3.4视频分类表
视频分类表(by_class)记录了影片的分类信息。
结构如图(图2—13)所示。
图2—13:
分类信息表
依据以上表与表之间的关系,可以得到如下关系图(图2—14)
图2—14:
关系图
第3章模块详细设计与实现
模块功能详细描述
对于一个系统来说,它应具备注册并登陆这一环节,这也是系统安全之所在,否则任何人都可以使用该系统,则对系统内的数据安全具有严重的危险性,数据容易丢失或被更改,所以系统登陆是很有必要的。
这里主要是网站会员对个人信息的管理。
采用先注册后登录或后台添加的方式进入网站,在网站中可以在线浏览视频信息,搜索视频信息、在线观看视频以及发表评论信息。
3.1.1会员注册
进入本系统,首先看到的是整个系统的主界面,但使用本系统必须要注册才可以使用其完全功能。
用户在首页面可以见到让用户进行注册的提示,用户可以点击链接然后根据注册页面的注册要求来进行注册。
当提示注册成功时会员的注册信息将被保存到SQLServer2000数据库中。
在会员注册时利用中的验证控件来进行条件限制以达到提高会员信息的安全性的目的。
当用户在注册时,系统会对填写的用户名与数据库中所存在的用户名进行比较,当发现与数据库中已存在的用户名相同时,将提示“您输入的用户名已经存在,请您选择一个其他的名字!
”。
这主要是为了避免用户名的重复现象。
3.1.2会员登录
在会员注册成功之后,可以直接进行登录,也可以转向主页,进行登录,如果密码及用户名正确输入后则进入本系统并登陆界面消失,在原位置上出现站内公告模块。
在会员进入系统之后,会员可以对视频进行下载、评论。
也可以对自己的个人信息及服务密码进行管理。
3.1.3视频显示
会员进入主界面后,可以大致的看到视频的显示信息(主要有图片,视频名)。
点击图片或视频名时就会进入视频的详细页面。
可以更进一步的查看视频的基本信息及评论信息。
在视频的详细页面可以点击“播放”、“下载”进行视频浏览及视频下载。
3.1.4视频评论
会员进入播放页面后,在观看视频的同时,也可以对视频进行评论一些简单的评论评论,只需填写评论内容,提交即可。
3.1.5用户注销
当我们离开本系统时,出于安全的考虑,不希望保留这种状态,就需要注销,也就是退出登录状态,变为游客身份。
这样的功能有利于用户的信息安全。
注销后向系统将清除当前登录用户的请求,清除后即可使用其他用户名来登录你的系统,注销可以清空当前用户的缓存空间和注册表信息。
3.1.6管理员模块
采用系统添加或先注册后登录的方式进入管理网站后台,负责管理网站上用户信息和视频信息的管理,以及栏目信息的管理。
其中包括视频信息的增加、删除、修改,以及栏目的增加、修改等操作。
模块关键技术
本系统主要利用了Dreamweaver+SQLServer+JavaScript及界面美化CSS+DIV等技术。
主要语言采用当前最流行的C#编程语言。
3.2.1视频显示
在视频显示中,以VisualStudio2005及Dreamweaver进行页面的布局。
应用PhotoShop+Flash及DIV+CSS进行页面的美化。
页面数据的显示主要应用了中的数据绑定技术及分页技术。
3.2.2视频播放
视频播放主要利用了“嵌入视频播放器代码(HTML)”,数据传递主要利用了中的Session进行视频信息的传递。
3.2.3会员评论
在此模块利用了在网站应用中比较重要的技术“web用户控件”、ASPNET操作数据库技术。
3.2.4视频搜索
此模块中利用了当前最新的技术:
一种创建交互式网页应用的网页开发技术(Ajax扩展)。
搜索代码如下:
privatevoidBindDataSearch()
{if(KeyWords==null)
{=true;}else{
();
stringsqlstr="select*fromby_moviewherem_nameLike'%"+KeyWords+"%'";3.2.53.3.1oString().Trim().Equals来判用户输入的验证码是否与随机显示的验证码是否匹配。
User_name='"++"'andUser_pass='"++"'"来对比用户名与密码,如果这三项都符合的话则成功登录,进入系统管理主界面,如图2—4所示。
3.3.2视频添加
视频添加的实现:
填写完视频信息时,单击“添加视频”按钮,将会执行dbbase类中的Insert方法,其中sqlstr语句中的列与添加的视频信息相对应。
之后再调用dbbase类中的excuteSql方法执行sql语句,通过try.....catch.....finally语句获取异常信息,并给出错误提示。
添加视频信息和视频上传(代码见附录1)。
3.3.3视频信息修改
视频添加的实现:
首先在查看视频信息时候,点击视频后面的修改,进入视频信息修改页,获取视频的信息,修改完视频信息时,单击“确定修改”按钮,将会执行dbbase类中的upDate方法,其中sqlstr语句中的字段与要修改的视频信息相对应。
之后再调用dbbase类中的excuteSql方法执行sql语句,通过try.....catch.....finally语句获取异常信息,并给出错误提示。
部分代码见附录(视频信息修改)。
3.3.4会员添加
会员添加的实现:
会员添加主要是向数据库里添加会员的基本信息:
会员用户名,密码。
其它信息用户可以在会员进入系统以后进行修改。
会员添加时,首先检测会员的用户名是否被占用。
如果没有,则调用dbbase类中的Insert方法。
然后利用try{……}catch{……}finally{……}判断Insert方法的执行情况,如果不成功,则返回错误信息:
添加失败,否则添加成功。
添加会员代码如下:
protectedvoidbtnok_Click(objectsender,EventArgse)
{dbbasedb=newdbbase();
();
stringsqlstr="insertintoby_member
(user_name,user_pass)values('"+txtmem_name+"','"+txt_pass+"')";
(sqlstr);
();}
3.3.5会员信息修改
会员信息修改的实现:
在查看会员信息页面,点击“修改”即可转向会员信息修改的页面。
在此页面中利用SqlDataReader读出会员的信息,并显示在文本框中。
修改会员信息后,单击“修改”按钮调用dbbase类中的upDate方法,利用try{……}catch{……}finally{……}判断upDate方法的执行情况,如果不成功,则返回错误信息:
修改失败,否则修改成功。
3.3.6评论管理
评论管理的实现:
为了保证信息的真实性,系统管理员只能删除评论而不能进行评论修改,评论的实现主要调用DelPingLun函数,来进行评论的删除。
在DelPingLun函数中使用了数据库操作中的delete。
语句为:
sqlstr=deletefrom表名Where条件。
然后调用dbbase类中的executeSql方法执行SQL语句。
利用try{……}catch{……}finally{……}判断executeSqle方法的执行情况,如果不成功,则返回错误信息:
删除失败,否则删除成功。
3.3.7退出系统
退出系统的实现:
当系统管理员登录后系统都会运用Session来记