基于WEB的视频直播系统的应用研究

时间:2023-04-18 09:40:21 手机站 来源:网友投稿

摘要:随着计算机网络的发展,在网络上进行视频直播变得越来越流行。然而目前的视频直播系统还存在着一定的问题。通过对视频直播系统架构的分析,提出了一个基于Web的视频直播系统的设计方案。

关键词:Web;视频直播;视频压缩;C/S;B/S

中图分类号:TP37 文献标识码:A文章编号:1009-3044(2009)04-0968-03

Research on Video Living Transmission System based on Web

ZHU Ying

(Institute of Science,University of Science and Technology of People"s Liberation Army,Nanjing 210007,China)

Abstract:With the development of computer network,video living is becoming more and more popular. However,there are some problem in video living transmission system. By the study of system frame, the author bring forward the design project of video living transmission system based on web.

Key words: web;video living;Video Compression;C/S; B/S

1 引言

随着计算机网络的发展,网络视频系统已经广泛的应用于各行各业。基于Web的网络视频直播系统是将Web技术的方便性和实用性与现有多媒体网络通信技术结合起来构建而成的网络视频系统,它利用现有的网络基础设施,通过公众和专用网络,以最低廉的价格传送数据、视频和音频信号,从而实现更快、更高质量的通信服务。

2 系统架构分析

随着计算机技术的不断发展与应用,计算模式从集中式转向了分布式,尤为典型的是C/S结构(Client/Server的简称,客户机/服务器模式)。它在上个世纪八十年代及九十年代初得到了大量应用。近年来,随着网络技术不断发展,很多应用系统的体系结构从C/S结构向更加灵活的多级分布结构演变,使得软件系统的网络体系结构跨入一个新阶段,即B/S体系结构(Browser/Server的简称,浏览器/服务器模式)。基于Web的B/S方式其实也是一种客户机/服务器方式,只不过它的客户端是浏览器。为了区别于传统的C/S模式,才特意将其称为B/S模式。

2.1 C/S结构与B/S结构的比较

2.1.1 系统的性能

在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。它不受时间、地点和系统的限制。

不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。

2.1.2 系统的开发

C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。

但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。

2.1.3 系统的升级维护

C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。

2.2 基于混合架构的视频直播系统

通过上一节的分析,我们发现传统的视频直播系统尽管在事务处理能力、系统响应速度等方面具有一定的优势,但是它的缺点也是显而易见的。为了解决这些问题,目前提出了一种基于C/S和B/S混合架构的开发模式。

在这种模式中,控制数据的传输仍然采用C/S模式。而与单纯的C/S模式不同的是,客户端程序被嵌入在Web页中并在客户端的浏览器上运行;而B/S模式则用于发布C/S模式中的的客户端程序,这样可以在Web应用程序中使用真正的分布式对象。这种模式同时具备了上述两种模式的优点,用C/S模式保证了控制数据传输的高效率,用B/S模式简化了系统的维护,保证了系统具有良好的可扩展性。基于B/S和C/S混合架构的结构如图1所示。

本文提出了一个基于WEB的视频直播系统的设计方案,该系统采用C/S与B/S混合架构的开发模式。一方面,系统以Web应用程序的形式实现,通过B/S模式发布到远程客户端,另一方面视频客户端程序与视频服务端程序以C/S模式实现视频数据的传输和控制。系统网络结构图,如图2所示。

系统服务器端主要由视频服务器、WEB服务器和数据库组成。视频服务器进行视频数据的处理,包括视频的采集、压缩和网络发送等,同时将相关数据写入到数据库中;WEB服务器提供视频客户端控件的下载、对用户进行安全认证、并提供相关信息的查询和下载。客户机无需安装客户端软件,只需通过IE浏览器就可以进行视频的实时观看和保存等操作。

2.3 视频直播系统架构分析

整个系统框架分为三层,分别是表示层、功能层和数据层。

2.3.1 表示层

表示层分为两部分:一是C/S结构中的视频服务器和视频客户端界面,另一个是B/S结构中的WEB页面。其中WEB页面主要提供信息检索、信息管理、视频控件和信息交流的接口。

2.3.2 功能层

功能层分为两部分:一个是C/S结构中的视频处理、视频传输和信息控制功能,另一个是B/S结构中的检索服务、访问控制、存储服务和用户管理功能。

2.3.3 数据层

数据层主要是数据库,其中包括用户信息、视频信息和访问信息等。

3 系统的详细设计

3.1 C/S层的设计

3.1.1 视频服务器详细设计

视频服务器的主要任务是将采集到的视频流进行网络发送。主要包括视频捕捉、视频压缩、视频存储、网络发送四个模块。

a)视频捕捉模块:通过视频采集设备实时采集视频流。本系统的设计是基于低成本和满足普通用户需求的,因此在选择视频采集设备时,我们没有选择视频采集卡,而是选择了USB摄像头。USB摄像头的优点有:一方面,它的价格较视频采集卡来说比较低且使用方便,尽管采集的图像质量没有采集卡的那么高,但是目前普通USB摄像头捕捉视频的分辨率能够达到1280×960(130万象素),足够满足普通需求;另一方面,我们可以控制摄像的捕捉帧率、设置图像的分辨率、亮度和对比度等。

