首页 > 范文大全 > 正文

局域网视频会议系统研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇局域网视频会议系统研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文介绍了视频会议系统的基本概念,与其相关的Java媒体框架和计算机支持的协同工作系统,说明和设计了局域网视频会议系统。

关键词:视频会议系统;Java媒体框架;计算机支持的协同工作

中图分类号:TN948.63 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02

一、前言

视频会议(VideoConference)系统是一种能把声音、图像、文本等多种信息从一个地方传送到另一个地方的通信系统。有效发送基于视频的信息,可以在远程部门和部门间开展合作,同时还可以实现诸如视频会议和视频点播等视频应用技术。

二、视频会议系统的基本原理

视频会议(VideoConference)系统的基本定义是:两个或两个以上地理位置不同的个人或群体,通过传输线路和多媒体设备,将声音、图像、视频影像和文件资料交互的传递,达到即时并且互动的沟通,以便完成会议目的的系统。从定以上看,视频会议是一种典型的多媒体通信。

三、视频会议系统的设计和实现

VideoConference和JavaGroupsVC是为实现视频会议系统并且基于JavaGroups而设计的。VideoConference是JavaGroups的一个扩展包,JavaGroupsVC是基于JavaGroups的一个视频会议的应用程序。JavaGroupsVC使用层结构来设计的。有三个主要的层:图形用户界面层、控制层和数据层。

其中包含六个主要部分,四个对用户是可见的。它们是图形用户界面层中的图形用户界面部分,数据层中的视频部分,音频部分和文本部分。另外两个对终端用户透明的部分是控制层中的组内成员部分和组间成员部分。

图形用户界面层

该层的主要部分是图形用户界面管理器(GUIManager),它通过轻量Java Swing组件来处理所有的用户事件。GUIManagers实现了接口WidowListener、ActionListener和Runnable,它包含了四个子组件:聊天面板,媒体面板,成员面板和组面板。

聊天面板(ChatPanel)用来显示或记录聊天会议的活动(文本面板),聊天面板由一个用于输入消息的文本区域和一个用于显示来自所有成员的消息的文本区域组成;组面板(GroupsPanel)用来显示所有的组和组中所有的成员。它有一个包含所有组的树形结构,从中可以看到每个组内的成员;成员面板(MembershipChanel)用来显示当前组中的所有成员;媒体面板(MediaPanel)用来显示视频和音频播放器。

为了使应用程序面对用户真正做到交互性,用户事件必须通过GUIManager下的四个子组件来传播信息。图形用户界面管理器处理图形用户界面层与控制层和数据层之间的所有通信。

控制层(ControlManager)

控制管理器包含两大部分,组管理器(GroupsManager)和成员管理器(MemebershipManager)。

其中定义了如下的数据结构:

GroupList:用来存储一个组的信息,包括组名和用户信息管理器;

UserInfo:用来存储单个成员的信息,包括用户名、地址、聊天地址、视频地址、音频地址、默认地址和序列号。

组列表管理器(GroupListManager)是GroupList的数据结构管理器,它用来处理在一个组列表中添加和删除组的操作。

用户信息管理器(UserInfoManager)是UserInfo的数据结构管理器,它用来处理关于把可读的用户名和终端地址联系起来的所有事务。

组管理器(GroupsManager)属于频道管理器,它运行组间成员管理协议,并且通过GUIManager同用户事件进行通信。它是抽象类Manager的子类,并且实现了接口MembershipListener和MessageListener。组管理器实现了加入一个组,离开一个组,获取自身地址,设置成员管理器、音频管理器、视频管理器、文本管理器、组列表管理器等功能。它同时包含了组列表管理器。

成员管理器(MemebershipManager)也属于频道管理器,它同样也运行组间成员管理协议,并且通过GUIManager同用户事件进行通信。

在这一层中除了管理器之外,还定义了特殊的控制消息,这一层中所有的控制消息都是JavaGroups中消息类(Message)的子类。它又分为组列表控制消息、媒体消息信息和成员控制消息。如下所示:

五种不同的组表控制消息:

BcastNewGroupMsg:由一个新组的创建者发出的广播消息,用来通知其他组的所有用户建立了一个新组。

GroupListRequestMsg:从一个新的成员发出到所有组的协调者得点到点的消息,用来请求当前的组列表。

GroupListReplyMsg:当前组列表中所有组的协调者对要求组列表的请求者得点到点的答复信息。

MemberJoinGroupMsg:一个组中的协调者用来通知不同组中的用户有新成员加入该组的广播消息。

MemberLeaveGroupMsg:一个组中的协调者用来通知不同组中的用户有新成员离开该组的广播消息。

十一种不同的成员控制信息

BcastUserInfoMsg:新成员向组内所有成员的关于它本身的广播消息。

AudioChannelBcastMsg:新成员向组内所有成员的关于它自己的音频地址的广播消息。

VideoChannelBcastMsg:新成员向组内所有成员的关于它自己的视频地址的广播消息。

TextChannelBcastMsg:新成员向组内所有成员的关于它自己的文本地址的广播消息。