本发明涉及视频串流技领域,尤其涉及一种实时串流的帧率稳定性测试方法及帧率稳定性测试系统。
背景技术:
1、视频串流过程中,客户端显示内容的变化过程是否流畅取决于帧率。每秒显示图像的帧数称为帧率(frames per second,fps),也可以理解为图形处理器每秒钟能够刷新几次,较高的帧率可以得到更流畅、更逼真的显示内容变化效果;较低的帧率,就会影响显示内容显示的实时性,显示内容变化时就会出现跳动感、不连贯,影响用户感受。现有测试技术中一般采用的是测试人员通过软件将实时串流帧率显示在屏幕上,再通过肉眼查看串流并判断卡帧和掉帧,测试的精度不高,无法准确的测算出帧率是否稳定。
2、因此,现有技术存在缺陷,需要改进。
技术实现思路
1、本发明要解决的技术问题是:提供一种实时串流的帧率稳定性测试方法及帧率稳定性测试系统,提升测试的准确性。
2、本发明的技术方案如下:提供一种实时串流的帧率稳定性测试方法,包括以下步骤。
3、s1:准备一组图片队列;其中图片数量等于待测帧数,该待测帧数的数值为串流服务器播放视频的每秒帧数的数值,队列中的所有图片分辨率与串流服务端分辨率一致;队列中的每张图片均标有序号,且序号为图片的顺序。所述序号优选阿拉伯数字,优选的,从数字“1”开始排序。
4、s2:图片队列在串流服务端全屏按顺序循环播放;其中串流服务端播放图片的速度为每帧一张,保证图片播放速度与串流服务端帧率一致。
5、s3:将串流服务端编码后传输至客户端的视频流保存到本地;对串流视频进行检测,获取视频信息。
6、s4:串流视频转换成图片帧队列;根据串流视频总帧数将上述视频转换成图片帧,并将图片帧按照该图片帧所处视频中的位置排列,获得图片帧队列。
7、s5:对图片帧队列进行分组;遍历图片帧队列找出排在第一的全部图片帧,以序号排在第一的图片帧为首帧,加上夹在该首帧和之后相邻的一个首帧之间的图片帧作为一组,本组图片即为一秒钟输出的图片帧;根据视频时长分为若干组,获得图片帧队列组。在步骤s5中,采用图像识别的方式识别图片队列中的图片的序号,从而找出每组图片帧队列组的首帧。在一组图片帧队列组中,若序号为“1”的图片帧未丢失,则序号为“1”的图片帧为排在第一的序号;在一组图片帧队列组中,若序号为“1”的图片帧出现丢失,也即序号为“2”的图片帧为排在第一的序号,其在该组中,序号为“2”的图片帧为首帧。
8、s6:查找异常帧;遍历所有图片帧队列组,查找每一组中的异常帧;具体查找方法为:对比原图片队列的序号,查看图片帧队列组中是否有重复、缺少的图片,有则记为异常帧。
9、s7:计算每秒帧率稳定率;结合上述遍历图片帧得出异常帧的数量,根据每秒帧率稳定率=100%-异常帧数量/每秒帧数*100%,得出每秒帧率稳定率。
10、s8:计算总帧率稳定率;结合上述计算每秒帧率稳定率结果,根据总体稳定率平均数=每组帧率稳定性之和/图片帧队列组数量,得出总体帧率稳定率。
11、准备一组图片队列,图片数量等于串流服务器播放视频的每秒帧数的数值,并在每张图片相同的位置上设置序号,并作为图片的顺序。在串流服务器上循环播图片队列,并传输至客户端;客户端获得视频流后,转换成图片帧队列,对这个图片帧队列进行分组,分组的方法为:遍历图片帧队列找出排在第一的全部图片帧,以序号排在第一的图片帧为首帧,加上夹在该首帧和之后相邻的一个首帧之间的图片帧作为一组;将每一组图片帧队列组与最开始的图片队列进行比对,查找出异常帧,接着计算每秒帧率稳定率和总帧率稳定率。在整个过程中,无需工作人员过多的参与,基本实现自动化测试,极大的提升了测试的精度,能够准确的测算出帧率是否稳定;有效的降员工的劳动强度,提升测试效率和准确性。
12、进一步地,在步骤s1中,所有图片均为白色。
13、进一步地,在步骤s1中,每张图片的序号均设置在图片的同一位置;优选图片的中央位置。
14、进一步地,在步骤s2中,还包括:在串流连接后进行快速鼠标移动操作干扰画面变动。
15、进一步地,所述视频信息包括:总帧数、时长、每秒帧数。
16、进一步地,本发明还提供一种帧率稳定性测试系统,用于执行前述实时串流的帧率稳定性测试方法,包括:图像模块,用于获取被测对象显示内容的视频流并将视频流存储到本地并处理;图片帧识别模块,用于识别图像变化并得出异常帧数,测试结果测算模块,用于得出测试结果。
17、采用上述方案,本发明提供一种实时串流的帧率稳定性测试方法及帧率稳定性测试系统,采用帧率稳定性测试系统并结合实时串流的帧率稳定性测试方法来替换人工肉眼识别是否存在卡帧和掉帧,实现自动化测试,测试的精度高,能够准确的测算出帧率是否稳定;有效的降员工的劳动强度,提升测试效率和准确性。
1.一种实时串流的帧率稳定性测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种实时串流的帧率稳定性测试方法,其特征在于,在步骤s1中,所有图片均为白色。
3.根据权利要求1所述的一种实时串流的帧率稳定性测试方法,其特征在于,在步骤s1中,每张图片的序号均设置在图片的同一位置。
4.根据权利要求1所述的一种实时串流的帧率稳定性测试方法,其特征在于,在步骤s2中,还包括:在串流连接后进行快速鼠标移动操作干扰画面变动。
5.根据权利要求1所述的一种实时串流的帧率稳定性测试方法,其特征在于,所述视频信息包括:总帧数、时长、每秒帧数。
6.根据权利要求1所述的一种实时串流的帧率稳定性测试方法,其特征在于,在步骤s5中,采用图像识别的方式识别图片队列中的图片的序号,从而找出每组图片帧队列组的首帧。
7.一种帧率稳定性测试系统,其特征在于,用于执行权利要求1-6任一项实时串流的帧率稳定性测试方法,包括:图像模块,用于获取被测对象显示内容的视频流并将视频流存储到本地并处理;图片帧识别模块,用于识别图像变化并得出异常帧数,测试结果测算模块,用于得出测试结果。