局域网视频聊天室系统设计与实现 视频聊天系统作为一种新型的通信和交流工具,突破了地域的限制,可以提供更为便捷、灵活、全面的音、视频信息的传递和服务,具有极其广泛的发展前景。 本文介绍了采用JAVA编程开发视频聊天系统的一套比较常用的解决方案。文字聊天采用TCP模式;语音视频聊天采用UDP模式,在客户端之间点对点的进行。在该方案中,通过函数库VFW来实现视频捕获、影像压缩以及影像播放。微软公司提供的专门用于视频捕获开发的工具包VFW,为在Windows操作系统中实现视频捕获提供了标准的接口,从而大大降低了程序的开发难度。在视频传输方面,则通过组建视频帧,将位图形式的视频帧压缩成帧格式的Mpeg4流,传输到客户端后,解压并显示影像。同时,在本方案中,采用了线程来实现语音录制和语音回放,最终实现了通过服务器中转的文字聊天、点对点的语音视频聊天。 目 录 1 引言 ........................................................................................................................................... 1 1.1 课题背景 ........................................................................................................................... 1 1.2 国内外研究现状 ............................................................................................................... 1 2 理论知识介绍 ........................................................................................................................... 1 2.1 VFW简介 ......................................................................................................................... 1 2.2 线程的实现方法 ............................................................................................................... 4 3 需求分析 ................................................................................................................................... 5 3.1 软硬件环境 ....................................................................................................................... 5 3.2 需求分析 ........................................................................................................................... 5 4 系统结构 ................................................................................................................................... 7 4.1 硬件结构 ........................................................................................................................... 7 4.2 软件结构 ........................................................................................................................... 7 4.2.1 功能需求 .................................................................................................................. 7 4.2.2 系统功能模块图 ...................................................................................................... 8 4.3 系统各模块流程图 ........................................................................................................... 8 5 系统的详细设计 ..................................................................................................................... 10 5.1 文字聊天 ......................................................................................................................... 10 5.1.1 TCP套接字的运用 ............................................................................................... 10 5.1.2 文字聊天实现 ......................................................................................................... 11 5.2 语音视频聊天 ................................................................................................................. 13 5.2.1 UDP套接字的运用 ............................................................................................... 13 5.2.2 视频的捕获 ............................................................................................................ 14 5.2.3 捕获窗口 ................................................................................................................ 16 5.2.4 视频捕获驱动 ........................................................................................................ 18 5.2.5 语音录制 ................................................................................................................ 18 5.2.6 语音回放 ................................................................................................................ 19 5.2.7 视音频的传输 ........................................................................................................ 20 结 论 ......................................................................................................................................... 21 第 1 页 共 24 页
1 引言 1.1 课题背景 随着Internet的不断发展普及,网络通讯越来越被千家万户所接受,成为人们生活中的一部分。网络聊天已和手机等一样,成为人们运用最为广泛的通信工具之一。本毕业设计的目的主要是为了满足人们通讯交流的便捷,实现灵活、全面的音、视频信息的传递和服务。模拟腾讯公司的QQ聊天软件,开发一个多功能的聊天系统软件,本毕业设计主要实现视频语音聊天、文字聊天等功能。 1.2 国内外研究现状 随着网络宽带业务的推广与普及,加之视频产品设备(如摄像头、耳机、麦克风等)的成熟,普通用户可以轻松地借助网络视频通讯软件,实现“面对面”的网络交流。信息的无限量扩大,交通工具的便捷,视频技术的充分应用等导致了行业间竞争的全球化,这就要求现代部门、企业要具备更加灵敏的神经,更扁平化的管理,更快速的反应和决策,更贴切的市场宣传和服务。所有这一切是由信息技术的发展所带来的,同样也要求有先进的信息技术来提高部门、企业的竞争力。现代通讯已经是越来越普及了,必须有效合理的运用视频产品类设备来提高信息的传递和交流。在同一个局域网中,充分、合理的运用摄像头、耳机、麦克风等设备来实现文字聊天和语音视频聊天更是我们生活、学习、工作的便利所在。 2 理论知识介绍 2.1 VFW简介 VFW是Microsoft 1992年推出的关于数字视频的一个软件包,它能使应用程序数字化并播放从传统模拟视频源得到的视频剪辑。VFW的一个关键思想是播放时不需要专用硬件,为了解决数字视频数据量大的问题,需要对数据进行压缩。它引进了一种叫AVI的文件标准,该标准未规定如何对视频进行捕获、压缩及播放,仅规定视频和音频该如何存储在硬盘上,以及在AVI文件中交替存储视频帧和与之相匹配的音频数据。VFW给程序员提供VBX和AVICap窗口类的高级编程工具,使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪辑。用户不必专门安装VFW,在安装Windows时,安装程序会自动地安装配置视频所需的组件,如设备驱动程序、视频压缩程序等。 VFW主要由以下六个模块组成: (1) AVICAP.DLL:包含了执行视频捕获的函数,它给AVI文件、I/O和视频音频设备驱动程序提供一个高级接口; (2) MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作; (3) MCIAVI.DRV:此驱动程序包括对VFW的MCI命令的解释器;