【计算机毕业论文】基于Java的视频会议系统

本课题为实现多人在线同时举行会议的功能,对该视频会议系统做了详细的系统分析。包括系统的可行性分析、对开发用到的关键技术的介绍以及系统的需求分析。

可行性分析

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.1 运行环境

操作系统:Windows 2000/XP/2003 等

安装JDK

安装JMF

安装eclipse

安装摄像头

3.1.2 系统流程 

服务器端流程如图3.1所示:

客户端流程如图3.2 所示:

服务器:

serverSocketChannel = ServerSocketChannel.open();//打开连接通道

serverSocketChannel.socket().bind(new InetSocketAddress(12345));//绑定IP与端口号

getConnection();//接收连接请求

客户端:

socketChannel = SocketChannel.open();打开连接通道

socketChannel.connect(new InetSocketAddress(InetAddress.getByName

(serverAddress),12345));//连接到服务器

receiveMessage = new ReceivingThread();//构造接收信息线程

receiveMessage.start();//运行线程

socketChannel.write(writeBuffer);//往通道里写入消息

socketChannel.read(readBuffer);//读取通道中消息

本论文目录参考

目       录

       

第一章 概述

1.1 本课题的研究背景

1.2 本课题的研究意义

1.3 本报告的目的、内容及作者的主要贡献

1.3.1 本报告的目的

1.3.2 本报告的内容

1.3.3 作者主要贡献

1.4 国内外相近研究课题的特点及发展趋势

1.5 现行研究存在的问题及解决办法

1.5.1 需求分析问题

1.5.2 系统设计问题

1.5.4 代码实现问题

1.5.5 界面设计问题

1.6 本课题要达到的设计目标

第二章  系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 操作可行性

2.2 采用的关键技术介绍

2.2.1  JAVA多媒体技术

2.2.2  JAVA 网络编程技术

2.3 系统需求分析

第三章 系统概要设计

3.1 系统总体设计

3.1.1 运行环境

3.1.2 系统流程

3.1.3 系统结构

3.2 系统接口的概要设计

3.2.1 服务器端设计

3.2.2 客户端设计

3.3 系统出错处理设计

3.3.1 出错信息及处理方法

3.3.2系统维护设计

第四章 系统详细设计

4.1 文本聊天模块的详细设计

4.2 视频通信模块的详细设计

4.2.1 网络视频会议系统结构的详细设计

4.2.2 视音频传输的详细设计

4.2.2 多播的详细设计

4.3 系统界面的详细设计

第五章 系统实现

5.1 系统开发环境

5.2 系统实现

5.2.1 服务器端套接字建立

5.2.2 客户端套接字建立

5.2.3 视音频发送

5.2.4 视音频接收

第六章 性能测试与分析

6.1 测试实例(测试集)的研究与选择

6.2 性能分析

第七章 课程设计总结

7.1 系统总结

7.1.1 系统特点介绍

7.1.2 系统存在的问题

7.2 系统改进建议或设想

7.3 课程设计心得体会

参考文献

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序袁小子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值