网络视频会议,是指两个或两个以上不同地方的个人或群体,通过网络传输设备,用网络将声音、影像及文件资料互传、共享,实现远程即时且互动的沟通,以实现远程会议为目的的系统设备。网络视频会议技术的出现和发展,逐渐改变了人类的社会活动方式。它可以实现点对点通信,它在同一传输线路上承载了多种媒体信息即视频、音频和数据等,实现多点实时交互通信,同时也可以将不同地点与会人员的活动情况、会议内容等展现在各个分会场,这是一种快速高效、日益增长、广泛应用的新的通信业务。由于高带宽的数据连接日益普遍、高压缩高保真的视音频压缩机制和越来越多的视频会议软件的开发,视频会议将逐渐成为我们生活中的一项日常应用。实时通信(RTC)API(Application Programming Interface)的视频会议系统,是利用视频技术和RTC数据通信技术通过IP网络在两点之间建立可视通信,实现图像、语音及数据交流的一种会议形式。
[关键词] 视频会议系统;RTC;实时通信;API
3.1 视频音频请求(使用微软实时通信(RTC)API来创建音频与视频会议)
此功能是系统中最重要的一个,它作为整个系统的核心技术的体现。它实现了会议双方不在同一会场,却能对话的想法。利用MPEG4视频压缩技术,提供了流畅的视频传输功能。可是实时的将发言者现场的场景进行视频捕捉、压缩、流式传送给与会者的计算机终端。用户还可以根据带宽条件的不同选择多种分辨率效果以避免丢帧。
3.2 程序请求(共享应用程序)
现如今,安装多操作系统的人是越来越多了,多操作系统有多操作系统的好处,但弊端也很明显,在会议甲操作系统中安装的所有应用程序,到了会议乙操作系统中几乎全都消失得无影无踪了。要使用这些应用程序不得不在每一个操作系统中都重新安装一遍。这样问题是解决了,但要消耗大量的硬盘空间,着实地心疼。这个功能的设计就是为了解决这个问题。会议过程中协同讨论可共享多种程序: PowerPoint 、 Word 、 Excel 、 PDF 、 Visio 、 AutoCAD 、 TXT 、 FLASH 及各种影音文件,其它用户无须安装相应的应用软件即可阅读,实现远程协同办公,实时交流。
3.3 共享白板
白板,是一种替代传统的黑板、粉笔的新型数字化工具 , 提供类似于传统黑板的板面,发言者可以在上面随意书写、画图、擦除,所有内容都可同步显示在所有与会者屏幕上,发言者可交互式操作。可精确的复印写在或画在屏幕上的任何信息,可使与会者集中精力参加会议,并保持完整、清晰的纪录。白板功能支持使用鼠标直接在白板上进行书写输入,其他所有会议成员可以在白板上同步接收并进行编辑修改。对于会议、会谈、讲座和独到见解的发表的纪录,白板可帮助并提高相互交流的效果,保持会议简短,节约宝贵的时间。效果极佳,就如同于本地演示!
3.4 消息(实现简单点对点聊天对话)
这里的聊天,可以通过两个方式,一种是会议成员能够利用聊天室互相进行实时交流,也就是一般所说的“同步的以计算机为媒体的交流”(CMC)的场所。可采用键盘输入文字的方式,在聊天室里进行会议精神、内容的学习,可以发布会议文件等。另一种则是视频、语音输入,直接进行面对面的交流,让系统的使用者感觉这种网络视频会议与以前的传统会议没有区别,让他们深切的感受到视频会议给他们带来的方便和惊喜。在文字讨论区,在进行视频会议的同时,可进一步用文字交流表达思想。会议成员可以与全体人员或某个人进行文字交谈。
3.5 视频音频调节(以及整合音频与视频调节向导的接口)
在进行视音频通信之前,首选的通信类型和相关设备(摄像机、麦克风等),在根据会议参与者的平台,选择了首选的通信类型和相关设备之后,调整通信设备。在调整好相关设备后,方可进入视频会议阶段。
目 录
1 背景与意义: 1
1.1 设计背景 1
1.2 设计意义 3
1.3 未来发展 4
2 系统分析 4
2.2 技术分析 5
2.2.1 目前视频会议系统的特色 5
2.3 相关技术 6
2.3.1 Window API技术 6
2.3.2 RTC客户端应用程序接口 7
2.3.3 MFC介绍 9
2.4 系统运行环境 9
2.4.1 硬件环境 9
2.4.2 软件开发环境 9
3 系统设计 10
3.1 视频音频请求(使用微软实时通信(RTC)API来创建音频与视频会议) 10
3.2 程序请求(共享应用程序) 10
3.3 共享白板 10
3.4 消息(实现简单点对点聊天对话) 11
3.5 视频音频调节(以及整合音频与视频调节向导的接口) 11
4 编码与实现 11
4.1 视频通信的实现 11
4.1.1 建立实时客户端通信接口 11
4.1.2 通信类型选择 12
4.1.3 调整通信设备 12
4.2 应用程序的初始化操作 12
4.3 实时通讯事件处理 13
4.3.1 处理RTC事件 13
4.3.2 创建通信会话 13
4.4 各个功能模块的实现 14
4.4.1 视频音频调节模块的实现 14
4.4.2 视频音频请求的实现 14
4.4.3 消息模块的实现 15
4.4.4 应用程序共享模块的实现 16
4.4.5 白板模块的实现 16
5 系统测试与运行 17
5.1 系统的运行 17
5.2 系统的测试 19
5.2.2 模块的测试 20
5.2.3 系统的测试 20
结束语 22
参考文献 23
附录 24
致谢 31