限大小的包形式传输的,这些包称为数据报(datagram).但是,由于数据报长度有限,通常必须将数据分解为多个包,在目的地再重新组合。有可能一包或多个包在传输中丢失或遭到破坏。由于网络视频会议的实时性要求,不可能让视频传输的每一贞都准确无误。而TCP协议正是为数据可靠传输而设计的。那么选择UDP协议,即用户数据报协议(UserDatagramProtocol,UDP),就成为一种必然。
Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递。在Java中,有专门的Socket类来处理用户的请求和响应。利用Socket类的方法,就可以实现两台计算机之间的通讯。在Java中Socket可以理解为客户端或者服务器端的一个特殊的对象,这个对象有两个关键的方法,一个是getInputStream方法,另一个是getOutputStream方法。getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到的输入流其实就是从服务器端发回的数据流。GetOutputStream方法得到一个输出流,客户端Socket对象上的getOutputStream方法返回的输出流就是将要发送到服务器端的数据流,(其实是一个缓冲区,暂时存储将要发送过去的数据)。
多播通信是一类特殊的IP地址(D类IP地址)这些IP地址并不和任何主机关联,而是专门为多播通信保留下来的,地址范围224.0.0.1-239.255.255.255这间,其中224.0.0.1-224.0.0.255是留作为多播路由信息使用的。此外,所有其它D类IP地址都可以随便进行通信。
2.3系统需求分析
由于政府部门和企事业单位对视频会议系统有强烈需求,并且人们对视频和音频信息的需求愈来愈强烈,所以有必要开发一个网络视频会议系统。并且近些年来,依托计算机技术、通信技术和网络条件的发展,集音频、视频、图像、文字、数据为一体的多媒体信息,使越来越多的人开始通过互联网享受到网上生活的乐趣,缩短了时区和地域的距离。远程通信的各种优势给人们带来的方便也促使人们对这一领域进行更加深入的探索。现代社会中信息的无限量扩大,交通工具的便捷,互联网技术的充分应用等导致了行业间竞争的全球化,这就要求现代部门、企业要具备更加灵敏的神经,更扁平化的管理,更快速的反应和决策,更贴切的市场宣传和服务。所有这一切是由于信息技术的发展带来的,同样也要求有先进的信息技术来提高部门、企业的竞争力。视频会议系统的可以跨越空间距离、灵活多样的面对面的交互,适应现代社会的方便、快捷、高效、快节奏,它为用户带来的经济效益,使视频会议系统的使用正在向各行各业渗透。视频会议系统是支持人们远距离进行实时信息交流、开展协同工作的应用系统。视频会议系统实时传输视频与音频信息,使协作成员可以远距离进行直观、真实的视音频交流。另一方面,利用多媒体技术的支持,视频会议系统可以帮助使用者对工作中各种信息进行处理,如共享数据、共享应用程序等,从而构造出一个多人共享的工作空间。所以,开发一个网络视频会议系统是很有必要的。
第三章系统概要设计
3.1系统总体设计
3.1.1运行环境
操作系统:Windows2000/XP/2003等
安装JDK
安装JMF
安装eclipse
安装摄像头
3.1.2系统流程
服务器端流程如图3.1所示:
图3.1服务器端流程图
客户端流程如图3.2所示:
图3.2客户端流程图
3.1.3系统结构
通过学习和研究,我们通过多播技术实现了多点对多点的视频会议系统。整个系统包括这样几个模块:
文本聊天模块:该功能是网络视频会议的最基本的功能。通过该模块实现了会议成员的聊天通信。首先,每个会议职员通过与服务器连接加入到会议组,同时通过给自己取昵称将自己的昵称发送给服务器,让会议组的每个成员了解自己的身份。会议成员在聊天的时候不是将文本发送给某个人,而是发送给整个会议组。
视频通信模块:该功能利用JMF软件开发包,基于RTP协议实时发送和接受视频流。并且利用JMF多媒体组件构造播放器,进行实时播放。在实现了点对点的基本视频传输的基础上,我们应用了多播技术。当某个会议成员开始进行视频连接以后,
上一篇:
基于java的聊天系统的设计于实现(论文和程序)
下一篇:
无进程无端口DLL木马