基于H.323协议的视频会议系统

2014-07-27 06:22赵晓焱张会芝
创新科技 2014年8期
关键词:视频会议分组终端

赵晓焱 张会芝

(河南师范大学计算机与信息技术学院,河南 新乡 453007)

基于H.323协议的视频会议系统

赵晓焱 张会芝

(河南师范大学计算机与信息技术学院,河南 新乡 453007)

视频会议系统是一种基于分组交换网络的多媒体通讯系统,针对多媒体网络通讯的特点,分析了基于H.323协议的开源项目OpenH 323,提出了一种面向对象的系统架构,对系统中的对象做了详细的介绍,并给出了终端和多点控制单元(MCU)的详细实现过程。

视频会议;分组交换;多点控制单元

1 引言

随着计算机通信技术的发展以及互联网带宽的不断增大,分组交换网络的可视电话和视频会议系统已广泛应用于各个领域[1]。为了使得各个不同的可视电话厂商生产的产品互通,国际电信联盟(ITU)制定了在分组交换网络上运行的视频会议通讯标准H.323[2]。H.323包括了H.245、H.225等一系列协议,主要描述了基于分组的多媒体通信系统的概念、结构以及呼叫流程[3]。标准的制定更加促进了视频会议的发展与普及,因而视频会议相关技术已经成为业界和学术界的一个研究热点。

2 OpenH323

OpenH323项目是澳大利亚的Equivalence Pty Ltd公司组织开发的H323协议框架,实现了一套复杂的H.323通讯系统,主要是免费提供给所有想从事VOIP和网络视频传输的软件开发商使用。OpenH323协议库完全符合H.323协议的,能和任何符合该协议的软件进行视频和语音通讯。当两个终端进行通信时,一端向另一端的H.323端口1 720建立一条连接。然后,两终端在此连接上发送Q.931包,在这些交换的数据包中,两终端发送动态的端口用于建立H.245连接。H.245处理所有的呼叫参数协商,例如所要用的编码解码算法等。一旦这些参数协商完毕,H.245会话开始执行Open Logical Channel过程,为特定的媒体流(如音频或视频)建立逻辑通道。然后,这些媒体流就可以在两个终端之间进行传输,直到会话结束。

OpenH323项目为了兼容不同的操作系统,编写了能兼容LINUX和WINDOWS系统的类库PWLIB,PTLIB,使得在这些类库上层的OpenH323库能够跨平台使用。OpenH323的优势在于它比较完整的实现了ITU关于H.323的建议,可以实现基于IP的各种电话应用,包括语音、视频、会议以及传真等。通过该协议可以定制出自己需要的各种H.323实体,对商业用户和个人开发者来说都具有很大的吸引力,本文提出的视频会议系统就是基于OpenH323项目进行开发。

3 视频会议系统结构

H.323会议系统中传输的信息流中包含音频、视频、数据和控制信息[4]。所有的信息流均采用H.225协议来进行打包和传送。为了实现在会议系统中传输上述信息流,H.323协议定义的多媒体会议系统主要由终端、网闸(Gatekeeper)、网关(Gateway)、多点控制器(MC)、多点处理器(MP)和多点控制单元(MCU)等组成,如图1所示。

图 1 H.323视频会议系统组成

H.323终端是能够在分组交换网络中提供实时、双向通信的节点设备。网守是H.323系统的一个可选组件,其功能是向H.323终端提供呼叫控制服务。多点控制单元可以用于支持三个以上终端设备的会议。在H.323系统中,一个多点控制单元由一个多点控制器(MC)和几个多点处理器(MP)组成,但也可以不包含MP。网关是H.323会议系统的一个可选件,网关能提供很多服务,其中包含H.323会议节点设备与其他ITU标准相兼容的终端之间的转换功能,这种功能包括数据传输格式(如H.225.0到H.221)和通信规程的转换(如H.245到H.242)。

4 H.323视频会议系统实现

基于OpenH323视频会议系统的实现主要包含终端的实现和MCU的实现。应用程序一般要建立一个H323EndPoint类的派生类实例。通过H323Endpoint类可以直接或者间接地对整个OpenH323协议的各种主要的类进行调用和处理派生类,H323 Endpoint类封装了很多的方法。当响应应用程序实现H323Endpoint的类的派生时,通常会定义在H323协议栈中没有定义的属性和方法,这些属性和方法用于设定终端的一些初始化的,或者基本的属性。例如振铃时播放的音乐文件的名称,缺省的呼叫设置,终端的能力集等。

而在每个H323EndPoint类中,一般会创建一个或者多个H323Listener类的派生类的实例,每一个实例对应于后台处理的守听线程。当检测到新的呼入时,就会创建一个H323Transport类的实例,负责信息的网络传输。

4.1 终端实现

