您的位置:首页 > 其它

一个二千人数的音视频即时通讯的解决方案

2010-10-29 14:25 239 查看
用户想开发一个即时通讯系统,类似msn或者qq、旺旺之类的,但是不需要很多功能,主要是有语音视频和文字聊天功能就行了要求在线人数2000。

广州佰锐网络科技: ---采用AnyChat Platform Core SDK。 AnyChat音视频互动开发平台(SDK)是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合了佰锐科技在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量、宽适应性、分布式、模块化的网络音视频互动平台。

用户咨询Anychat SDK:关于开发语言、开发时间、服务器端、音频、视频的采集、编码、传输、解码的封装效果
视频采集和编码能否分开使用、采集到的视频不编码,能否得到数据、客户端用vc或vb封装activex,服务器端用java、服务器端SDK能兼容java、服务器部署、如何快速开发等。

佰锐科技解决方案

AnyChat Platform Core SDK用 C++语言开发的,提供了VC++、Delphi、VB.Net、C#的开发例程源代码, 服务器端我们也提供了SDK接口的,参考SDK包里面doc\server\目录下的《AnyChat Server SDK 开发指南》传附件)。包含客户端、服务器端的SDK、开发文档、Demo程序源代码等。

投入的开发人员数量与业务需求是密切相关的,如果用佰锐的SDK包,只是想开发到一定demo程序的程度,则只需要一名VC++开发人员就足够了,2年相关开发经验,预计7-15天左右可以完成。

SDK封装了底层的音频、视频的采集、编码、传输、解码、显示等,用户只需要关注应用层业务的实现就行了,开发人员不需要懂音频、视频相关的开发。而且文字消息、文件传输等功能,我们的SDK里面也实现了。

音频、视频的采集、编码、传输、解码、显示全部封装在一起提供了不同的API接口,如上层只希望打开视频,不想打开音频,则不调用音频相关的API接口就行了。SDK可以实现1对1、1对多,或是多对多的语音、视频、文字的交互。视频采集和编码可以分开使用,语音、视频数据,上层应用都可以获取到,由回调函数来通知上层应用的。视频采集后,通过回调来反馈给上层的应用,那上层的应用就可以把视频显示在任何位置了。用户使用SDK来开发,前台的界面是由您那边自己来定义。

服务器为用户开放了一些接口,用户可以写一个DLL来实现这些接口,这样服务器就可以调用用户的DLL了。服务器开放了一个接口:onuser_login(username,password,xx)用户就需要写一个DLL,来实现这个onuser_login的接口,当有客户登录时,用户的服务器就调用DLL的onuser_login方法,至于如何来验证客户,用户可以在dll中连接数据库,也可以在dll中使用soap调用访问webservice,……,只要将验证的结果返回服务器就OK了。

服务器部署非常简单,执行一个批处理,将服务器程序安装为“Service”就行了。

AnyChat SDK提供的API开发,上层应用需要处理回调函数、异步消息通知等流程,为了简化开发流程,可以使用佰锐提供的AnyChat SDK包装类(C++封装):CBRAnyChatSDKProc(位于:SDK\Include\BRAnyChatSDKProc.h),它将SDK的消息、回调封装到了一个类,上层应用只需要继承这个类,重载其中的一些方法,使用该包装类,上层应用不需要处理Windows消息,也不需要定义回调函数。

用户评估

1、熟悉佰锐AnyChat的API调用、技术体系;

2、软件界面部分,主要是客户端SDK部分的开发;

3、业务逻辑部分,主要是服务器SDK部分的开发;


技术评估标准

