APP下载

基于VLC的校园信息发布系统

2011-03-06张晓霞

通信技术 2011年7期
关键词:节目单插件服务器

张晓霞

(汉口学院 电子信息与通信工程学院,湖北 武汉 430212)

0 引言

典型的信息发布系统是采用电视台的编播软件,将各类多媒体文件编辑成节目,然后合成为完整的视频文件传输到各个终端,终端播放器循环播放该视频文件。该信息发布系统具有时效性差,维护代价高等缺点。流媒体[1]技术以流的形式在网络上传送音频和视频数据,其具有快速、高效等特点。校园信息发布系统除了流媒体之外还有图片、文本、Flash动画等,因此流媒体播放控制技术不能完全适用。

传统的管理信息系统分为C/S和B/S[2]。C/S模式是指利用客户端具有了一定的数据处理和数据存储能力把系统的计算和数据合理地分配在客户机和服务器两端,有效地降低网络通信量和服务器运算量;B/S模式即软件应用的业务逻辑完全在应用服务器端实现,用户表现通过浏览器实现,使用者通过浏览器即可进行业务处理。

VLC(VideoLAN Client) Media Player是一个开放源代码、跨多操作系统平台的流媒体服务器和流媒体播放器[3],基于VLC流媒体服务器的应用场合很广泛。这里基于流媒体技术,使用VLC播放器,结合C/S和B/S系统的特点,提出了一种新的校园信息发布系统结构。

1 VLC系统结构与流媒体服务

1.1 VLC的体系结构

VLC具有流媒体服务器和客户端功能,要归功于VLC独特的插件化(plug-in)设计。对于VLC的所有插件分为两类:内置插件(built-in)和动态载入插件(load)。在程序启动后,系统会自动加载内置的插件,根据系统工作模式和任务的不同,会动态载入所需的插件。如图1所示,VLC首先通过interface插件管理所有和用户间的接口操作,如键盘输入命令,图形化操作界面、远程调用等,在interface中会管理各个用户所有发布/播放媒体的播放列表;对于播放列表中的各个视频节目,VLC会通过input插件实现媒体数据的获取(read)、多路解复用(demux)和流化管理(streaming),生成媒体基本流(essence stream);音/视频的基本流通过译码器(decoder)解码;解码后的音/视频流可以输出了,对于不同的模式和应用,输出的方式不同。如作为服务器时,输出的方式必定有网络输出,而作为客户端时,输出的方式是播放。

图1 VLC的体系结构

1.2 VLC创建流媒体服务的方式

VLC创建流媒体服务的形式很多,主要包括图形界面(GUI,Graphical User Interface)方式、命令方式和二次开发方式。在GUI方式中由向导创建流媒体服务主要包括选择串流至网络、选择输入播放列表、选择串流传输方式和选择串流封装格式四个步骤。命令方式是指用户按照规定的格式输入命令,完成流媒体服务。VLC的命令可以操作三种类型的节目视频点播(VOD,Video On Demand)、broadcast和schedule,其中schedule管理broadcast,主要负责设置broadcast的播放时间、重复次数等相关信息。二次开发是指用户基于VLC源码封装的接口,采用编程定制个性化的流媒体服务系统。总之,以上三种方式各有其特点。其中GUI方式最简单,但缺乏远程控制性和可集成性等;命令方式较复杂些,可以远程控制,但是可集成性不够;二次开发方式虽然需要额外的编程,但在远程控制和可集成性上表现最好。

2 校园信息发布系统

2.1 系统相关术语定义

为了更好地说明校园信息发布系统的实现过程,先定义系统方案中相关术语如下。

(1)域服务器

域服务器是信息编辑和发布的核心。每个域服务器中媒体资源都不完全相同。域服务器主要负责将各种媒体资源定义在一系列不同的节目元素的节目单中。域服务器会根据各个群服务器具体业务功能,将符合要求的节目单发送到群服务器。域服务器主要有流媒体服务器和信息管理的Web应用服务器组成。

(2)群服务器

群服务器完成节目的播放与控制。包括接收域控制器组播视频流,根据节目单请求节目资源,处理实时信息或事故预案处理等。

2.2 系统总体设计

