论文部分内容阅读
摘要:本文介绍了视频会议系统的基本概念,与其相关的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:新成员向组内所有成员发布的关于它自己的文本地址的广播消息。 InitialMembersRequestMsg:从一个新的成员发出到所有组的协调者的点到点的消息,用来请求当前的组列表。
InitialMembersReplyMsg:从当前组列表中所有组的协调者对要求组列表的请求者的点到点的答复消息。
IconInquiryMsg:从一个新的成员发出到所有组的协调者的点到点的消息,用来请求可用图标的列表。
IconInquiryReplyMsg:当前组列表中所有组的协调者对要求可用图标列表的请求者的点到点的答复消息。
JoinRequestMsg:新成员发给该组协调者的点到点的消息,用来请求加入该组。
JoinRequestGrantedMsg:组内的协调者发给新成员的点到点的消息,用来允许该成员加入该组。
JoinRequestDeniedMsg:组内的协调者发给新成员的点到点的消息,用来拒绝该成员加入该组。
十三种不同的媒体控制消息:
StartVideoConferenceRequestMsg:从一个成员(请求者)发给另一个成员(接收者)的点到点的消息,用来请求一段视频对话。
StartVideoConferenceRequestGrantedMsg:一个成员(接收者)发给另一个成员(请求者)的点到点的消息,表示同意举行视频对话。
StartVideoConferenceRequestDeniedMsg:一个成员(接收者)发给另一个成员(请求者)的点到点的消息,表示拒绝举行视频对话。
StartAudioBcastMsg:组内协调者向所有成员发出的广播消息,表示一段音频广播的开始。
EndAudioBcastMsg:组内协调者向所有成员发出的广播消息,表示一段音频广播结束。
StartAudioRequestMsg:组内成员(请求者)发给协调者的点到点的消息,请求允许在组内广播音频。
StartAudioRequestGrantedMsg:组内协调者发个请求者的点到点的消息,允许它在组内广播音频。
StartAudioRequestDeniedMsg:组内协调者发个请求者的点到点的消息,禁止它在组内广播音频。
StartVideoBcastMsg:组内协调者向所有成员发出的广播消息,表示一段视频广播的开始。
EndVideoBcastMsg:组内协调者向所有成员发出的广播消息,表示一段视频广播结束。
StartVideoRequestMsg:组内成员(请求者)发给协调者的点到点的消息,请求允许在组内广播视频。
StartVideoRequestGrantedMsg:组内协调者发个请求者的点到点的消息,允许它在组内广播视频。
StartVideoRequestDeniedMsg:组内协调者发个请求者的点到点的消息,禁止它在组内广播视频。
数据层(DataManager)
这一层中定义了数据频道的管理器和消息类型。
媒体管理器类(MediaManager)是数据频道管理器的超类,同时也是管理器类(Manager)的子类。视频管理器(VideoManager)、音频管理器(AudioManager)和文本管理器(TextManager)都是媒体管理器类的子类。他们分别是视频频道、音频频道和文本频道的频道管理器,通过GUIManager同用户事件进行通信。
四、小结
本文介绍了视频会议系统的基本概念,并根据视频会议系统的基本结构和一些相关技术,说明了一个基于JavaGroups工具包的小型视频会议系统的设计和实现。
参考文献:
[1]基于局域网的小型视频会议系统.吉林大学硕士研究生毕业论文
[2]董小国,王红岩,韩少亭.基于H.323协议的视频会议的软件实现.现代计算机,总第163期
关键词:视频会议系统;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:新成员向组内所有成员发布的关于它自己的文本地址的广播消息。 InitialMembersRequestMsg:从一个新的成员发出到所有组的协调者的点到点的消息,用来请求当前的组列表。
InitialMembersReplyMsg:从当前组列表中所有组的协调者对要求组列表的请求者的点到点的答复消息。
IconInquiryMsg:从一个新的成员发出到所有组的协调者的点到点的消息,用来请求可用图标的列表。
IconInquiryReplyMsg:当前组列表中所有组的协调者对要求可用图标列表的请求者的点到点的答复消息。
JoinRequestMsg:新成员发给该组协调者的点到点的消息,用来请求加入该组。
JoinRequestGrantedMsg:组内的协调者发给新成员的点到点的消息,用来允许该成员加入该组。
JoinRequestDeniedMsg:组内的协调者发给新成员的点到点的消息,用来拒绝该成员加入该组。
十三种不同的媒体控制消息:
StartVideoConferenceRequestMsg:从一个成员(请求者)发给另一个成员(接收者)的点到点的消息,用来请求一段视频对话。
StartVideoConferenceRequestGrantedMsg:一个成员(接收者)发给另一个成员(请求者)的点到点的消息,表示同意举行视频对话。
StartVideoConferenceRequestDeniedMsg:一个成员(接收者)发给另一个成员(请求者)的点到点的消息,表示拒绝举行视频对话。
StartAudioBcastMsg:组内协调者向所有成员发出的广播消息,表示一段音频广播的开始。
EndAudioBcastMsg:组内协调者向所有成员发出的广播消息,表示一段音频广播结束。
StartAudioRequestMsg:组内成员(请求者)发给协调者的点到点的消息,请求允许在组内广播音频。
StartAudioRequestGrantedMsg:组内协调者发个请求者的点到点的消息,允许它在组内广播音频。
StartAudioRequestDeniedMsg:组内协调者发个请求者的点到点的消息,禁止它在组内广播音频。
StartVideoBcastMsg:组内协调者向所有成员发出的广播消息,表示一段视频广播的开始。
EndVideoBcastMsg:组内协调者向所有成员发出的广播消息,表示一段视频广播结束。
StartVideoRequestMsg:组内成员(请求者)发给协调者的点到点的消息,请求允许在组内广播视频。
StartVideoRequestGrantedMsg:组内协调者发个请求者的点到点的消息,允许它在组内广播视频。
StartVideoRequestDeniedMsg:组内协调者发个请求者的点到点的消息,禁止它在组内广播视频。
数据层(DataManager)
这一层中定义了数据频道的管理器和消息类型。
媒体管理器类(MediaManager)是数据频道管理器的超类,同时也是管理器类(Manager)的子类。视频管理器(VideoManager)、音频管理器(AudioManager)和文本管理器(TextManager)都是媒体管理器类的子类。他们分别是视频频道、音频频道和文本频道的频道管理器,通过GUIManager同用户事件进行通信。
四、小结
本文介绍了视频会议系统的基本概念,并根据视频会议系统的基本结构和一些相关技术,说明了一个基于JavaGroups工具包的小型视频会议系统的设计和实现。
参考文献:
[1]基于局域网的小型视频会议系统.吉林大学硕士研究生毕业论文
[2]董小国,王红岩,韩少亭.基于H.323协议的视频会议的软件实现.现代计算机,总第163期