下面介绍这个跨平台的即时通讯解决方案,基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合了佰锐科技在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量、宽适应性、分布式、模块化的网络音视频互动平台,是我进入公司完成的第一个项目。
视频采集和编码能否分开使用、采集到的视频不编码,能否得到数据、客户端用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”就行了。
用户评估:
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会阻止组件注册) |
至此,从对音视频一无所知到完成了一套解决方案的研究,耗时两个月。