首页 > 代码库 > 远程视频会议的开发模式

远程视频会议的开发模式

自从发明了电话,人们就开始了远程视频会议。到了上世纪九十年代,电视会议成为可能:与会者不仅能听到其他人,也能看到对方。最初的电视会议的设备一般使用两根ISDN专线(128Kbps x 2),电视机,及专用的摄像头。

上世纪九十年代末开始的互联网革命无疑对传统的电视会议带来了巨大冲击。首先是网速的提升,ADSLCable Modem的普及使ISDN的速度过了时;其次是宽带的普及,公司、家、旅馆、机场,宽带无处不在,现在硬件电视会议系统也不再用自身的专线,而是用现有的网络;再次是电脑越来越快,越来越便宜,普通的台式机或笔记本配上摄像头及麦克风就能支持音视频,而不再需要昂贵的专用设备。

于是本世纪初,软件会议产品开始崛起。所谓软件是指不用特制芯片(ASIC)而是用通用CPU。软件会议产品除了硬件会议产品的功能(音视频)以外,还支持文档共享(如PPT)、桌面共享、聊天等功能。软件会议可以在任何时候、任何地点召开,只需要电脑和网络,有很好的能动性。软件会议的费用只是硬件会议费用的五分之一到十分之一。

最初的软件会议产品一般采用C/S模式:厂家开发一个在客户端运行的程序(C)和一个在服务器端运行的程序(S),CS用某种自定义的协议传输数据。此类产品有很大的代表性:WebExV2、视高等产品都是C/S模式。客户端的程序(C)可能会用多种形式来安装:传统的安装程序(exe)Active X插件(或Firefox插件)、Java插件等,但最终客户端上运行的是一个可执行程序。

2006年以来,一种新的软件模式悄然兴起,那就是B/S模式,国外称为AJAXWeb 2.0。与传统软件不同的是:B/S软件在网页浏览器里运行,它只是一个网页,没有可执行程序,它甚至不需知道系统的CPU和操作系统事什么;但是它有与传统软件一样的可操作性:菜单,按纽,拖动等等。

B/S模式开发会议产品有一定的难度:现有B/S软件的实时同步区间都在1分钟以上,如各种B/S电子邮箱,而会议的实时同步区间须在几秒钟以内;会议中的文档需要转换成网页形式而不能依赖于客户端的程序打开文档;会议中的数据流量(如文档共享,桌面共享,语音,视频等)比现有B/S软件大很多。于是有的厂家用Flash来开发整个会议产品,如腾商等。Flash软件有与B/S软件类似的地方:软件在Flash缓存中,没有可执行程序,跨平台(只要平台支持Flash)。但Flash件毕竟依赖于Flash,而Flash本身是插件,有插件共同的缺点:需安装,需更新,有版本不匹配问题。因此Flash软件应该说介于B/SC/S间,不是纯粹的B/S软件。

下面从技术层面阐述AnyChat解决方案的技术特点并和Adobe公司的Flash解决方案进行对比:

1.支持P2P技术

AnyChat支持P2P技术,在视频通话时语音视频流优先P2P传输,即当两个客户端之间的P2P通道可用时,语音视频流直接通过P2P通道传输,不经过中心服务器,不占用中心服务器的带宽资源。当P2P不通时才经过服务器转发,保障音视频应用的正常通信。

Flash不支持P2P技术,所有语音视频流数据均需要通过服务器转发,需要占用大量的中心服务器带宽资源。

2.低带宽占用

AnyChat单路(语音+视频)最低带宽为150kbps,而Flash单路最低带宽为300kbps,所以在同等条件于,AnyChat更节省带宽资源,对客户端或是中心端的网络要求更低,适应性更广。

3.支持高并发

使用AnyChat解决方案,单台普通的双核服务器(100M独享带宽)可支撑高达5000用户的并发,系统的资源占用仍处于较低的水平。主要是因为AnyChat支持P2P技术,同时内核采用C++语言开发,并有针对性的采用线程池、内存池等技术对系统资源的占用进行优化。

AnyChat解决方案在视频游戏、视频聊天室等领域有较多的应用,对高并发数据的处理有独到的处理方案。同时可提供详细的压力测试报告,以及压力测试现场视频录像等相关资料。

根据实际使用的数据统计, Flash解决方案单台服务器最高支持400并发,且满负荷运行时系统资源占用较高,而且同等条件下Flash解决方案实现5000并发需要1.6G的网络带宽,而AnyChat仅需要100M

4.可扩展性

AnyChat在体系架构上采用模块化设计,将音视频与业务逻辑分离,在后台开放API接口适合进行二次开发,可以进行业务逻辑的扩展,设计个性化的业务模块。

随着业务的开展,当现有的API接口不能满足今后的应用需求时,AnyChat可以进行API接口定制来满足更复杂的业务场景。

FlashAdobe公司封装的独立产品,后台的业务扩展性较弱,且不能针对证券行业的特定需求进行API接口定制。

5.高安全性

AnyChat是佰锐科技拥有完全自主知识产权的产品,在目前国家重点关注网络信息安全的大环境下,AnyChat解决方案更适合证券行业应用,Flash的安全漏洞更容易被恶意利用。

而且更重要的一点,AnyChat开放了音视频数据进行加密、解密的API接口,在有必要时,上层应用可以单独对音视频数据进行加解密,而且加解密算法由上层应用自主控制,这是Flash不能实现的特性。

综合来说,相比于Adobe公司的Flash解决方案,AnyChat更适合于证券行业的视频见证、远程开户等应用场景,特别是在高并发情况下,可以显著的降低系统的网络带宽占用,节约运营成本,后续的业务扩展更有保障,而且安全性更高。

 

远程视频会议的开发模式