怎么测试直播类产品……
时间:2022-08-03 17:19:00
如何测试直播产品的直播质量?
首先要明白音视频的基本原理,明确视频和音频的质量标准,这样,测试方法就可以根据质量标准来确定。
音视频的基本原理
1.采集
音频和视频需要通过相机、麦克风等硬件设备上的传感器进行收集、传输和转换,最终成为计算机数字信号的过程。其中,双视频和群视频中的广播是由ffmpeg插件完成。
2.前处理
采集完的音视频数据需要经过一些处理得到更好的效果,音频的前处理包括增益控制(AGC)、噪声抑制(ANS)、回声抵消(AEC)、静音检测(VAD)等等,视频的预处理包括视频降噪、缩放 等。
3.编解码
一个信号或数据流需要编解码操作,这里的变换包括编码信号或数据流(通常用于传输、存储或加密)或提取编码流操作。有很多视频编解码器,比如vp8、vp9、MPEG、H264等;音频编解码器可分为两类:语音编解码器(SILK、Speex、iSAC等)和音频编解码器(ECELT、AAC等)。
4.网络传输
在网络传输中,将选择不同的网络环境UDP或TCP传输一般优先考虑即时音视频通话UDP,由于其具有良好的自由度和延迟性;此外,还将处理传输过程中的损失,包括控制包的大小FEC机制、丢包重传、Jitter控制、延迟、乱序等。
5.后处理
数据通过网络传输到接收方后,解码进入后处理环节。在此链接中,音频数据可能需要重新采样或混音,而视频可能需要消除块效应、时域降频等。
6.播放/渲染显示
经过后处理后,将数字信号转换为声音和图片的过程是播放/渲染。Windows系统中常用的音频播放api有DirectSound、WaveOut、CoreAudio。
视频质量标准
以下是视频质量标准和测试方法的介绍。
1. 进房速度
正常网络要求:进入房间的时间小于1秒(iOS和Android端)
弱网络要求:弱网下的进入速度没有标准
Android建议使用中低端机型(如小米)note),IOS建议使用iphone6S测试
测试方法
覆盖场景:入口要全覆盖,比如app内部、QQ、QQ空间、微信、朋友圈、新浪微博
1.一部手机打开毫秒级秒表,另一部测试手机打开测试产品,进入主播室;
2.进入主播室出现第一帧后,暂停秒表记录数据;
3.数据需要重复上述步骤20次,最终结果取平均值。
竞品数据
2. 清晰度
正常网络要求:与上一个版本相比,清晰度没有恶化
弱网络要求:在网络丢包率10%的情况下,与正常网络数据相比,清晰度没有明显下降
工具:Imatest
环境调试:
1.摄像头与目标卡的距离为0.75m,光源和被拍照卡片的角度保持在45°,确保卡片表面没有阴影;
2.使用荧光灯(D65/CWF/SP35)测试前至少预热15个光源 分钟;
3.测量反射卡表面9 为了保证灯光的一致性,调整被测手机的位置,使其拍摄位置居中。
操作步骤:
1.用不同的竞争对手拍摄卡片,导入拍摄图片PC,使用Imatest计算计算清晰度,单击 SFR:New File;
2.选择需要处理的图片,添加,选择图片上的13个分布点(如下图所示)框图,点击框图完成【 Yes,Continue】
3.点击【 OK 】和【 Yes 】,计算生成的MTF50P即图片的清晰度。
影响因素
清晰度受视频分辨率和代码率的影响较大。代码发送率越大,分辨率越高,视频清晰度越好。注意不要仅仅根据分辨率来判断代码率。
竞品数据
3.帧率
正常网络要求:由于人眼的特殊生理结构,如果图片帧率高于16帧,则认为它是连贯的,因此帧率建议不低于16帧。设置帧率时,可根据需要综合考虑比较竞争产品。当帧率低于5帧时,人眼可以明显感觉到图片不连贯,产生卡片的感觉。
弱网络要求:与正常网络相比,在网络丢包率10%的情况下,帧率没有明显下降。
测试方法
设备:2台电脑 1个摄像头 2部手机。一台电脑播放视频,一台电脑录制视频,一部手机当主播,一部手机当观众,摄像头采集观众端画面。
视频源:特定视频demo.avi
操作步骤:
1.电脑1播放循环视频demo.avi,电脑2插入摄像头,打开会声会影软件;
2.手机A发起直播,手机B当该直播的观众,A对准播放视频的电脑,打开会声会影软件,对准录制视频电脑的摄像头B;
3.点击会声会影软件捕获视频-设置捕获文件夹~20s),完成视频捕获。捕获后的视频格式是mpg格式;
4.将mpg格式文件转换为yuv格式:编辑mepg2Dec.cmd如下图所示,将文件名改为捕获的视频文件名,保存后运行mpeg2dec.exe;
5.打开YUVviewerPlus.exe如下图所示,将录制视频的分辨率设置为720*480),点击open File打开转换yuv格式文件;
6.点击“next以1开始数帧数s 以30帧为基准,30帧内场景图像变化次数为帧率(最好数3s)3s图像变化次数取平均值。建议在视频开头/中间/尾部取平均值。
影响因素
在网络正常无损伤的情况下,帧率主要受视频影响,视频码率越大则会编码高帧率和高分辨率的视频码流。
竞品数据
4. 卡顿次数
标准
正常网络要求:
弱网络要求:
测试方法
地球仪(IOS)或自动测试工具(Android)
影响因素
在网络正常无损坏的情况下,帧率主要受视频影响。视频码率越大,高帧率、高分辨率的视频码流就会编码
5.视频质量稳定
在各种损伤变化场景下,直播3小时内无花屏、黑屏、自动中断等现象
测试方法
1.损伤自动化测试,录制软件会声影;
2.检查录制的视频是否有花屏,屏或异常中断等现象。
音频质量标准
以下介绍音频质量标准和测试方法。
1.采样率
正常网络要求:音频采样率大于16k
弱网络要求:音频采样率大于16k
测试需覆盖直播场景和连麦场景。
测试方法
设备:两台手机、可播放样本设备、录音笔
1.一台手机进入主播环境,另一台手机作为观众端;
2.使用一个可播放语音(音乐)样本的设备在主播端进行播放;
3. 观众端用录音笔录下接收到的语音
4.使用adobe audition查看频谱:最高频谱为7k左右,因此采样率应为16k;
2.音质客观评分
正常网络要求:正常网络直播时,语音音质均分>=4.0分
弱网络要求:弱网络直播时,语音音质均分>=3.5分
测试方法
直播模式:由于直播时延大于2秒,因此采用音频线录制并剪切后再用SPIRENT设备进行测分。
设备:两条音频线,一台PC,两台手机
1.主播端的麦克风连接PC的扬声器,观众端的扬声器连接PC的麦克风;
2.PC循环播放48k语音样本(样本时长为10s);
3.打开adobe audition进行录制,录制时间约2mins;
4.把录制下来的音频进行分段剪切(每段语音为10s,前面空白语音保留约3s)
5.上传剪切的音频文件到SPIRENT设备并算出POLQA均分。
连麦模式:时延低于1s,可用SPIRENT设备直接测音质。
1.主播端与观众端连麦;
2.接入SPIRENT设备测试音质,双向测试时间约为8mins;
3.得出音质平均分
3.音画同步
正常网络和弱网络下,出现音画不同步现象概率为0。
测试方法
观看直播过程中,主观判断视频画面中主播口型跟声音是否对得上。
连麦-噪声抑制
主播和观众连麦模式下,主播→观众的噪声消除效果跟上个版本相比,噪声抑制效果没有变差。
测试方法
设备:音频线一条,播放语音样本设备、PC一台
1.主播端与观众端连麦;
2.把主播端手机放在消音室并固定位置,然后在消音室内使用可播放语音样本的设备播放噪声样本;
3. 观众观的扬声器口连接PC的麦克风;
4.使用Adobe Audition 进行录制并保存文件;
5. 相同方法录制上一版本(保持相同的测试环境);
6.新旧版本进行对比,选取相同的语音段和噪声段,算出信噪比。
4.连麦-回声抵消
标准:主播和观众连麦模式下,单讲和双讲时,说话方听到的回声较小,不会影响交流。
测试方法
单讲:观众端开启扬声器,主播端说话,主观听是否有自己的回声;反过来观众端说话,听是否有回声。
双讲:双方都开启扬声器,并同时说话,主观听是否有回声,或声音断续有剪切。
5.抗抖动能力
主播端:上行抖动时延在400ms内,视频直播不会有影响
观众端:下行抖动时延在400ms内,视频直播不会有影响
测试方法
1.主播端上行加400ms抖动,观看观众端视频画面和语音;
2.观众端上行加400ms抖动,观看观众端视频画面和语音。
6.CPU占用率
主播端:CPU不超过40%(iOS:iPhone6、安卓无指定机型)
观众端:CPU不超过30%(iOS:iPhone6、安卓无指定机型)
测试方法
1. iOS:非越狱手机连接mac机,用instrument录制CPU后使用脚本算出CPU,CPU占用率=(主进程+mediaserverd+backboard)/核数
2.Android: 通过cmd命令,进入命令行,输入adb shell top –m 10 >d:\xx.txt命令行打印手机的CPU消耗参数,再用过脚本处理,提取出video和mediaserver的CPU消耗,两者相加的和就是音视频的CPU消耗。
7. 流量
视频直播时,观众端接收到的音视频数据大小跟上个版本相比,流量没有出现增加。
测试方法
iOS:
1.非越狱手机连接mac机,打开终端,输入:rvictl +手机identifier;
2.进入su模式,输入:tcpdump –i rvi0 –vv –s 0 –w xx.pcap;
3.运行3mins,再用wireshark打开文件,查看流量。
Android:
1. 安装抓包小工具:
2.程序开始运行后点击小工具并开始;
3.用wireshark打开生成的pcap文件,查看流量。
8.电量
观看直播时,观众端的电池电量消耗跟上个版本相比,电量没有出现增加。
测试方法
1.观众端观看主播端,观看10mins、20mins,记录手机电量消耗多少个百分点;
2.保持相同环境和相同手机,测试上一版本;
3.比较新旧版本的耗电量
9.发热量
观看直播时,观众端的手机发热量跟上个版本相比,电量没有出现增加。
测试方法
1.观众端观看主播端,观看10mins、20mins、30min,用测温枪测量手机后背温度并记录;
2.保持相同环境和相同手机,测试上一版本;
3.比较新旧版本的耗电量
以上,希望能帮到大家。
版权声明:本文为CSDN博主「xp562870732」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xp562870732/article/details/110489968
end