b)视频压缩模块:视频数据一般都比较大,不能直接进行网络发送,我们需要对视频数据进行压缩。在第二章中我们介绍了视频压缩技术,对常用的几种压缩标准进行了比较。通过比较我们发现MPEG-4压缩标准比较符合视频直播系统的需求,因此我们选择了MPEG-4编码器进行视频数据的压缩。

c)视频网络发送模块:由于是一点对多点的模式,我们选择IP组播来实现数据的发送。尽管经过压缩后视频数据变小,考虑到窄带情况以及网络传输MTU值等因素,再加上由于IP组播是基于UDP协议的,而UDP协议不能保证数据传输的有序性,我们采取将每一帧视频数据拆成若干数据包,对每块数据包进行封装,其中包括帧序号、包序号、时间戳和关键帧标志等,将封装后的数据进行发送。

d)视频存储模块:将视频数据写入到文件,供日后查询和观看。考虑到硬盘空间等因素,保存压缩后的视频数据。

3.1.2 视频客户端的详细设计

视频客户端划分成网络接收、视频解压缩、视频存储和视频回放四个模块。

a)网络接收模块:根据服务器端发送过来的组播地址和端口,客户端加入指定的组播组开始接收视频数据,考虑到视频数据传输中的延时和抖动等因素,接收端要提供一个数据缓冲区,先缓冲一定的数据,然后再对视频数据进行处理。本系统采用循环队列实现数据的缓存。由于发送时进行了分帧操作,且接收的视频数据可能是乱序的,因此,首先要对数据包进行排序,然后将属于同一帧的数据包进行组装,最后将组装好的视频帧推给下一级过滤器。

b)视频解码模块:由于服务器端采用的MPEG-4编码器,因此服务器端采用MPEG-4解码器。

c)视频存储模块:将视频数据写入到文件,供日后查询和观看。考虑到硬盘空间等因素,保存压缩后的视频数据。

d)视频回放模块:实时回放接收的视频流。

3.2 B/S层的设计

WEB服务器划分成三个功能模块:身份认证模块、用户使用模块和管理员管理模块。身份认证模块主要有两个功能:一是对请求登陆者的身份进行验证,二是接受用户的注册请求;用户使用模块的功能主要是满足用户的需求,主要包括成功下载客户端控件、能够查询到所需视频文件进行观看和下载以及同其他用户和管理员进行使用系统的心得交流;管理员管理模块的主要功能是管理员进行系统管理,主要包括日志查询、视频录像文件的管理和信息交流区的管理等。

3.2.1 身份认证模块

身份认证模块主要具有两个功能:身份认证和用户注册。用户进入登陆页面后,输入用户名和密码,系统在数据库中进行查询,如果信息匹配成功,证明该用户是合法用户,再判断用户的等级,如果是管理员跳转到管理员页面,否则跳转到用户页面。

3.2.2 管理员管理模块

管理员管理模块主要有三大功能:信息查询、视频文件管理和用户交流区管理。管理员根据不同需求,激发相应功能。信息查询主要是对用户信息、用户使用记录和视频传输状况进行查询;视频文件管理主要是上传视频文件、修改视频文件的相关信息以及删除视频文件;交流区管理主要是回答用户提出的问题,审核用户回答问题的答案以及修改、删除问题。

3.2.3 用户操作模块

用户操作模块主要有三大功能:视频直播、视频文件检索和信息交流。用户根据不同需求,激发相应功能。视频直播主要是浏览器下载客户端控件,用户通过视频客户端进行视频的观看;视频文件检索主要是用户通过检索信息查询到自己需要的视频文件可以进行在线观看,也可以下载到本地;信息交流主要是用户发布自己使用系统中遇见的问题,同时也可以回答其他用户提出的问题。

4 结束语

通过对当前视频直播系统存在的诸如软件安装麻烦、升级维护不便、网络拥塞控制能力差和成本较高等问题的分析,在对视频直播系统架构进行认真分析的基础上,提出了基于C/S和B/S混合架构的开发模式,详细分析了系统的架构,并重点阐述了各功能模块的具体设计。

参考文献:

[1] 张丽.流媒体技术大全[M].北京:中国青年出版社,2003.

[2] 李小平,刘玉树.多媒体通信技术[M].北京:北京航空航天大学出版社,2004.

[3] 高文.多媒体数据压缩技术[M].北京:电子工业出版社,2002.

[4] 李炳.流媒体技术及应用[J].电力系统自动化,2002(05).

[5] 刘勇生.流媒体实时传播的瓶颈分析[J].图书馆论坛,2003(05).

推荐访问:直播 研究 系统 视频 WEB

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。