频会议首先是基于网络传输的,那么就必然要依托于JAVA网络编程的相关知识。在这基础上,由于相关音频、视频,所以还要涉及到JAVA的多媒体技术的相关知识,即JMF(JavaMediaFramework)。利用JAVA的这个组件,我们可以方便的处理多媒体文件,并基于RTP协议进行实时传输。
2.1.2操作可行性
系统运行于Windows环境,其用户操作界面友好,便于操作,适合视频会议流程。
系统的基本操作如下:
1.启动服务器;
2.用户连接到服务器;
3.进行视频连接;
4.举行会议;
5.会议完毕,退出系统。
2.2采用的关键技术介绍
2.2.1JAVA多媒体技术
JAVA多媒体技术的核心是Java媒体框架JMF(JavaMediaFramework)。JMF中包含了许多用于处理多媒体的API,它是一个很好的多媒体编程工具,同时也是一个相当复杂的系统。JMF的主要应用功能之一是多媒体数据流在网络中的实时传输,其RTP包中提供的RTP包中提供的RTPManager(RTP管理器)、TrackContol(轨道控制器)、SendStream(发送数据流)、ReceiveStream(接收数据流)、InetAddress(IP地址)和SessionAddress(会话地址)等类使得编写网络实时数据传输变得容易,基于RTP协议的RTP应用程序框架为实现流媒体在网络中实时传输提供了Java程序框架,应用它可方便的实现多媒体数据流在网络中的实时传输。实时传输协议RTP是在Internet网上针对多媒体数据流的一种传输协议,RTP被定义为在一对一获一对多的传输情况下工作的,其目的是提供时间信息和实现多媒体数据流的同步。RTP由RTP和RTCP(实时控制协议)两个部分组成。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,可不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
2.2.2JAVA网络编程技术
网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。
目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。
数据在Internet中是以有限大小的包形式传输的,这些包称为数据报(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多媒体组件构造播放器,进行实时播放。在实现了点对点的基本视频传输的基础上,我们应用了多播技术。当某个会议成员开始进行视频连接以后,他能通过视频会议系统看到所有其他已经建立视频连接会议成员。
3.2系统接口的概要设计
3.2.1服务器端设计
系统的服务器端的设计只需显示在线的用户,简单设计图示如下:
图3.3系统服务器端设计
3.2.2客户端设计
系统客户端的设计如下:
1.显示在线列表;
2.显示界面中用户视频;
3.用户聊天文本框;
4.视频连接及退出按钮。
简单设计图示如下:
图3.4系统客户端设计
3.3系统出错处理设计
3.3.1出错信息及处理方法
系统输出信息的形式、含意及处理方法。见表3.1。
表3.1出错信息及处理方法
上一篇:
(jsp+sql)java论坛管理系统,包括论文和程序(论文和程序)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施