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

  用户想开发一个即时通讯系统,类似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部分的开发;

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

结果: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/
 
真是忍不住去看看!GO !

 

你可能感兴趣的:(服务器部署,音视频即时通讯,P2P技术,H.264视频编码,音视频采集)