音视频质量对于帮助开发者科学地选择一家靠谱的实时音视频服务商来说至关重要。那么,大家是怎么测试音视频质量的?演艺界有靠念1、2、3...数字替代台词的“数字小姐”,而音视频通话的测试中常见的就是靠双方互说1、2、3...数字进行测试的“数字先生”。这种简单基础的测试方法很多朋友都在使用:将Demo调通后,找几个人“喂喂喂”或者数数字,凭借各自的听觉视觉感受一下,就完成了一次测试,选定了一家实时音视频厂商。但这样真的靠谱吗?哪些因素会影响到音视频质量?通过测试,菊风云音视频质量又会有怎样的评估结果呢?
小科普
影响音视频质量和稳定性的因素
音视频对网络传输的依赖性越来越显而易见。网络状况对于音视频质量的影响是很直观的,如果音视频包在网络传输的过程中丢失,晚到,或者不均匀的到,就会造成我们常说的丢包,延时和抖动。随着网络上主机数量的不断增加,网络服务的需求将超过网络提供的能力,从而造成传输时延变化(抖动)、传输时延过大甚至引起分组丢失,也就是说出现了大塞车(网络拥塞),这将对传输时延要求比较苛刻的实时音视频传输造成很大影响,从主观听感或视觉感受上造成声音或视频画面的卡顿和滞后,严重影响通话的质量和可懂度。在公共互联网上,特别是在远距离通信的情况下,如果缺乏足够的网络部署和丢包对抗技术,这种情况就会变得尤为明显。
此外,除了在传输层引起的丢包抖动,路由器,移动数据网络等问题也会引起丢包抖动。网络中存在很多的节点,如路由器、网关等。这些节点采用排队机制决定数据发放的顺序。如果在瞬间某节点数据排队较长,该节点就会采取丢弃数据包的方式保证节点的正常工作。即使没有被丢弃,经过较长的排队之后,这些数据包往往要花很长的时间才能到达目的地,由此就产生了网络的时延以及时延抖动。
设备对于音视频质量的影响是相对隐性的,但是往往会起着决定性的作用。相较于苹果机,安卓机的问题就非常碎片化了。由于安卓机型太多,适配对和安卓机打交道的开发者来说往往司空见惯,比如受一些中低端机型性能影响,音视频在苹果机上测试觉得不错,但是到一些中低端的安卓机器上就问题百出。这类问题无论网络好坏都会产生,这时候就必须有音视频引擎的算法模块来做对应的算法适应和适配了,解决这类问题的技术门槛一般都是很高的。
物理环境对音视频通话的影响不易察觉,但又不可忽视。例如,近场时候的尖锐杂音(啸叫)就是由于设备A的麦克风会直接收录到设备B的扬声器播放的声音,然后又会传回设备B播放出来,形成了一个正反馈回环导致的。只要分开一定距离通话或者静音掉其中一方就会消失。而本地身处嘈杂的环境下的听对方会更困难,对方听自己也会有受到噪声的干扰。
这些因素都会对音视频质量造成影响,因此,对于开发者如何选择一个第三方音视频厂商,测试时就需要尽可能多的覆盖到真实使用场景,从而得到比较全面和准确的评估。
菊风云测试报告(节选)
从测试结果看菊风云实时音视频质量
为了让开发者更加直观地了解菊风云音视频质量,我们对菊风云JCSample(由JC SDK编译出的测试包)进行了专业的测试。测试分为了两大模块:现网测试和模拟网络测试。
现网测试:主要体现真实网络下,JCSample的表现情况。不同运营商之间网络会有限制,因此现网测试我们选择了测试不同运营商之间音视频互通的质量。
模拟测试:在实验室网络环境下,通过网络模拟工具来模拟不同网络,测试不同网络下JCSample的音视频质量。本次只设置不同丢包的情况下来测试。
评估指标:通过视频时延和视频MOS分(总MOS分,流畅度MOS分,清晰度MOS分)来做为重要评估指标。
1. 时延:
视频时延,采用客观评估。测试方法是,
1)在PC上开启一个精确到毫秒的计时器
2)主体设备摄像头对准该计时器来采集,对端画面也能看到该计时器。
通过手机拍照的方式,将两端设备都包括在一张照片内,两端设备的时间差就是要记录的视频时延。
2. MOS分:
MOS分采用人工评分的评估方法。主观MOS分采用ITU-T P.800和P.830建议书,由不同的人分别对原始语料和经过系统处理后有衰退的语料进行主观感觉对比,得出MOS分,最后求平均值。
MOS值 = 测试视频值 + (5 - 视频源值)
(例如:评分人A给测试视频序号为1的视频评分为3分,同时给视频源的评分为4.5分,那么A实际最终给1号测试视频的分值应该是3.5分。)
MOS 评分法,分数范围为1分至5 分。MOS评分规定如下:
进行人工评分时打分可以打到小数点1位(例如4.6分)
接下来,话不多说,我们来看菊风云实时音视频质量的测试结果吧!
注:上下行以一端设备作为主体,上行表示其发送到对端的情况,下行表示其接收的情况。跨运营商网络测试,可任选一端作为主体,其后测试保持不变。模拟网络测试,设置网络模拟的设备为主体。