校园信息发布系统的总体设计[4-5]如图 2所示。通过管理员和操作员上传、管理各类资源,每栋教学楼、学院楼、行政楼等建筑作为一个域服务器,比如:图书馆域服务器,教学楼域服务器,食堂域服务器等。首先将多媒体资讯分组发给这几个不同的域服务器:对于新书介绍的信息应该发给图书馆域服务器;自习室开放信息应该发送给教学楼域服务器;而关于菜品介绍则需要发送给食堂域服务器。各个域服务器根据实际业务需求编排节目,节目单供群服务器播放。流媒体节目单发送给流媒体服务器,去完成流媒体服务;播放控制命令发送给播放控制器,去完成信息的控制调度与播放。播放控制器中校园信息的显示是通过向Web服务器发起HTTP请求和接收视频流实现的。

图2 校园信息发布系统总体设计

2.3 系统实现

校园信息发布系统中WEB服务器,采用WEB技术,使用数据库管理设备和节目资源,通过人工操作编排节目、调整节目和下发节目单[6-7]。节目单采用XML文件存储,基于TCP/IP应用层协议和流媒体服务器交互。

校园信息发布系统中的流媒体服务需要先对VLC接口封装,创建接口抽象层,形成流媒体服务子系统接口抽象层。在流媒体服务子系统与外部管理子系统间,加入网络通讯层,通过定义应用层协议,让其与WEB服务器交互,这样可以实时地完成流媒体服务。

在校园信息发布系统中,主要存在三种周期性任务:普通资讯播放任务、每日实时资讯任务和临时插播任务。从这几种任务代表的实际意义可以得出它们的周期从小到大依次递增,证明可得该任务集可以被速率单调调度算法(RMS,Rate-Monotonic Scheduling)调度。

校园信息发布系统的播放控制器,主要由若干业务逻辑处理能力的浏览器组成,因此在播放控制器中显示的是网页,对于校园信息中的流媒体,采用VLC网页插件播放。系统中的每日实时资讯信息、临时插播信息、VLC插件的媒体资源地址(MRL,Media Resource Locator)和普通资讯等信息需要交互更新,这些更新都是通过网页脚本语言(如javascript)来定义的,播放控制器需要通过浏览器去执行相应的脚本函数。

3 测试结果

如图3所示,对于单台普通PC作为流媒体服务器能支持的并行多播数为50多个。

图3 系统性能测试曲线

由于不同码流的视频文件使得系统性能存在一定波动,同时流媒体服务器在并发组播数从47增加到56时,系统CPU、网络和内存利用率增长较大,为了保证系统整体性能,对于域服务器中单台流媒体服务器在投入运营时实际处理的并发多播数为35~45之间,且多台实际流媒体服务器构成的集群性能呈线性递增。

4 结语

这里采用C/S和B/S混合模式,提出了一种基于VLC的信息发布系统方案,通过测试与运行证明系统可靠、实用。信息发布系统的应用范围非常广泛,除了校园外还包括:大型超市、商场、医院、车站等场所。所设计的信息发布系统方案能方便地部署到各个应用场合,具有广泛的社会价值和经济价值。

[1] 管国辰,邢卫,鲁东明.一种模块化的流媒体系统开发框架[J].计算机工程,2007, 33(03):215-217.

[2] 胡斌.基于Web流媒体系统的设计与实现[J].现代电子技术2009,32(02):111-113.

[3] 许进虎,刘文涛.运用VLC媒体播放器增加HDTV播出频道的实践[J].中国有线电视,2006,15(06):532-534.

[4] 袁静,胡昌华,龙勇,等.基于C/S+B/S双模式的分布式远程诊断专家系统[J].计算机工程,2006.32(12):196-198.

[5] 徐建卯,贺国,明廷锋.C/S和B/S在舰船技术保障中的应用研究[J].微计算机信息,2007,23(03):25-26,14.

[6] 刘其群,黄河清,冯文峰.基于有向无环图的P2P流媒体播放系统[J].通信技术, 2009,42(07):202-204,241.

[7] 何岸,张艳.基于P2P流媒体的教学体系结构研究[J].通信技术,2010,43(07):210-212.

猜你喜欢

节目单插件服务器
自编插件完善App Inventor与乐高机器人通信
通信控制服务器(CCS)维护终端的设计与实现
幽你一默
到底谁先唱
中国服务器市场份额出炉
基于jQUerY的自定义插件开发
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
坐在节目单上
基于Revit MEP的插件制作探讨