OMCS 带宽占用及网络品质测试
对一个实时的网络语音视频系统而言,网络的品质对该系统的用户的体验具有决定性的作用,所以,在正式部署系统之前,进行较全面的网络测试和网络调优工作是非常必要的。这里,我们为这些工作提供所需的基础信息以供参考。
一. OMCS 带宽占用大小
OMCS的语音、视频、电子白板、远程桌面等功能对网络带宽的要求分别如何了?
一路多媒体对带宽的占用如下表所示:
对于视频和远程桌面而言 --
帧 频: 15~20 fps 。
普通质量:对应 CameraEncodeQuality 或 DesktopEncodeQuality 取值为 18。
高 质 量:对应 CameraEncodeQuality 或 DesktopEncodeQuality 取值为 15。
注意:一般不建议将 CameraEncodeQuality 和 DesktopEncodeQuality的值 设置为小于12。当EncodeQuality小于12时,画面的清晰度主观看来几乎没什么提升,但是消耗的流量会成倍的增加。
说明:
1.正比推算
以视频为例,如果视频的尺寸不是640x480,那么可以按比例推算带宽的占用。假设视频大小为800x600,那么,带宽的占用将增加1.56倍((800x600)/(640x480))。
2.考虑图像的复杂度及变化程度
如果视频图像很简单,而且视频过程中,图像的内容变化很小,那么,带宽的占用会极大地降低。上述数据是基于复杂图像以及图像变化程度较大的情况的测试结果。
3.一对一,多对多
在1对1的视频聊天中,上行、下行的流量是对称的,即上行是两路,下行也是两路。
如果是类似视频会议的场景,则沟通就是多对多的。比如,有M个用户在一个视频会议室聊天,每个用户的视频都要广播给其它的(M-1)个用户,此时,上行就有M路,下行就是M*(M-1)路。
4.在线教学(一对多)
在线教学系统中老师讲课时,通常老师的声音视频需要发给多个学生,而老师不需要听到和看到学生,这种情况就是1对多,也就是1:N的广播,此时,上行是1路,而下行是N路。
二.服务器共享带宽与独享带宽
语音视频数据都是实时采集、实时播放的数据,除了对服务器带宽的速度有要求外,更要求服务器带宽通信质量的稳定性,即网络延时小、网络抖动小。很容易理解,如果网络抖动较大,听到的声音就是断断续续的(OMCS内置了抖动缓冲区JitterBuffer,能在一定程度内减轻这个问题)。
所以,为保证网络品质,尽可能使用独享带宽。另外,要注意:
(1)IDC服务器带宽的单位是bit/s,而我们通常说的网速的单位是byte/s。它们之间是8倍的关系 -- 比如,服务器的带宽是1M的,说明从服务器下载的速度最多可以达到120KB/s左右。
(2)我们购买的IDC服务器带宽,指的是服务器的出口带宽,也就是说是从服务器下载的带宽。 那么上传到服务器的带宽是多少了?阿里云是这样解释的:
当购买的带宽小于10 Mbit/s时,上传到服务器的带宽最大为10 Mbit/s。
当购买的带宽大于10 Mbit/s时,上传到服务器的带宽与您购买的带宽一致。
(3)建议不要选择弹性带宽(按流量计费)。
像阿里云和华为云都推出了弹性带宽的计费方式,在很多场景中,弹性带宽看起来比较划算,但是据我们在实际的使用中测试来看,效果比固定带宽要差一些。
三.网络品质测试
1.测试客户端与服务器之间的上传速度、下载速度
通过windows自带的远程桌面的拷贝文件功能,我们可以很容易地测试出客户端电脑与服务器之间的网络速度。
(1)在客户端电脑上,使用windows自带的远程桌面功能(如win7下,开始菜单->所有程序->附件->远程桌面连接),连接到目标服务器上。
(2)上行拷贝:从当前电脑拷贝一个20M左右的文件到服务器上。根据拷贝的耗时,即可计算出上传速度。(阿里云一般可达到1Mbyte/s)
(3)下行拷贝:再将刚才上传的20M左右的文件从服务器拷贝到当前电脑。根据拷贝的耗时,计算出下载的速度。
只有当服务器的上传速度和下载速度都满足OMCS的带宽要求时,才可能实现流畅的语音视频通话。
2.测试网络抖动情况
服务器的带宽足够是前提,如果服务器带宽都不够,先要加大服务器的带宽,否则测试网络抖动就没什么意义了。
在服务器的带宽大小得到保证后,参与语音视频会话的各个客户端,如果希望都能达到比较流畅的体验,则需要达到以下几点:
(1)客户端到服务器的ping延时低于100ms。
(2)ping的最大抖动范围不超过30ms。
注:ping命令加上 -t 就可以连续不断地 ping。如 ping 192.168.0.123 -t
其中,网络抖动对流畅性的影响很大。在测试时,建议将到服务器的ping打开,如此可以观察ping对语音视频流畅性的影响。
附:带宽计算示例
1.即时通讯:我有1000个客户端同时在线,同时进行1对1视讯的人数为100(即50组),请问服务端大概需要租多少带宽?
解:假设摄像头视频尺寸为640*480,音、视频为普通质量。
则 640*480尺寸的视频一路带宽占用是60KB/s
一路音频由表中数据得知为5KB/s
故总共需要 100*65*8/1000 =52Mbit/s 服务器带宽。
2.视频教学:我有100个客户端,其中1个人是老师,老师将自己的桌面和声音广播给99个学生,这种情况需要多少服务器带宽?
解:假设老师桌面分辨率为1280*720,音频为高质量
则一路音、视频所占带宽为100 + 8 = 108KB/s
故总共需要 100*108*8/1000 = 86.4Mbit/s服务器带宽
3.视频会议:我有10个人进行视频会议,每个人将自己的视频广播给其他的9个人,服务端需要多少带宽?
解:假设摄像头视频尺寸为640*480,视频质量为高质量。
则每个人上行1路下行9路,10个人则上行10路下行90路。下行合起来是100路,即10*10路。
则总共需要 100*60*8/1000 = 48Mbit/s服务器带宽
-------------------------------------------------------------------------------------------------
阅读 更多OMCS开发手册系列文章。
Q Q:168757008