目 录
第一章 概述
1.1 本课题的研究背景
随着人们对视频和音频信息的需求愈来愈强烈,追求远距离的视音频的同步交互成为新的时尚。近些年来,依托计算机技术、通信技术和网络条件的发展,集音频、视频、图像、文字、数据为一体的多媒体信息,使越来越多的人开始通过互联网享受到网上生活、远程医疗、远程通讯的乐趣,缩短了时区和地域的距离。远程通信的各种优势给人们带来的方便也促使人们对这一领域进行更加深入的探索。基于不同平台以及不同开发工具的网络视频会议系统层出不穷。
视频会议系统在我国开始发展的初期,政府部门的应用就占据了重要位置,覆盖中央到直辖市和各省会城市的国家公众视频会议骨干网已经完工。自1994年9月投入使用以来,国务院等机关先后利用该网召开了三百多次全国范围的可视通讯会议。整个系统运行情况良好,得到了国家领导人和各部委领导的高度赞扬。近年来随着电子政务工程的逐步推进,政府部门更加关注视频会议系统建设。在经济发达地区(例如浙江、山东、广东),视频会议网已覆盖到地市级城市,有的甚至覆盖到县一级。除各级政府之外,其它诸如检察院、法院、公安和和水利等职能部门也是视频会议系统的重要用户。
视频会议系统还更广泛的应用于现代企业中。信息技术的迅猛发展,改变了各行各业的传统工作模式。信息的无限量扩大,交通工具的便捷,互联网技术的充分应用等导致了行业间竞争的全球化,这就要求现代部门、企业要具备更加灵敏的神经,更扁平化的管理,更快速的反应和决策,更贴切的市场宣传和服务。所有这一切是由于信息技术的发展带来的,同样也要求有先进的信息技术来提高部门、企业的竞争力。视频会议系统的可以跨越空间距离、灵活多样的面对面的交互,适应现代社会的方便、快捷、高效、快节奏,它为用户带来的经济效益,使视频会议系统的使用正在向各行各业渗透,给这一市场注入了新的活力。
1.2 本课题的研究意义
从实用方面:
视频会议系统是指通过现有的各种电气通讯传输媒体,将人物的静态/动态图像、语音、文字、图片等多种信息分送到各个用户的计算机上,使得在地理上分散的用户可以共聚一处,通过图形、声音等多种方式交流信息,增加双方对内容的理解能力。视频会议系统对于减少差旅费用等机构开支;提高机构运作效率;提高机构形象有利于加强对外交往;有利于政策方针的迅速准确传达;有利于广泛收集意见;有利于加强内部交流;员工培训等方面带来巨大的直接和间接效益。由于视频会议系统的这些优点,使得视频会议系统备受关注。并且已经有越来越多的人利用这种方式进行交流沟通,不仅方便而且拉近了人与人之间的距离。现在的一些软件像QQ以及MSN等软件为人们的视频聊天提供了许多方便。
从学习知识方面:
通过做这样一个课题,对学习无疑是十分有益的。尤其在学习了JAVA编程之后更有欲望对其进行深层次的学习,并且可以结合各方面的知识进行多方面的学习,积累更多知识。
1.3 本报告的目的、内容及作者的主要贡献
1.3.1 本报告的目的
本报告对基于JAVA的点对点视频会议系统做出详细地需求分析,并对其设计与实现过程进行详细的论述。目的在于阐明本视频会议系统如何能够实现多人在线举行会议。
1.3.2 本报告的内容
本报告内容上从视频会议的开发背景开始论述,研究并确定了开发环境,并对该视频会议系统的需求做出了详细的分析,根据其需求及开发工具的功能特性确立课题的设计方案及开发策略。并对课题的概要设计、详细设计以及代码实现过程和后期的测试过程,须改进的部分都进行了详细的说明。
1.3.3 作者主要贡献
本报告中,作者的主要贡献:对该视频会议系统进行可行性分析、需求分析、功能模块设计、各个功能的代码实现、良好用户操作界面的设计与实现、对各功能实现结果的测试等。
1.4 国内外相近研究课题的特点及发展趋势
视频会议是近几年才发展起来的多媒体通信技术。视频会议可实时传送声音、图象;使每位与会者都有身临其境的感觉。此外,它还提供文件传真、静止图文传送、白板等一系列辅助服务项目。视频会议最初是"点对点"的会议传输(point to point),现已发展到"一点对多点"(point to multi points)及"多点到多点"(multi points to multi points)阶段。
视频会议系统的关键技术 :1)多媒体信息处理技术2)宽带网络技术3)分布式处理技术视频会议实现点对点、一点对多点、多点之间的实时同步交互通信。
视频会议的发展趋势:
1.系统功能多元化具有图文同传功能:除视音频外,可以方便地传送和显示电脑文档用于培训、汇报、交流;视频会议与电话系统浑然一体:可方便接入会议电话系统,通过电话、手机也可加入会议等。
2.系统组网多样化,有网络就能开会。
3.图像清晰化:视频会议需要更优异、更清晰、更成熟的图像编解码技术。
4.使用、维护简捷化:易于使用,可自行组织、控制会议;进行远程管理、远程维护、升级,降低维护成本;更新设计,大幅提高系统稳定性。
1.5 现行研究存在的问题及解决办法
1.5.1 需求分析问题
开始对课题所研究的问题不是很明确,如其应用范围,具体功能等。通过老师的讲解及指导和查相关资料得以解决。
由于几乎没有使用过视频会议,对其的了解也不太深刻,老师给讲解了一些内容,在网上下载了一个视频会议系统的软件试用了一下,并查阅了许多相关资料,这才可以对该课题进行需求分析。
1.5.2 系统设计问题
在该视频会议系统的设计上遇到了很多问题:如何准确的定位网络上一台或多台主机,如何找到主机后如何可靠高效的进行数据传输;建立网络之间会话;图像的采集、压缩及编码;网络视频的传输;系统的界面设计等问题。
1.5.4 代码实现问题
在具体的功能实现上,编码遇到了极大的困难。因为该课题需要用到很多以前从未接触到的知识,如需要用JMF,RTP协议传输视频,JAVA socket编程,如何采集图像等知识。在用JAVA语言编码过程中,因编程规范及其他各种语法问题出现了很多错误,通过老师指导和查阅资料得以解决。
1.5.5 界面设计问题
本课题采用eclipse开发平台,装载ve插件后,用其进行图形界面的设计和实现。并且在试用所下载的视频会议系统后,有很大心得,根据其界面的合理性,模仿设计本课题中界面。
1.6 本课题要达到的设计目标
本课题致力于实现实现点对点的视频传输并完成基本功能(如动态视频传输、文本传输等),提供多人同时在线举行会议。包含以下内容:
1.动态视频传输:视频双方可以看到对方的动态图像。
2.声音传输:在视频或非视频状态下可以听到对方的声音,进行语音交流。
3.文本传输:可以通过文本输入进行交流。
第二章 系统分析
本课题为实现多人在线同时举行会议的功能,对该视频会议系统做了详细的系统分析。包括系统的可行性分析、对开发用到的关键技术的介绍以及系统的需求分析。
2.1 可行性分析
2.1.1 技术可行性
网络视频会议是顺应市场的需求而设计的。采用JAVA 编程语言,用eclipse开发平台实现。用到多媒体技术(JAVA 多媒体框架JMF),视频和音频用TRP协议传输,用到Socket编程技术,多播技术。网络视频会议首先是基于网络传输的,那么就必然要依托于JAVA网络编程的相关知识。在这基础上,由于相关音频、视频,所以还要涉及到JAVA的多媒体技术的相关知识,即JMF (Java Media Framework)。利用JAVA的这个组件,我们可以方便的处理多媒体文件,并基于RTP协议进行实时传输。
2.1.2 操作可行性
系统运行于Windows环境,其用户操作界面友好,便于操作,适合视频会议流程。
系统的基本操作如下:
1.启动服务器;
2.用户连接到服务器;
3.进行视频连接;
4.举行会议;
5.会议完毕,退出系统。
2.2 采用的关键技术介绍
2.2.1 JAVA多媒体技术
JAVA多媒体技术的核心是Java媒体框架 JMF(Java Media Framework)。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.2 JAVA 网络编程技术
网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。
目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。
数据在Internet中是以有限大小的包形式传输的,这些包称为数据报(datagram).但是,由于数据报长度有限,通常必须将数据分解为多个包,在目的地再重新组合。有可能一包或多个包在传输中丢失或遭到破坏。由于网络视频会议的实时性要求,不可能让视频传输的每一贞都准确无误。而TCP协议正是为数据可靠传输而设计的。那么选择UDP协议,即用户数据报协议(User Datagram Protocol,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 运行环境
操作系统:Windows 2000/XP/2003 等
安装JDK
安装JMF
安装eclipse
安装摄像头
3.1.2 系统流程
服务器端流程如图3.1所示:
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。