1.服务器部分
1.1. 服务器分为核心服务器和业务服务器
A.核心服务器:主要负责网络连接的建立、维护,P2P穿透过程中的协助以及P2P不通时流媒体数据的 转发工作;
B.业务服务器:主要负责上层应用业务逻辑的处理,业务层通信指令解析等;
音视频数据的编码、解码等工作均在客户端完成,不占用服务器的CPU资源,在服务器的所有模块中,占用资源最多的当属流媒体数据的转发工作,由于AnyChat采用了完成端口模型(Linux为Epoll模型)将大量的工作交由系统内核完成,效率非常高,不会占用太多的系统资源。
1.2.服务器的配置需求
由于AnyChat对服务器资源占用非常低,故常规的应用(1000在线用户以下)基本不用考虑服务器的硬件配置,当前能在市面上购买到的服务器硬件都能胜任。服务器主要考虑稳定性,虽然从性能上来说普通的PC就可以胜任,但考虑到需要长期不间断的运行,建议购买专业的服务器硬件。
为了方便用户,我们给两个配置参考,分别为:
A.普通软件配置:
CPU (Intel E5606 @2.1GHZ) 内存(2GB)网卡(100M网卡)硬盘(320GB)
B.推荐硬件配置
CPU (Intel E5620 @2.4GHZ) 内存(4GB)网卡(1000M网卡)硬盘(500GB)
1.3.运营中的服务器
下面为某合作客户实际运营服务器的相关截图与数据,可供参考:该服务器为200Mbps独享带宽,实际使用为150Mbps,内存占用不超过150MB,CPU平均占用不高于5%,硬件配置可参考附图,服务器版本为AnyChat for Windows V4.5。
图一:运营服务器硬件配置
图二:AnyChat核心服务器进程列表
图三:服务器资源利用情况,CPU长期处于5%低水平运行
图四:服务器转发数据量为:150Mbps,包转发速度为:250000PPS
2.客户端部分
2.1. AnyChat音视频延迟有多大
AnyChat采用动态缓冲技术,会根据不同的网络状况实时调节缓冲区的大小,在实时性和流畅性之间保持平衡。
当网络状况较好时,AnyChat会减小缓冲区的容量,提高音视频的实时性;
当网络状况较差时,AnyChat会增大缓冲区的容量,这样会带来一些延迟的增加,但是能保障音视频的流畅性,有效消除网络抖动对音视频播放质量的影响;
根据实际网络测试,AnyChat的音视频延迟指标如下:
网络状态较好时(无丢包,网络延迟<10ms):<100ms
网络状态一般时(无丢包,网络延迟<50ms):<=100ms
网络状态较差时(丢包率<=5%,网络延迟<100ms):<=250ms
网络状态很差时(丢包率<=20%,网络延迟<500ms):<=1100ms
2.2支持的分辨率
176x144、320x240、352x288、640 x480、720 x480、720x576、800 x600、960 x720、1024x576、1280 x720、1280 x1024、1920x1080
2.3支持的码率
40kbps、60 kbps、100kbps、150 kbps、200 kbps、300kbps、400 kbps、500 kbps、600kbps、800 kbps、1000 kbps、1200kbps、1500 kbps
2.4支持的帧率
5 FPS、8 FPS、12 FPS、15 FPS、20 FPS、25 FPS、30 FPS
2.5支持的操作系统
Linux、Android 2.1、Android2.2、Android 2.3、Android 4.x、iOS(iPhone 3G、iPhone3GS、iPhone4)、WinXP、Win2003、Vista、Win7、Win2000、Win7、Win9X