[align=left]系统承载能力测试[/align]
[align=left]测试方法[/align]
[align=left] 客户端综合测试[/align]
[align=left] 测试方法[/align]
[align=left]A.单服务器最大连接数测试[/align]
[align=left]B.单服务器最大并发链接数测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2使用Anychat SDK,初始化SDK,链接服务器。[/align]
[align=left]3.重复2的过程。[/align]
[align=left]4.新的链接无法链接到服务器时停止测试。[/align]
[align=left]5.测试对此,去平均值。[/align]
[align=left] 不同类型摄像头[/align]
[align=left] 兼容性测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2.使用Anychat SDK,初始化SDK,进入房间,打开视频.。[/align]
[align=left]3换其它类型的摄像头进行测试。[/align]
[align=left]单服务器[/align]
[align=left]最大房间数测试[/align]
[align=left]1.在数据库配置房间数据,启动服务器程序。 [/align]
[align=left]2. 使用Anychat SDK,初始化SDK,链接服务器,进入房间。[/align]
[align=left]3.修改房间编号,重复2的过程。[/align]
[align=left]4.知道能进入所有的房间,或是有房间无法进入时停止测试。[/align]
[align=left]单服务器[/align]
[align=left]语音负载测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2.链接服务器,每两个用户进入同一个房间开启双向语音。[/align]
[align=left]3. 重复2的过程。多个用户并发测试[/align]
[align=left]4.直到语音质量明显下降时停止测试[/align]
[align=left]5.测试多次,取平均值。[/align]
[align=left] 不同类型声卡[/align]
[align=left] 兼容性测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2.使用Anychat SDK,初始化SDK,进入房间,打开语音。[/align]
[align=left]3.换其他类型的声卡进行测试[/align]
[align=left] [/align]
[align=left]单服务器[/align]
[align=left]文字负载测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2.连接服务器,每两个用户进入同个房间,每秒发送100字节文字数据。[/align]
[align=left]3. 重复2的过程。多个用户并发测试[/align]
[align=left]4.直到文字消息失败或是用户链接被服务器断开时停止测试。[/align]
[align=left]5. 测试多次,取平均值。[/align]
[align=left]单服务器视频负载测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2.链接服务器,每两个用户进入同一个房间,开启双向视频。[/align]
[align=left]3. 重复2的过程。多个用户并发测试[/align]
[align=left]4.直到视频质量明显下降或有用户链接被服务器断开时停止测试。[/align]
[align=left]5.测试多次,取平均值。[/align]
[align=left]不同类型操作系 统兼容性测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2.使用Anychat SDK,初始化SDK,进入房间。[/align]
[align=left]3.判断系统的语音、视频、文字功能是否正常。[/align]
[align=left]4.换其他类型的操作系统进行测试。[/align]
[align=left]单服务器[/align]
[align=left]综合负载测试[/align]
[align=left]1.启动服务器程序。[/align]
[align=left]2.链接服务器,每两个用户进入同一个房间,开启视频、语音、文字。[/align]
[align=left]3. 重复2的过程。多个用户并发测试[/align]
[align=left]4.直到视频质量明显下降或有用户链接被服务器断开时停止测试。[/align]
[align=left]5.测试多次,取平均值。[/align]
[align=left][/align]
[align=left]测试结果记录[/align]
[align=left]1.单服务器最大连接数测试[/align]
[align=left]结果:A.单台服务器至少支持5000连接[/align]
[align=left] B.服务器CPU占用率小于5%[/align]
[align=left]2.单服务器最大并发连接数测试[/align]
[align=left]结果:A.单台服务器至少支持100并发连数 [/align]
[align=left] B.服务器CPU占用率小于5%[/align]
[align=left]3单服务器最大房间数测试 [/align]
[align=left]结果: A.单台服务器至少支持10000个房间[/align]
[align=left] B.服务器CPU占用率小于5% [/align]
[align=left]4. 单服务器语音负载测试[/align]
结果:A. 单台服务器至少支持2500对用同时进行语音

B. 服务器CPU占用率小于25%
[align=left]5.单服务器文字负载测试[/align]
结果:A.单台服务器至少支持2500对用户同时进行视频

B.服务器CPU占用率小于50%
[align=left]6. 单服务器文字负载测试[/align]
结果:A.单台服务器至少支持2500对用户同时进行文字

B.服务器CPU占用率小于8%
[align=left]7.单服务器综合负载测试[/align]
结果:A单台服务器至少支持2500对用户同时进行综合负载测试

B.满负荷运行时服务器CPU占用率小于70%
[align=left]8.不同类型摄像头兼容性测试[/align]
结果:A.支持所有USB 摄像头 B.支持所有USB电视采集卡

C.支持所有PCI视频采集卡
[align=left]9.不同类型声卡兼容性试[/align]
[align=left]结果:支持所有声卡,并能自动选择Mic为输入音频源[/align]
[align=left]10.不同类型操作系统兼容性测试 [/align]
结果:A.Windows2000、WindowsXP、Windows2003操作系统

B.支持Windows Vista、Windows 2008操作系统(注册组件时需要管理员权限, 否则UAC会阻止组件注册)


至此,从对音视频一无所知到完成了一套解决方案的研究,耗时两个月,对佰锐Anychat的产品和战略大为佩服...

一个收获,看到了产品实际例子,Anychat sdk 已经商业运营四五年咯,好像蛮便宜的,http://www.bairuitech.com 据说AnyChat在2010年上海世博会,以及2010年8月奥运鸟巢”全民健身日“等活动上均有 精彩的展示!相关新闻请访问公司网站:http://www.bairuitech.com/html/bairuixinwen/20100815/140.html

另外一个收获,anychat公开了标准测试版本,下载地址: http://www.anychat.cn/faq/
[align=left] [/align]

[align=left]真是忍不住去看看!GO ![/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息