多人网络视频会议系统的设计与实现——音频处理、界面及数据库设计模块---毕业论文_第1页
多人网络视频会议系统的设计与实现——音频处理、界面及数据库设计模块---毕业论文_第2页
多人网络视频会议系统的设计与实现——音频处理、界面及数据库设计模块---毕业论文_第3页
多人网络视频会议系统的设计与实现——音频处理、界面及数据库设计模块---毕业论文_第4页
多人网络视频会议系统的设计与实现——音频处理、界面及数据库设计模块---毕业论文_第5页
免费预览已结束,剩余63页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本本 科科 毕毕 业业 论论 文文 多人网络视频会议系统的设计与实现多人网络视频会议系统的设计与实现 Multi-user Video Net Meeting System 音频处理、界面及数据库设计模块音频处理、界面及数据库设计模块 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 年年 月月 I 摘摘 要要 随着计算机网络技术的不断发展,网络技术在人们的日常工作生活中 起着越来越重要的作用。步入信息社会的人们趋向于选择更加便捷的方式 参与会议。在这种情况下,网络视频会议应运而生。 网络视频会议(Multiuse Video Net Meeting)系统旨在降低会议成本, 让人们能够快捷、便利、经济的沟通。它是一种集声音、图像、文本等多 种信息为一体传输的通信系统,它解决了以上的问题,免去了很多会议开 支,缩短了解决问题的周期,使客观因素的影响大大减小。网络视频会议 系统作为计算机技术和通信技术相结合的产物,正随着波及全球的信息高 速公路的兴起而迅速发展起来,并且在现实生活中有着越来越广泛的应用。 本文阐述了视频会议系统的基本概念、实现及与其相关技术研究。除 了对系统总体构架进行分析外,还主要介绍了界面模块、数据库模块以及 音频模块的设计与实现。界面的设计采用了 MFC 皮肤进行美化,数据库部 分采用 MySQL 作为目标数据库,音频模块的设计包括四个部分:音频数据 的获取、传输、播放以及扬声器音量的控制。在对每部分功能模块进行阐 述时,都对系统实施过程中各个技术模块的难点、亮点与不足做了总结, 提出了对系统各技术模块进一步发展提高的展望。本文最后还对多人网络 视频会议系统的功能进行了总结,对系统进行了整体的展示。 关键词关键词: 视频会议;即时通讯系统;网络会议 II Abstract With the continuous development of internet, the internet technique is playing a more and more important role in peoples daily lives. People stepping into the info-society are prone to choose the more convenient means to attend meetings. Thus, the Multi-user Video Net Meeting (MVNM) is given rise to in this situation. The aim of Video-Net-Meeting- System is to decrease the cost of conferences, and achieve fast, convenient and econ omic communication. Its a communicating system that combined acoustic, visual, verbal and more types of information together. All the problems stated above are so lved and the expenditure is erased, the period of problem- solving is shortened, and the influences by objective factors are minimized. As the c ombining product of computer tech and communicating tech, the Video-Net- Meeting- System is developing rapidly with the bloom of global communication, and having wider and wider application in real lives. The basic concepts of the Video-Net-Meeting- System system and the realization and other relative research of this new technique ar e stated in this paper. In addition to the overall framework of system analysis, but also introduces the interface module, database module, and audio Design and Implementation of the audio module. Interface design to beautify the skin of the MFC, the use of MySQL database as the target database, audio module design includes four parts: audio data acquisition, transmission, playing, as well as speaker volume control. Each part in elaborating on it, both the implementation process of the system modules in various technical difficulties, highlights, Shortcomings and summarized proposed technical module of the system to raise the prospect of further development. Finally, the functions of the system were summarized at the end of the thesis,and with a whole display for system. Key words: Video Meeting; Instant Communication System; Net Meeting III 目目 录录 第一章第一章绪论绪论1 1 1.11.1课题背景课题背景1 1 1.21.2应用现状应用现状3 3 1.31.3任务及分工任务及分工3 3 1.41.4论文结构论文结构4 4 第二章第二章现有现有网网络视频通讯产品分析络视频通讯产品分析7 7 2.12.1现有的网络视频通信产品分析现有的网络视频通信产品分析7 7 2.22.2多人网络视频会议系统的意义多人网络视频会议系统的意义1010 2.32.3本章小结本章小结1010 第三章第三章多人网络视多人网络视频频会议系统的总体设计会议系统的总体设计1111 3.13.1多人网络视频会议系统设计思想多人网络视频会议系统设计思想1111 3.23.2关系结构解析关系结构解析1212 3.33.3模块划分与任务模块划分与任务1313 3.43.4架构设计的简要分析架构设计的简要分析1414 3.53.5本章小结本章小结1414 第四章第四章多人网络多人网络视视频会议系统的音频频会议系统的音频模模块设计块设计1515 4.14.1代码结构代码结构1515 4.24.2音频数据获取音频数据获取1616 4.34.3音频数据传输音频数据传输1818 4.44.4音频数据播放音频数据播放1919 4.54.5麦克风及扬声器的音量控制麦克风及扬声器的音量控制2121 4.64.6本章小结本章小结2222 第五章第五章多人网络视多人网络视频频会议系统的数据库设计会议系统的数据库设计2323 5.15.1数据库设计目标数据库设计目标2323 5.25.2MYSQLMYSQL 数据库数据库 2323 5.35.3数据表需求及设计数据表需求及设计2323 5.45.4主要数据库操作主要数据库操作2626 5.55.5本章小结本章小结2828 第六章第六章多人网络视频会议系统的界面设计多人网络视频会议系统的界面设计2929 6.16.1界面设计目标界面设计目标2929 6.26.2MFCMFC 皮肤皮肤 2929 6.36.3服务器界面设计服务器界面设计3131 IV 6.46.4客户端界面设计客户端界面设计3232 6.56.5本章小结本章小结4242 第七章第七章多人网络多人网络视视频会议系统的实现频会议系统的实现4343 7.17.1系统开发环境系统开发环境4343 7.27.2系统功能介绍系统功能介绍4343 7.37.3系统运行展示系统运行展示4343 7.47.4本章小结本章小结5454 第八章第八章总结与展望总结与展望5555 8.18.1总结总结5555 8.28.2展望展望5555 参考文献参考文献 5656 致谢致谢5858 V Contents Chapter 1 Introduction1 1.1Background.1 1.2Current Situation.3 1.3Contents and Tasks3 1.4Architecture of Thesis4 Chapter 2 Video Communication Products Analysis .7 2.1Current Video Communication Products Analysis 7 2.2Meaning Multi-User Video Net Meeting System.10 2.3Summary.10 Chapter 3 System Overall Architecture Plan11 3.1Design Idea of Multi-User Video Net Meeting System.11 3.2Relation Architecture Analysis.12 3.3Module Partition and Tasks13 3.4Analysis for Architecture Design14 3.5Summary.14 Chapter 4 Audio Module Design.15 4.1Code Architecture15 4.2Audio Data Acquirement.16 4.3Audio Data Transmission18 4.4Audio Data Play19 4.5Loudhailer Voice Control21 4.6Summary.22 Chapter 5 Design Of Database23 5.1Aim for Design of Database.23 5.2MySQL Database.23 5.3Requirements and Design for Tables .23 5.4Main Database Operations26 5.5Summary.28 Chapter 6 System Interface Design 29 6.1Aim for Interface Design.29 6.2MFC Skin29 VI 6.3Server Interface Design .31 6.4Client Interface Design32 6.5Summary.42 Chapter 7 System Functions And Demonstration.43 7.1System Functions Introduction.43 7.2System Functions Introduction.43 7.3System Execute and Demonstration.43 7.4Summary.54 Chapter 8 Conclusions And Future Work.55 8.1Conclusions.55 8.2Future Work.55 Acknowledgements.56 Appendix 58 第一章 绪论 1 第一章第一章绪论绪论 视频会议有点像使用电话,除了能看到与你通话的人之外,你能看到他们 的表情、肢体语言,及他们对你的言谈的反应。你们可以使用同一张数据表或 者任何其它 PC 上的文件。这就像你跟和你所通话的人在同一房间、面对面地 工作一样。当前视频会议系统应用这一块已经比较成熟。这里我们将对有关方 面的技术的研究现状以及存在的问题等进行阐述,最后对本文研究内容以及本 文的结构安排等进行总体概述。 1.1 课题背景课题背景 随着计算机网络的技术的不断发展,网络技术在人们的日常工作生活中 起着越来越重要的作用。如我们工作中的工作会议,生活中的会议会受诸多 因素的限制,如时间、地点,统一开会人员及布置会场、记录、主持等,相 距遥远的参会者不能及时或者无法参加会议造成会议无法正常进行,会议所 要解决的问题或是要制定的方案、决策常常由于种种类似的因素而耽搁。准 备会议、举行会议的成本高,效率低。所以步入信息社会的人们趋向于选择 更加便捷的方式参与会议。由此多人网络视频会议系统作为我们的自选课题 应运而生。 多人网络视频会议系统旨在降低会议成本,让人们能够快捷、便利、经济 的沟通。它是一种集声音、图像、文本等多种信息为一体传输的通信系统,它 解决了以上的问题,免去了很多会议开支,缩短了解决问题的周期,使客观因 素的影响大大减小。网络视频会议系统作为计算机技术和通信技术相结合的产 物,正随着波及全球的信息高速公路的兴起而迅速发展起来,并且在现实生活 中有着越来越广泛的应用。 虽然网络视频会议系统技术已经很成熟,但往往由于软件价格昂贵等原因 不能得到广泛的应用,对于一般的人来说没有机会尝试使用,但通过实现多人 视频功能等网络视频会议系统的核心功能,达到推广的效果是我们开发组的主 要目的。 当前市场上的视频会议系统主要分为两大类:软视频会议系统和硬视频会 多人网络视频会议系统的设计与实现 2 议系统。 基于硬件的视频会议产品基本上都遵循了 H.323 的基本框架。H.323 标准 是 ITU 组织定义的基于包交换网络的视频多媒体会议通信的一个标准,现在应 用广泛的 LAN 和 WAN 都属于包交换的网络。同时,该标准还兼顾了传统的 PSTN 呼叫流程和 IP 网络的特点。H.323 涵盖了一系列的标准,比如网络为基 于包交换的无 QoS 保障的分组交换网,但可以通过网关和基于 ISDN 的 H.320 系统相连,与低比特率的 H.324 终端相连等等。音频编解码标准有 G.711、G.723、G.729 等,视频编解码标准有 H.261 或 H.263,数据传输标准为 T.120,媒体流通信控制协议 H.245,呼叫控制信令 H.225 等等。H.323 标准定 义了几个实时媒体传输的组件:终端、网关、网守(Gatekeepers) 、多点控制单 元。硬件产品往往把几个功能模块中的一部分或几部分进行合并集成为一个硬 件产品。如 MCU 可以是单独一个硬件产品,但也往往和网关、网守按用户的 需求做成一个硬件产品,甚至有的用户终端内嵌了 MCU 部分。 目前市场上硬视频会议厂商:国外公司有 POLYCOM、VCON、VTEL、TANDERBERG,国内公司有瑞福特、华为、中 兴通讯等,其中 POLYCOM 的市场占有率最高;TANDERBERG 终端清晰度高, 但价格非常高,在高端的用户层面上占有量最大;华为、中兴通讯偏重于电讯 行业和军队项目;瑞福特定位在要求性价比比较高的中档项目上。 总体来说,硬视频会议系统在视频效果、传输延迟、处理速度和安全性方 面优于软视频会议系统,瓶颈问题在于价格的高昂。而软视频会议系统在网络 适应性、功能多样性、可扩展性方面明显优于硬视频会议系统,瓶颈问题在于 网络带宽。.而双方在音频效果和操作性方面是差不多的。当然如果同样是在专 网条件下,软视频会议系统的很多不足之处都将得以弥补。 目前市场上软件视频会议产品比较多,比如:网动 Meeting,华平 AVCON,威速 V2,山东视维,上海声威等。软视频会议系统在通用技术上差 别不大,效果主要受网络带宽限制和电脑配置制约。如果将软件视频会议技术 应用于专网中,那么效果就非常完美了。软件视频会议市场之争主要是品牌和 价格之争,而技术之争已经淡化了。 第一章 绪论 3 1.2 应用现状应用现状 经过近几年的发展和市场推动,视频会议系统的应用主要在:远程分支机 构会议、商务会议、远程培训、远程销售与支持、远程教育、远程医疗等方面。 现说明如下: 远程商务会议应用视讯业务最普遍最广泛的应用,适用于一些大型集 团公司、外商独资企业等在商务活动猛增的情况下,逐步利用视讯会议方式组 织部分商务谈判、业务管理和远程公司内部会议。 远程教育应用利用视讯会议开展教学活动,使更多、更大范围的学生 能够聆听优秀教师的教学,在美国、欧洲较为流行,许多大学建有其远程教育 网络,数百万学生通过交互视讯会议系统接受教育。另外,远程培训在各大企 业也越来越受到关注。 远程医疗应用利用视讯业务实现中心医院与基层医院就疑难病症进行 会诊、指导治疗与护理、对基层医务人员的医学培训等等。高质量的视讯业务 使医生、护士在不同地方同时协同工作成为可能。远程医疗对于一些中小医院 有着重要的意义,可以得到大医院的医学专家的咨询和会诊。 项目协同工作应用也是进行远程项目管理的非常好的工具,突出特点 是资源共享。项目组的成员能进行远程协作,使地理上分开的工作组以更高的 速率和灵活性以电子方式组织起来。许多美国大公司与其分公司间通过数字链 路,利用桌面视讯会议,实现整个公司的办公自动化,相关人员可以在屏幕上 共同修改文本、图表。 政府行政会议应用我国幅员辽阔,各级政府会议频繁,视讯会议系统 是一种现代化召开会议的多快好省的方法,它可使上级文件内容即时下达,使 下级与会者面对面地讨论和深刻领会上级精神,使上级指示及时得到贯彻执行。 1.3 任务及分工任务及分工 多人网络视频会议(Multi-user Net Video Meeting)系统采用 C/S 架构,按 照技术相关性划分为网络通信模块,视频模块,音频模块,数据库模块,界面 模块,和其他辅助性功能模块。系统开发完成包括四个阶段:需求分析,系统 多人网络视频会议系统的设计与实现 4 设计,编码及系统测试。需求分析和系统测试由两人共同完成,系统主要由两 人分模块进行开发,其中本文作者重点针对音频模块、数据库模块以及界面模 块进行了详细分析与设计,并构建了模拟系统。 具体工作如下图 1-1 所示: 图图 1-1:工作任务:工作任务 1.4 论文结构论文结构 本文的结构主要包括八大章,第一章是绪论,第二章是现有网络视频通讯 产品分析,第三章是系统总体架构方案,第四章是音频模块设计与实现,第五 章是系统界面设计,第六章是系统数据库设计,第七章是系统功能及展示,最 后一章第八章是总结与展望,第四章到第六章是本文的重点,它们是实现的主 要任务说明与展示,各个章节的大致信息介绍如下: 第一章 绪论。主要包括四个方面的内容:课题背景的说明、应用现状、 本文主要工作任务以及本文的主要内容结构。本章是引导说明性 的一章。 第二章 现有网络视频通讯产品分析。本章主要对 QQ、MSN、Skype 做 了简要的介绍与功能分析并由此引申出开发多人网络视频会议系 统所具有的意义。 第三章 系统总体架构方案。本章对系统大的背景进行了介绍,首先对 第一章 绪论 5 系统架构设计的思想进行了说明,继而对服务器与客户端之间、 客户端与客户端直接的关系进行了解析,在此基础上还对系统架 构设计的优劣进行了分析。因为本文由两作者完成,最后对两人 各自负责的模块及任务进行划分,对本文的主要工作进行了简要 的概括。 第四章 音频模块设计与实现。本章主要介绍了音频模块的具体的功能 逻辑实现,音频功能实现主要包括四个部分:音频数据的获取、 音频数据在网络上的传输、音频数据在音频设备上的播放以及麦 克风和扬声器音量的控制。 第五章 系统界面设计。首先介绍了界面设计的目标,继而对 MFC 皮肤 针对 Dialog 窗体进行美化过程进行了简要的介绍。此系统的界 面设计包括服务器端的界面设计和客户端的界面设计。客户端界 面包括点对点视频界面、多人会议视频界面等,同时本章对每个 系统界面从功能、界面元素和过程实现三个方面进行了详细的说 明。 第六章 系统数据库设计。本章节相对比较简单,此系统对数据依赖性 不是很高。数据库使用 MYSQL,首先对 MYSQL 数据库进行简 要的介绍,然后对数据库表的需求和设计进行了详细的说明,最 后针对这一部分进行总结。 第七章 系统功能及展示。本章是共享的一章,对整个完整系统的功能 进行了阐述,同时以图例的实行对系统的运行界面进行了展示。 第八章 总结与展望。针对此系统的实现状况进行总结,并视频会议系 统这块领域提出展望。 多人网络视频会议系统的设计与实现 6 第二章 现有网络视频通讯产品分析 7 第二章第二章现有网络视频通讯产品分析现有网络视频通讯产品分析 现在流行的很多即时通讯软件成了人们日常生活不可或缺的部分,如 QQ、MSN、Skype 等等,本章主要对这些产品做简要的介绍与功能分析。并 由此引申出开发多人网络视频会议系统的意义。 2.1 现有的网络视频通信产品分析现有的网络视频通信产品分析 现在流行的网络即时通信软件主要有腾讯 QQ、微软 MSN、网易 POPO、新浪 UC、雅虎通、ICQ、Skype。我们选取最流行,应用最广的 QQ、MSN 和 Skype 进行分析与比较。 1.QQ 据腾讯 QQ 官方消息, 2005 年,QQ 在国内已拥有 2.4 亿多的注册用 户,7 000 多万活跃用户,同时在线人数 700 万以上。目前,腾讯 QQ 已成 为国内用户最多的个人即时通讯工具,占据着国内约 74%以上的市场份额。 除了支持在线消息收发,即时传送语音、视频和文件,并且整合移动通讯手 段,可通过客户端发送信息给手机用户。目前 QQ 已开发出穿越防火墙、动 态表情、给好友放录像、捕捉荧屏、共享文件夹、提供聊天场景、聊天时可 显示图片等强大的使用功能。另外,QQ 还增加了 QQ 群、QQ 秀、QQ 宠 物、QQ 游戏等娱乐功能。由于 QQ 良好的开放功能、休闲娱乐服务,使其 拥有了庞大的用户群,在近几年内突飞猛进,牢牢占据着国内即时通讯霸主 地位。 QQ 之所以能够取得成功,原因在于 QQ 和其同时代的在线即时通讯软件 相比,它在界面设计上十分合理,用户操作简单。 QQ 的不断发展给用户提供了越来越多的功能,在即时通讯方面提供了点 对点的视频、语音聊天以及多人的语音聊天,但是对多人视频的支持还没有 出现,忽视了市场对多人网络视频的功能需求。 另外 QQ 的安全性能不高,在商用领域,由于员工使用 QQ 交流的不可 控性对工作效率有着极大的“伤害”,故企业对 QQ 的态度多数都极为“恶劣”, 多人网络视频会议系统的设计与实现 8 大多采取了绝对封杀的措施。 2.MSN Messenger MSN 是微软公司开发的即时聊天工具,由于微软产品用户众多,操作简 单,运行稳定,且与 Windows XP 进行了无缝结合, 使得 MSN 的普及速度 非常快,现在已经是世界主流的聊天工具,在国内即时通讯软件中稳占了第 二的位置。MSN Messenger,作为全球四大即时通讯软件之一,也提供了很 多即时通讯的功能,但也仅限于点对点的音频、视频、文字信息通信和多人 的语音即时通讯。 MSN 消息协议由一系列的在客户端和服务器之间传送的命令组成。例如, 你的一个好友下线了,服务器就会发送一条消息:FLN 到你的客户端。你的客户端就会将这个好友标记为下线状态。FLN 就是一个 在服务器和客户端传送的命令,它带有参数 ,这个参 数是客户端的 Email 地址,也是用户名。MSN 消息协议就靠在客户端和服务 器之间传送这样一些带参数的命令来交流信息。 MSN 消息协议建立在 TCP/IP 上,除了显示图片,自定义表情,文件传 输与语音视频聊天是 p2p 外,其它都通过服务器来进行。 MSN 采用 DSN(MSN Messenger 服务器分为三类:DispatchServer(DS)、 Notification Server(NS)、Switchboard Server(SB))服务器架构,实现了很好的 负载均衡。 MSN 支持手写功能,但与其他即时通讯软件最大的不同是不支持离线消 息。同 QQ 一样,暂时还没有开发出支持多人视频的产品。没有提出网络会 议的概念,并且针对这一概念进行功能上的完善。 3.Skype Skype 是第一个利用 P2P 技术进行语音通信的 VoIP 工具,能够提供较好 的通话质量。Skype 能够透过防火墙进行无缝通信,安装使用也很 简单。 Skype 的网络结构包含的节点有两种:客户端(ordinary node)和超级节点 (super node,SN) 。客户端必须链接到超级节点,并且在 Skype 的中央服务 器登录。超级节点负责为其它客户端提供登录跳板及广播服务,有效地降低 了服务器的负载。作为第一个明确提出“会议”这一概念的网络即时通讯软件, 第二章 现有网络视频通讯产品分析 9 受到了广大用户的欢迎。Skype 是网络即时语音沟通工具。具备 IM 所需的其 他功能,比如视频聊天、多人语音会议、多人聊天、传送文件、文字聊天等 功能。但是它主要通过提供免费全球性电话,使用户利用下一代同等网络软 件进行无限制的高质量语音通话。主要致力发展的方向是电话会议、语音通 讯,对视频通讯的关注度不够,而且 Skype 将好友列表保存在本地,限制了 它的移动性。 综上所述,各现有流行即时网络通信软件比较分析如表 2-1 所示: 表表2-1:现有主要流行即时网络通信软件比较分析总结:现有主要流行即时网络通信软件比较分析总结 IM主要优点存在缺点 QQ (1) 界面简洁、美观,操作简单; (2) 功能完备,功能种类繁多; (3) 摄像头好用,只要一方有就 可以视频; (4) 与移动通信进行了整合。 (1) 没有提供多人视频的功 能; (2) 没有提出“会议”的概念; (3) 安全性能不高; (4) 广告很多; (5) 无法在其他语言系统上 使用 MSN (1) DNS 三类服务器均衡负载; (2) 操作简单,运行稳定; (3) 与 windows 无缝结合; (4) 聊天好友比较简单,只有知 道 Email 的才能加为好友。 (1) 没有提供多人视频的功 能; (2) 没有提出“会议”的概念; (3) 视频、语音质量差。功 能不多; (4) 界面比较古板。 Skype (1) 电话会议、语音通讯质量先 进,实现 PC 与电话的语音通 讯; (2) 超级节点的设置使得网络架 (1) 没有提供多人视频的功 能; (2) 好友列表放在客户端本 地,不能随账号移动; 多人网络视频会议系统的设计与实现 10 构最优化; (3) 透过防火墙进行无缝通信; (4) 安装简单,使用方便。 (3) 主要致力于电话会议, 对视频会议的关注度不 高。 综上所述,现有的大多数即时通讯软件都没有开发多人网络视频会议的 功能,并且对“会议”这一概念也比较模糊。本项目致力于解决多人视频会议 与即时通讯软件的整合。 2.2 多人网络视频会议系统的意义多人网络视频会议系统的意义 2.2.1用户的需求用户的需求 从上一节的分析比较我们知道现有的网络视频会议系统已经存在,但是并 没有与现有的即时通讯软件很好的结合,得不到广泛的普及;而现有的即时通 讯软件提供了点对点的视频,多人的文字和语音聊天,但是对于多人的视频都 未有涉及。 所以人们对于一种与现有的即时通讯软件相类似并尽量保留和集成各即时 通讯软件优点但是又具有多人视频语音功能的网络视频会议系统的需求愈发强 烈。 2.2.2多人网络视频会议系统的目的多人网络视频会议系统的目的 多人网络视频会议系统即是应对这一日益强烈的需求而出现的,它在基于 现有的即时通讯软件功能的基础上添加了多人视频语音会议的功能;并且从上 一节我们总结出,应该开发一种像 QQ 一样有着简洁的界面、简单的操作同时 又避免像 Skype 一样将好友信息保存在本地的一种即时通信软件。这就是本项 目开发的意义所在。 相信多人网络视频会议系统的出现将会使得网络视频会议的使用更加普及, 给日常生活带来全新的会议模式。 2.3 本章小结本章小结 本章分析了时下流行的即时通讯软件,并对这些软件的优点与功能方面的 不足做了简要总结,并由此引申出多人网络视频会议系统开发的意义。 第三章 多人网络视频会议系统的总体设计 11 第三章第三章多人网络视频会议系统的总体设计多人网络视频会议系统的总体设计 视频会议系统是指两个或两个以上不同地方的个人或群体通过传输线路 及多媒体设备, 将声音、影像及文件资料互传, 达到即时的互动沟通,从 而完成会议目的的系统设备。视频会议系统是集通信、计算机技术、多媒体 技术于一体的远程异地通信方式, 在召开视频会议时,处于两地或多个不同 地点的与会代表,既可以听到对方的声音,又能看到对方的形象,同时还能 看到对方会议室的场景,以及会议中展示的实物、图片、表格、文件等,与 真实的会议无多少差异,使每个与会者有身临其境的感觉。以下对本系统的 设计进行简要说明。 3.1多人网络视频会议系统设计思想多人网络视频会议系统设计思想 在设计多人网络视频会议系统的时候,要充分考虑底层的端口通信、命 令接受与发送、视音频的处理等相关的一系列环节。整体设计框架如图 2-1 所示: 图图 3-1 :多人网络视频会议系统整体框架图:多人网络视频会议系统整体框架图 多人网络视频会议系统的设计与实现 12 服务器作为数据交互的中心节点负责,客户端之间的数据交互,管理与 客 第三章 多人网络视频会议系统的总体设计 13 户端的通信连接。 客户端从交流方式划分成实时音、视频系统和数据交互系统两大部分。 音视频系统主要完成多个用户在网络上的实时“会谈”交流; 数据交互系统包 括: 文字交谈、文件传输和应用程序共享等模块,用来完成决策成员们之间 进一步的交流和协作。借鉴以前的成功案例, 在设计过程中笔者采用以下的 思想和方法: 1.采用 VFW(Video for windows) 编程,应用先进的软解、压缩技术, 使音视频的采集、压缩、回放同硬件环境相脱离,使平台具有良好的 可移植性和通用性。 2.数据通信应用 TCP 协议, 音/视频通信采用 UDP 协议和组播技术, 保证了数据传输的可靠性和音频通信的实时性,实现数据、音频、视 频的实时多点通信,减少了网络流量, 提高了系统的整体性能。 3.使用不同 Socket 套端口, 分别为音视频等模块设置一个传输套接字, 这样在接收远端计算机传来的数据时, 无须进行数据格式的判断, 从而提高系统回放数据的速度。 3.2关系结构解析关系结构解析 系统采用 C/S 架构,每个客户端都直接与数据库建立连接,直接进行用 户身份验证,失败返回,成功后与服务器建立通信连接,连接方式为 TCP 连 接;客户端之间通过服务器进行信息的交换,当进行点对点视频、语音通信, 或者进入会议室模式时,客户端之间建立分别建立视频、语音的 UDP 通信连 接;综合来说,UDP 的连接,负责传输视频、语音的数据帧,其他的通信信 息由与服务器连接的 TCP 连接负责。 核心功能流程为,客户端的视频、语音模块分别捕获视频、语音数据, 交由编解码模块进行压缩,压缩后的数据帧交给通信模块进行传输,接收端 通信模块接收到数据后由编解码模块进行解码再给音、视频模块播放出来。 多人视频会议的时候,客户端分别管理一份多人的用户名、地址信息,通信 模块按照多人的地址信息组播到目标机器,目标机器客户端的通信模块根据 数据源地址对应客户端管理的用户名地址列表将数据分别进行处理显示在客 户端的不同位置。 多人网络视频会议系统的设计与实现 14 系统在会议模式下的通信连接关系图如下: 图图 3-2: 会议模式时的通信连接关系图(会议模式时的通信连接关系图(V:视频端口;:视频端口;A:音频端口):音频端口) 3.3模块划分与任务模块划分与任务 多人网络视频会议系统的模块划分如下图 3-3 所示: 图图 3-3:模块分工:模块分工 第三章 多人网络视频会议系统的总体设计 15 多人网络视频会议(Multi-user Net Video Meeting)系统开发完成包括四个 阶段:需求分析,系统设计,编码及系统测试。需求分析和系统测试由两人共 同完成,系统主要由两人分模块进行开发,按照技术相关性划分为网络通信模 块,视频模块,音频模块,数据库模块,界面模块,和其他辅助性功能模块, 如下图 3-3 所示。其中本文作者重点负责图 3-3 中右侧部分的模块,包括音频 模块、数据库模块以及界面模块。音频模块包括音频数据的获取、传输、播放 以及扬声器音量的控制;数据库模块使用 MySQL 数据库;界面设计包括服务 器界面设计以及客户端界面设计。 3.4架构设计的简要分析架构设计的简要分析 系统按照技术模块划分,对所用到的技术进行模块化的封装,使得系统 的架构清晰明了,易于维护和拓展,使得系统的很多代码具有很高的复用性。 现有的系统服务器与数据库部署在同一机器上,加重了服务器机器的负 载,未来的发展可将数据库与服务器部署在不同的机器上,并且用户数量比 较多的时候,可以建立服务器集群,实现服务器的负载均衡化。 3.5本章小结本章小结 本章主要介绍了系统的总体结构与模块划分,并对服务器与客户端的核 心功能、界面、技术做了简要介绍;对模块划分的原则与模块的具体划分以 及本论文设计的模块的技术做了简要阐述;最后对结构设计的优劣进行了分 析。 多人网络视频会议系统的设计与实现 16 第四章第四章多人网络视频会议系统的音频模块设计多人网络视频会议系统的音频模块设计 上一章主要对系统的总体架构方案进行了说明,本章主要对音频模块的设 计和实现进行了详细的说明,音频模块的设计包括四个部分的内容:音频的获 取、传输、播放以及音量控制。 4.1 代码结构代码结构 多人音频模块功能主要包括四个部分:音频数据的客户端获取、音频数据 的网络传输、音频数据在远程客户端的播放以及麦克风及扬声器的音量控制。 主要功能实现接口封装在三个源文件 Mixer.cpp、PlaySound.cpp、RecordSound.cpp 中,其中 RecordSound.cpp 中封装 的是音频数据获取的接口,PlaySound.cpp 中封装的是音频数据播放的接口, Mixer.cpp 中封装的是控制麦克风及扬声器音量的一系列接口。 下图 4-1 标识出了在工程中这三个源文件。 图图 4-1:音频模块的源文件:音频模块的源文件 第四章 多人网络视频会议系统的音频模块设计 17 4.2 音频数据获取音频数据获取 获取音频数据的系列接口封装于 RecordSound 类中,下图 4-2 所示为 RecordSound 类的类视图,包括所以函数和变量。 图图 4-2:RecordSound 的类视图的类视图 下表 4-1 对类 RecordSound 中的主要函数进行简要的介绍: 表表 4-1:RecordSound 中的主要函数说明中的主要函数说明 函数名函数说明 OnStartRecording 消息映射函数,当系统接收到要开启录音设备消息的时候, 触发这个函数,系统开启录音设备并对其进行初始化 OnStopRecording消息映射函数,暂停录音 多人网络视频会议系统的设计与实现 18 OnEndThread消息映射函数,结束录音线程 OnSoundData 消息映射函数,从缓冲区获取音频数据,并将其发送给其 他客户端 CreateWaveHeader初始化录音结构体类型 GetDevProperty取得录音设备属性值 displayError提示录音出错信息 下表 4-2 对类 RecordSound 中的主要变量进行简要的介绍: 表表 4-2:RecordSound 中的主要变量说明中的主要变量说明 变量名变量类型变量说明 dlgCDialog主窗体对象变量 m_hRecordHWAVEIN录音的基础数据类型 m_WaveFormatExWAVEFORMATEX包含音频各参数的结构体变量 recordingbool 是否正在录音,1 表示正在录音,0 表示还没有录音 isallocatedint 是否在内存中分配了用于存储获取的 音频数据的缓冲区,1 表示已经分配, 0 表示还没有进行缓冲区分配 posint P2P 与多人音频开启的标志位,当 pos 值为 15 时表示当前是多人音频, 当值为 16 时,表示当前是 P2P 音频 recheadLPWAVEHDR 录音数据块头结构体变量,包含获取 的音频数据块,将数据存放于缓冲区 其中最重要的一个函数是 OnSoundData 函数,它是获取音频数据的回调函 数,它通过系统消息 MW_WIN_DATA 触发,代码段见图 4-3 所示,在此之前 的一个重要的操作室要对录音缓冲区块进行初始化,当录音程序中缓冲区满时 就会触发 MW_WIN_DATA 消息,从而程序会执行 OnSoundData 函数,结构体 第四章 多人网络视频会议系统的音频模块设计 19 参数封装有音频数据,可以对数据直接进行有效地操作。 图图 4-3:MW_WIN_DATA 消息映射消息映射 4.3 音频数据传输音频数据传输 音频数据的网络传输采用 UDP 协议,UDP 协议是面向无连接的,且是不 可靠传输协议,但它的传输效率很高。数据通过一个 socket 通信链的句柄进行 固定端口的传输。 音频数据的发送如下图 4-4 代码块所示。 图图 4-4:音频数据的发送:音频数据的发送 多人网络视频会议系统的设计与实现 20 音频数据的接收如下图 4-5 代码块所示。 图图 4-5:音频数据的接收:音频数据的接收 4.4 音频数据播放音频数据播放 获取音频数据的系列接口封装于 PlaySound 类中,下图 4-6 所示为 PlaySound.类的类视图,包括所以函数和变量。 图图 4-6:PlaySound 的类视图的类视图 第四章 多人网络视频会议系统的音频模块设计 21 下表 4-3 对类 PlaySound 中的主要函数进行简要的介绍: 表表 4-3:PlaySound 中的主要函数说明中的主要函数说明 函数名函数说明 OnStartPlaying 消息映射函数,当系统接收到要开启音频设备开始播音 消息的时候,触发这个函数,系统开启音频设备并对其 进行初始化,同时对其设置音量大小等操作 OnStopPlaying 消息映射函数,当系统接收到要停止音频设备播音消息 的时候,触发这个函数,音频设备停止对音频数据处理 OnEndPlaySoundData消息映射函数,结束对声音数据的播放 OnWriteSoundData消息映射函数,开始对声音数据惊醒播放 OnEndThread消息映射函数,结束音频处理线程 displayError提示音频处理出错信息 GetDevProperty取得音频设备的各项属性值 下表 4-4 对类 PlaySound 中的主要变量进行简要的介绍: 表表 4-4:RecordSound 中的主要变量说明中的主要变量说明 变量名变量类型变量说明 m_WaveFormatExWAVEFORMATEX包含音频各参数的结构体变量 Playingbool 判断设备是否已经开启,如果声音已 开启,值为 true,否则值为 false m_hPlayHWAVEOUT声音输出的基础数据类型 dlgCDialog主窗体对象变量 posint P2P 与多人音频开启的标志位,当 pos 值为 15 时表示当前是多人音频, 当值为 16 时,表示当前是 P2P 音频 多人网络视频会议系统的设计与实现 22 音频数据在音频设备上的播放由 waveOutWrite 函数完成,播放的代码块如 下图 4-7 所示。 图图 4-7:音频播放代码块:音频播放代码块 4.5 麦克风及扬声器的音量控制麦克风及扬声器的音量控制 获取音频数据的系列接口封装于 Mixer 类中,下图 4-8 所示为 Mixer 类的 类视图,包括所以函数和变量。 图图 4-8:Mixer 的类视图的类视图 下表 4-5 对类 Mixer 中的主要函数进行简要的介绍: 表表 4-5:Mixer 中的主要函数说明中的主要函数说明 函数名函数说明 CMixerMixer 类带参数的构造函数,主要功能对扬声器音量控制 第四章 多人网络视频会议系统的音频模块设计 23 进行初始化操作,主要是对设备的参数设置 GetVolume取得当前扬声器音量大小值 SetVolume给扬声器设置指定的音量大小 下表 4-6 对类 Mixer 中的主要变量进行简要的介绍: 表表 4-6:Mixer 中的主要变量说明中的主要变量说明 变量名变量类型变量说明 m_bOKbool 判断扬声器初始化操作是否成功,true 为 成功,false 为不成功,初始化为 false m_dwChannelsDWORD当前使用的声道标号 m_dwControlIDDWORD扬声器设备的控制 ID 号 4.6 本章小结本章小结 本章的主要目的是介绍音频模块的实现过程,开始对音频部分代码的整体 结构进行了介绍,继而详细介绍了音频模块具体的功能逻辑实现,音频功能实 现主要包括四个部分:音频数据的获取、音频数据在网络上的传输、音频数据 在音频设备上的播放以及麦克风和扬声器音量的控制。 由于开发时间和系统架构的原因,此系统的音频数据的传输采用的 UDP 网 络协议,UDP 是面向非连接的,且传输过程是不可靠,一般只针对小量数据传 输。如果可能可以再加以改进,使用 TCP 协议进行传输。 多人网络视频会议系统的设计与实现 24 第五章第五章多人网络视频会议系统的数据库设计多人网络视频会议系统的数据库设计 上一章主要介绍了多人网络视频会议系统音频模块的设计,这一章主要对 系统数据库设计进行详细的说明。首先对数据库设计的目标进行了阐述,继而 对 MYSQL 数据库的特点进行了说明,最后介绍了数据表的具体需求和设计。 5.1 数据库设计目标数据库设计目标 多人网络视频会议系统数据库设计的主要目标是: 1提高数据库的性能,尤其要满足应用系统的性能要求。系统采用 MySQL 数据库,满足多人网络视频会议系统的性能要求。 2提高存储空间的利用率,减少冗余数据。多人网络视频会议系统数据内 容相对比较少,冗余数据少。 5.2 MySQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论