OpenH323网站有两个终端的源代码:OpenPhone和OhPhone,OhPhone是一个命令行的终端程序,负责传输音频。OpenPhone是一个基于PWLib库的窗口程序,可以传输视频,但支持的视频标准只有未能实现完整的H.261标准。由于终端直接面对用户,所以在一定程度上界面设计要美观,而基于PWLib图像库的界面元素太少,而且界面对象使用起来也不方便,因此本文视频会议终端使用PWLIB中与GUI无关的类库,如I/O功能API、多线程API、时间函数API等,而对于与GUI有关的部分,采用MFC类库进行开发,保证了用户终端的亲和性和美观性。

OpenPhone本地视频采集和视频图像的显示效果不理想。视频采集时效率很低下,视频采集图像帧率的最大值为10帧左右。即使视频解码器可以计算更高帧率的视频图像,但由于视频采集的瓶颈,还是会使得图像的帧率变低,停顿比较明显,降低了图像的显示效果,浪费了视频会议终端的计算能力。为了解决这个问题,新的终端采用了DIRECTSHOW中的视频采集技术,使得视频图像的采集帧率可以达到20帧。对于图像的显示,原来的OpenPhone的显示效率也很低下,所以显示模块改为DIRECTDRAW的显示方式。

图2描述了视频会议终端的实现,其中视频采集模块由类PVideoInputDevice来实现。由于该实现类的采集效果不理想,本文使用其派生类CVideoInputDevice来实现DIRECTSHOW的视频采集技术,利用C++语言的多态性,将原来代码创建PVideoInputDevice对象改变为创建其派生类CVideoInputDevice的对象,可以继续用基类PVideoInputDevice的指针来指向派生类CVideoInputDevice的对象,使得在程序大框架不改动的情况下,迅速地加入增强功能。同样,也可以用PVideoOutputDevice的一个新的派生类CVideoOutputDevice来实现性能更好的视频显示功能。

图 2 视频会议终端的实现框图

4.2 MCU实现

图3为MCU的实现框图,通过与终端的实现框图比较可以看到,终端的实现和MCU的实现大致一样,这样就有利于终端和MCU能共享一个底层的H.323库,尽量减少重复开发的工作量。图3中的InComingVideo类继承于类PVideoChannel,Outgo⁃ingChannel类继承于PVideoChannel,现在只需要建立一个视频数据的混合区,并在视频图像混合完成后进行字符叠加,使得InComingVideo类中的视频数据写入到视频混合区,Outgo⁃ingChannel类从视频混合区中读取经过字符叠加后的视频图像,而整个程序的大框架无需改动,便可以用类似于视频会议终端一样的实现方法,实现MCU的功能以及音频混音的功能。

当前视频会议的规模不断扩大,使得MCU要容纳的接入终端数不断增多,接入终端显示一般采用多画面的形式。本文实现的视频会议系统从原来只支持4画面扩展为可以支持4画面,8画面,9画面,16画面,并实现单画面轮转等功能。同时,由于视频会议系统中的MCU和各个终端可能处于不同的地理位置,MCU的位置只可能有一个,如何实现远程控制并配置MCU是一个急需解决的问题。针对这个问题,本文增加了一个基于浏览器的Web服务程序的MCU服务器远程配置管理系统。它可以使远程用户在授权的情况下,远程进行MCU的配置管理工作。

图3 视频会议MCU的实现框图

5 总结

视频会议系统中视频会议系统是一种基于分组交换网络的多媒体通讯系统,所有的呼叫信令,控制信令,多媒体数据最终都是打成IP包的形式进行传输。本文分析了这种多媒体网络通讯的特点,提出了一种基于开源的OpenH323项目的视频会议系统。本文提出的H.323视频会议系统已成功应用于实际网络数据处理中, 实践证明该技术是一项可行的音视频流捕获技术。

[1]谢莹凌,培刚.H.323视频会议媒体流捕获技术[J].电信技术研究,2012,42(4):12-16.

[2]ITU-T Recommendation.H.323 Packed-based multimedia communications systems[S].2003,07.

[3]李洁,吴正茂.移动终端实现视频会议的解决方案研究[J].电视技术,2012,36(19):193-195.

[4]孙少鹏,赵旨忠.基于Asterisk的SIP/H.323视频网关研究[J].信息系统与网络,2013,43(6):6-9.

TN949.6

B

1671-0037(2014)04-80-2

国家自然科学基金(U1204609);河南省科学技术重点研究项目(14A510011)。

赵晓焱(1981-),女,讲师,硕士,研究方向:多媒体网络通信。

猜你喜欢
视频会议分组终端
2022年黄河防汛抗旱工作视频会议召开
省农办主任暨三农重点工作推进视频会议
超清视频会议系统的行业现状和发展趋势分析
复杂线束在双BCI耦合下的终端响应机理
X美术馆首届三年展:“终端〉_How Do We Begin?”
分组搭配
基于声波检测的地下防盗终端
怎么分组
分组
全国国际税收工作视频会议在京召开