摘 要
随着计算机技术和 Internet 的日新月异,宽带VOD视频点播技术因其良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐。本文阐述了基于WEB的交互式视频点播系统的协议原理、软件结构和设计实现。
本视频点播系统根据流媒体传输原理,在校园局域网的基础上模拟基于Web的视频点播系统,实现用户信息管理、视频文件的添加、删除、修改及在线播放和搜索功能。本系统是一个小型系统,我们采用基本的SQL Server数据库。具体实现中将HTML、ASP.net及C#相结合,力求界面美观、操作流畅。
本文主要论述服务器端视频服务平台的搭建、流媒体的相关原理及管理功能的具体实现。
关键词:流媒体;ASP.net;视频点播
Video on demand design and implement
Abstract
Broadband VOD (video on demand technology) get the favour of profession such as education and amusement because of its good human-computer interaction and streaming media transmission technic. In this paper, I elaborate systematic principle of the protocol, software structure and design implement based on Web interactive video on demand.
According to the streaming media transmission principle, this video on demand system imitates video on demand system based on the Web, implement that users’ information management and the functions of adding, deleting and modifying, online playing and searching for video files on the basic upper local area network of the campus. Since this system is a small-sized system, we use the basic SQL database. In specific implement, I fuse HTML, ASP.net and C# perfectly, try my best to make the interface beautiful, operate smoothly.
This paper discuss mainly about the video service platform building, the related principle of streaming media and the specific implement of management function.
Key words: Streaming media; ASP.net; video on demand
目 录
1 引 言
1.1 课题背景
随着宽带网络系统的建成和发展,视频点播(Video On Demand,简称V0D)系统被广泛应用于在线电影点播、多媒体课件点播、图书馆视频资料查询等用途。视频点播是综合了计算机技术、通讯技术、电视技术而迅速兴起的一门综合性技术。它涉及到信息量巨大的音频和视频在网上传播的问题,网络是硬件条件,而流媒体技术则解决了如何在网络上传输动态的音视频节目的难题。
1.2 流媒体简介
流媒体是指传输及播放的流媒体文件,经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连接、实时地传送,用户机不必等到整个文件全部下载完毕,仅需将起始几秒的数据先下载到本地的缓冲区中就可以开始播放,采用一边播放、一边下载、一边丢弃的方式,客户端的缓冲区建在内存中,不占用硬盘空间,不会在用户端留下任何拷贝,保护了知识产权,同时提高带宽利用率。流媒体技术是一个综合的技术,它包括采集、编码、传输、储存、解码等多技术。
1.3 本课题研究的意义
视频点播的本质是信息的使用者根据自己的需求主动获得多媒体信息,它区别于信息发布的最大不同:一是主动性、二是选择性。从某种意义上说这是信息的接受者根据自身需要进行自我完善和自我发展的方式,这种方式在当今的信息社会中将越来越符合信息资源消费者的深层需要,可以说视频点播是信息获取的未来主流方式在多媒体视音频方面的表现。视频点播的概念将会在信息获取的领域快速扩展,具有无限广阔的发展前景。
2 视频点播系统系统分析
2.1 系统需求分析
需求分析是指:需求分析人员将客户描述的需求用一种计算机语言描述出来,分析用户的要求是否能实现,是否还可以提供更多的功能。要开发一个软件产品,首要也是最重要的就是需求分析,它是决定一个系统成功与否的关键。本系统的目的是让用户通过本系统点播视频及相互交流看法。
2.1.1 用户身份级别要求
即根据身份的不同对系统的使用权限有所不同。从权限大小大致可以分为:系统管理员、注册用户、发布员、未注册用户。系统提供灵活的角色设定和权限的分配功能。
(1)系统管理员:是权限最大的用户,拥有视频点播系统的所有权限,主要负责对系统平台的日常网络维护管理,可以对系统进行修改,排除故障。
(2)发布员:拥有注册用户的权限并可以上传视频文件。
(3)注册用户:权限包括查看系统中视频的信息、点播及下载视频、发表言论、投票等。
(4)未注册用户:是权限最小的用户,只能查看系统中视频的信息。
2.1.2 系统功能需求与划分
(1)用户管理:对使用本系统注册用户信息的操作。包括删除用户、修改密码、权限的设置等操作。
操作对象:系统管理员。
浏览对象:系统管理员。
(2)用户注册:未注册用户可以注册新的帐号,在注册页面填写相关的注册信息,添加注册信息到系统的数据库中,以后就能用该账户登录到系统中。
操作对象:未注册用户。
浏览对象:未注册用户。
(3)用户登录:注册用户填写登录信息经过系统验证之后就能浏览该账户的权限所能访问的页面。
操作对象:注册用户。
浏览对象:注册用户。
具体操作:在登录表中填入相关信息,系统验证信息是否正确,如果正确就允许用户登录到系统中,用户可以访问该账户所允许访问的页面。没有注册的用户需先注册。
需要模块:用户注册模块,用户验证模块。
(4)用户权限验证: 验证用户的权限是否能够访问用户要求访问的页面。
操作对象:所有合法用户。
浏览对象:所有合法用户。
具体操作:用户登录时验证用户输入的登录信息是否正确,如果正确就读取数据库中该账户的权限字段并储存到系统中,当用户要求访问某个页面时就验证该用户的权限是否能访问该页面。
需要模块:用户注册模块、用户登录模块。
(5)视频点播和下载模块:点播和下载视频文件。
操作对象:所有合法用户。
浏览对象:所有合法用户。
(6)用户留言:用户发表自己的意见。
操作对象:所有合法用户。
浏览对象:所有合法用户。
(7)视频文件管理:系统管理员根据用户需求添加或删除视频文件,发布员根据用户需求上传视频文件。
操作对象:系统管理员,发布员。
浏览对象:系统管理员,发布员。
具体操作:对视频文件参数的基本设置。包括添加、删除、修改等。
需要模块:用户权限验证模块,用户登录模块。
(8)注销:所有的系统合法用户登录完成操作后退出系统都要进行“注销”操作、或者进行用户转换也需要进行“注销”操作。
操作对象:所有合法用户。
2.2 系统设计目标
研制视频点播系统的总体目标是将网络技术、信息技术、现代管理技术相结合,建立视频点播和信息交流平台。视频点播系统采用流媒体技术,充分利用了网络资源,为广大用户提供在线点播服务,用户可以根据自己的需求自主选择。本系统采用一边播放、一边下载、一边丢弃的方式,大大节省用户的时间,不会在用户端留下任何拷贝,保护了知识产权,同时提高带宽利用率。
本系统首先要实现动态性。所谓的动态性就是能动态更新内容,如更新用户信息、视频文件信息、用户留言等。这要求与数据库有良好的连接。
系统操作方便、操作界面美观。
2.3 系统的开发工具
2.3.1 开发环境Visual Studio 2005 介绍
Visual Studio是微软公司出品的一款大型应用软件,是一套完整的开发工具集,它主要用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。
SQL Server 2000介绍
Microsoft SQL Server 2000是目前使用最广泛的数据库之一。
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 编程运行环境
硬件环境:
CPU: Intel core2 cup t5500
内存:512 MB
硬盘:60 G
软件环境:
操作系统:Microsoft Windows XP Service Pack 2
应用软件:SQL Server 2000 +Microsoft Visual Studio 2005+Adobe Photoshop CS8.0
3 视频点播系统系统设计
3.1 数据库设计
数据库设计是系统设计中非常重要的一个环节,因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护,变更和功能扩充时,甚至于在系统开发过程中,将会引起比较大的问题,有时大量的工作将会重新进行。因此,设计出合理的数据库成为本系统设计一个十分关键的步骤。
用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各类信息的输入和输出。收集基本数据,数据结构以及数据处理的流程而制作一份详细的数据库需求分析表,为合理的数据库结构设计打下坚实的基础。
根据视频点播系统的一般要求,通过对整个系统运行过程和数据流程分析,得出本系统的实体表:用户信息表:tableuser、影片信息表:movielist、影片文件路径表:movieurl、用户留言表:msg、投票统计表:toupiao。
根据对数据项和数据结构的分析以及对实际的数据库实体的设计,设计出数据表以及数据表之间的逻辑关系,如图1:
图1:数据表与数据表之间的逻辑关系
经过前面的数据库分析与设计得到数据库的逻辑结构。本系统使用Microsoft SQL Server 2000作为数据库开发工具;创建名为movie的数据库根据各种功能的实现以及考虑到将来系统功能上的扩展,设计如下数据项和数据结构:
表1:用户信息表:TableUser
简称 | 字段名 | 类型 | 长度 | 允许空 | 备注 |
ID | iUserID | int | 4 | not null | PK |
用户名 | vUserName | varchar | 20 | not null | |
密码 | vPassWord | varchar | 20 | not null | |
| vEmail | varchar | 20 | not null | |
密码保护问题 | vQuestion | varchar | 20 | not null | |
密码保护答案 | vAnswer | varchar | 20 | not null | |
权限 | cQuanxian | char | 8 | not null |
表2:影片信息表:movielist
简称 | 字段名 | 类型 | 长度 | 允许空 | 备注 |
ID | iMovieID | int | 4 | not null | PK |
影片名 | vMovieName | varchar | 20 | not null | |
集数 | iCount | int | 4 | not null | |
上传用户 | vUser | varchar | 20 | not null | |
上传时间 | dtUpTime | datetime | 8 | not null | |
截图路径 | vImgUrl | varchar | 50 | ||
得票数 | iPlay | int | 4 | not null | |
影片信息 | vInfo | text | 16 | ||
影片分类 | cType | char | 8 | not null | |
影片格式 | cGeshi | char | 8 | not null |
表3:影片文件路径表:movieurl
简称 | 字段名 | 类型 | 长度 | 允许空 | 备注 |
ID | iUrlID | int | 4 | not null | PK |
影片名称 | vMovieName | varchar | 20 | not null | |
第几集 | iCounts | int | 4 | not null | |
文件路径 | vFileUrl | varchar | 20 | not null | |
格式 | cGeshi | char | 4 | not null |
表4:用户留言表:msg
简称 | 字段名 | 类型 | 长度 | 允许空 | 备注 |
ID | iMsgID | int | 4 | not null | PK |
用户名 | vUserName | varchar | 20 | not null | |
留言内容 | vInfo | varchar | 100 | not null | |
留言时间 | dtDateTime | datetime | 8 | not null | |
相关影片 | vMovieName | varchar | 20 | not null |
表5:投票统计表:toupiao
简称 | 字段名 | 类型 | 长度 | 允许空 | 备注 |
投票用户 | vUser | varchar | 20 | not null | PK |
得票影票 | vMovieName | varchar | 20 | not null | PK |
3.2 系统模块分析与设计
系统管理:包括帐号管理、系统信息管理和视频文件管理。
帐号管理:包括普通用户和发布员的基本信息和权限的管理都在“用户管理”模块中,系统管理员有权添加、删除、查看和修改所有普通用户和发布员的信息。
视频文件管理:系统管理员和发布员可以添加视频文件,系统管理员可以修改、删除视频文件。
系统信息管理:设置系统的信息。
视频播放与下载:合法用户能够点播或下载视频。
用户功能:用户功能包括注册新帐号、用已有的帐户登录、修改密码、通过密码保护找回密码、用户留言、查询、注销。
注册新账号:用户输入注册信息,输入的信息合法就能注册新帐号。
用户登录:用户登录模块采用与SQL数据库连接通过比较用户输入的信息与数据库中的数据判断用户的身份。登录身份分为三种:系统管理员、普通用户、发布员。
修改密码:普通用户和发布员可以修改自己的登陆密码。
密码保护:用户如果忘记密码或密码被修改,可以通过密码保护找回密码。通过回答注册用户时填写的密码保护答案,如果回答正确就能取得密码。
用户留言:用户可以发表对影片的看法,以及提出意见和建议。
查询:系统的所有合法用户都能使用“查询”模块的功能。“查询”模块提供视频文件的查询。只能进行精确查询,不支持模糊查询。
注销:所有的系统合法用户登录完成操作后退出系统都要进行“注销”操作、或者进行用户转换也需要进行“注销”操作。
系统功能模块分析与设计层次图,如图2:
图2:视频点播系统功能模块层次图
图3:页面设计的框架
图7:用户登陆测试结果图I
图8:用户登陆测试结果图II
图9:用户注册测试结果图I
图10:用户注册测试结果图II
图11:视频点播测试结果图I
图12:视频点播测试结果图II