CN112995658B - 一种编解码满性能的自动化测试方法、测试终端和系统 - Google Patents
一种编解码满性能的自动化测试方法、测试终端和系统 Download PDFInfo
- Publication number
- CN112995658B CN112995658B CN202110397345.5A CN202110397345A CN112995658B CN 112995658 B CN112995658 B CN 112995658B CN 202110397345 A CN202110397345 A CN 202110397345A CN 112995658 B CN112995658 B CN 112995658B
- Authority
- CN
- China
- Prior art keywords
- test
- state value
- testing
- performance
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明公开一种编解码满性能的自动化测试方法、测试终端和系统。该方法包括:根据测试类型和测试选项向测试终端请求或推送对应的测试用媒体流;获取测试终端的第一状态数据和测试用媒体流的第二状态数据,并据此计算实际性能状态值X,判断X是否达到预设的满性能阈值T,记录测试终端的第一状态数据;X未达到T时,根据X确定测试选项,进行新一轮测试并得到当前轮次测试的第一状态数据,计算X并判断是否达到T,直到X达到T;X达到T,且本轮测试与最新一轮X未达到T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为满性能状态数据输出。因此能自动化且精确地测试出终端编解码满性能。
Description
技术领域
本发明涉及视频编解码性能测试技术,尤其涉及一种编解码满性能的自动化测试方法、测试终端和系统。
背景技术
随着互联网的迅速发展,多人视频会议在近几年得到了井喷式发展,其以节约成本,支持多人随时随地开会的优势,受到了越来越多企业的青睐,提高了企业的决策效率。视频会议终端作为视频会议系统的重要一环,可以为用户提供更加个性化、专业化的服务,使得音视频达到最佳效果。如此一来,视频会议终端的视频编解码满性能能力就显得尤为重要。
目前,为测试终端视频编解码能力,一般都采用人工调节终端请求流的大小、股数和终端发送流的大小、股数的方法来进行测试,测试人员根据研发给出的终端大致编解码能力范围进行手动调节视频流的分辨率、帧率(如请求流/发送流的大小)以及流的股数,逐渐增加终端视频编解码的压力,直至测试出终端视频编解码满性能状态。可以想见的是,这种测试方法的测试工作量过大。
针对多流视频会议场景和多种格式的视频流的应用场景,如何真实模拟视频会议终端视频流编解码满性能的测试场景,是行业内亟待解决的一个技术难题。
发明内容
有鉴于此,本发明实施例披露一种编解码满性能的自动化测试方法、测试终端和系统,能自动化且精确地测试终端视频编解码满性能,以至少解决现有技术中存在的以上技术问题。
根据本发明的第一方面,披露一种编解码满性能自动化测试方法,该方法包括:
获取测试信息,判断测试类型,根据所述测试信息选择测试选项,根据所述测试类型和所述测试选项向测试终端请求或推送对应的测试用媒体流;
获取所述测试终端的第一状态数据和所述测试用媒体流的第二状态数据,并根据所述第一状态数据和所述第二状态数据,计算所述测试终端的实际性能状态值X,并判断所述实际性能状态值X是否达到预设的满性能阈值T,记录所述测试终端的第一状态数据;
所述实际性能状态值X未达到所述满性能阈值T时,根据所述实际性能状态值X确定所述测试选项,进行新一轮测试并得到当前轮次测试的第一状态数据,根据所述当前轮次测试得到的第一状态数据,计算所述测试终端的实际性能状态值X,并返回判断所述实际性能状态值X是否达到所述满性能阈值T,直到所述实际性能状态值X达到所述满性能阈值T;
本轮测试所述实际性能状态值X达到所述满性能阈值T,且本轮测试与最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出。
根据本发明的第二方面,披露一种编解码满性能自动化测试终端,该测试终端包括:测试触发模块,数据选择模块、状态检测模块、数据处理模块、状态判断模块、测试选项数据库以及性能记录数据库;其中:
所述测试选项数据库存储有所述测试终端的测试信息、测试用媒体流、以及与所述测试信息对应匹配的测试选项;所述测试选项包括编码满性能测试、解码满性能测试、以及对应的测试用媒体流数据;
所述性能记录数据库用于记录所述测试终端的第一状态数据、所述测试用媒体流的第二状态数据、实际性能状态值X;
所述测试触发模块用于判断测试类型,并根据所述测试信息、所述实际性能状态值X确定所述测试选项;
所述数据选择模块用于根据所述测试选项向所述测试终端请求或推送对应的测试用媒体流;
所述状态检测模块用于获取所述测试终端的第一状态数据和所述测试用媒体流的第二状态数据,并将所述第一状态数据和所述第二状态数据输出给所述性能记录数据库存储;
所述数据处理模块用于根据所述第一状态数据和所述第二状态数据,计算所述测试终端的实际性能状态值X,并将所述实际性能状态值X输出至所述性能记录数据库存储;
所述状态判断模块用于判断所述实际性能状态值X是否达到预设的满性能阈值T,并在所述实际性能状态值X未达到所述满性能阈值T时,触发所述测试触发模块根据所述实际性能状态值X确定所述测试选项,所述数据选择模块进行新一轮测试;以及用于本轮测试所述实际性能状态值X达到所述满性能阈值T且本轮测试与最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出。
根据本发明的第三方面,披露一种编解码满性能自动化测试系统,该测试系统包括:
测试平台,配置有测试选项数据库,该测试选项数据库存储有所述测试终端的测试信息、测试用媒体流、以及与所述测试信息对应匹配的测试选项;所述测试选项包括编码满性能测试、解码满性能测试、以及对应的测试用媒体流数据;
测试终端,包括测试触发模块,数据选择模块、状态检测模块、数据处理模块,以及性能记录数据库;其中:
所述性能记录数据库用于记录所述测试终端的第一状态数据、所述测试用媒体流的第二状态数据、实际性能状态值X;
所述测试触发模块用于判断测试类型,并根据所述测试信息、所述实际性能状态值X确定所述测试选项;
所述数据选择模块用于根据所述测试选项向所述测试终端请求或推送对应的测试用媒体流;
所述状态检测模块用于获取所述测试终端的第一状态数据和所述测试用媒体流的第二状态数据,并将所述第一状态数据和所述第二状态数据输出给所述性能记录数据库存储;
所述数据处理模块用于根据所述第一状态数据和所述第二状态数据,计算所述测试终端的实际性能状态值X,并将所述实际性能状态值X输出至所述性能记录数据库存储;
状态判断模块,用于判断所述实际性能状态值X是否达到预设的满性能阈值T,并在所述实际性能状态值X未达到所述满性能阈值T时,触发所述测试触发模块根据所述实际性能状态值X确定所述测试选项,所述数据选择模块进行新一轮测试;以及用于本轮测试所述实际性能状态值X达到所述满性能阈值T且本轮测试与最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出。
与现有技术相比,本发明披露的技术方案具有以下有益的技术效果:
通过实施本发明的技术方案,在测试过程中获取测试终端的软硬件数据,并判断测试终端当前编解码性能状态与编解码满性能状态的差距,根据这个判断结果,更精确地向测试终端请求或者推送能让其更靠近编解码满性能状态的视频流,从而便于更快地测试出测试终端编解码满性能的视频流阈值,进而实现测试终端对更合适的视频流进行编解码。
相比传统的测试方法,本实施例多了反馈并记录终端状态数据和视频流信息,并自动根据反馈更合理地增加终端编解码压力,更精确迅速的达到编解码满性能的目的。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本公开实施例披露的编解码满性能自动化测试方法流程示意图;
图2为本公开一可选实施例中编解码满性能自动化测试方法流程示意图;
图3为本公开实施例中修正实际性能状态值X的过程示意图;
图4为本公开另一可选实施例中编解码满性能自动化测试方法流程示意图;以及
图5为本公开实施例披露的编解码满性能自动化测试终端的组成框图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
方法实施例:
因此,本提案提出了一种编解码满性能自动化测试方法,能够自动化地根据终端状态反馈,来更迅速精确地测试出测试终端编解码满性能能力。
如图1所示,本实施例的编解码满性能自动化测试方法包括以下步骤:
S101:获取测试信息,判断测试类型;
S102:根据测试信息选择测试选项,根据测试类型和测试选项向测试终端请求或推送对应的测试用媒体流;
S103:获取测试终端的第一状态数据和测试用媒体流的第二状态数据,并根据第一状态数据和第二状态数据,计算测试终端的实际性能状态值X;
S104:判断实际性能状态值X是否达到预设的满性能阈值T,记录测试终端的第一状态数据;若未达到,则执行S105;若已达到,则执行S106;
S105:实际性能状态值X未达到满性能阈值T时,根据实际性能状态值X确定测试选项,进行新一轮测试并得到当前轮次测试的第一状态数据,根据当前轮次测试得到的第一状态数据,计算测试终端的实际性能状态值X,并返回判断实际性能状态值X是否达到满性能阈值T,直到实际性能状态值X达到满性能阈值T;
S106:本轮测试实际性能状态值X达到满性能阈值T,且判断本轮测试与最新一轮实际性能状态值X未达到满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为测试终端的满性能状态数据输出。
本实施例中,可通过仿真工具,经测试平台对测试用的视频会议终端(简称测试终端)进行视频流的请求或者推送,在测试过程中获取测试终端的软硬件数据,并判断测试终端当前编解码性能状态与编解码满性能状态的差距,根据这个判断结果,更精确地向测试终端请求或者推送能让其更靠近编解码满性能状态的视频流,从而便于更快地测试出测试终端编解码满性能的视频流阈值,进而实现测试终端对更合适的视频流进行编解码。相比传统的测试方法,本实施例多了反馈并记录终端状态数据和视频流信息,并自动根据反馈更合理地增加终端编解码压力,更精确迅速的达到编解码满性能的目的。
需要说明的是,在满足测试产品业务逻辑的情况,支持多股视频流、多种分辨率、多种帧率、多种视频流格式进行编解码满性能测试,测试过程中,不需要对视频会议的MCU和终端进行除正常会议外的其他操作,因此本实施例的自动化测试方法具有极强的普适性。
例如,参照图2所示的测试流程中所体现的数据流可知,测试类型包括编码满性能测试和解码满性能测试,其中:
1)编码满性能测试
视频选项数据库获取测试类型为编码满性能测试,继而确定对应的测试选项,并将测试选项经测试平台传输给仿真工具,仿真工具根据测试选项经测试平台向测试终端请求音视频流,测试终端根据收到的音视频流的请求,经测试平台向仿真工具推送其请求的音视频流。
仿真工具收到音视频流之后,判断收到的音视频流是否正常,并经测试平台将音视频流的状态信息发送给测试终端,记录保存至性能记录数据库,测试终端的软硬件状态数据记录并存储性能记录数据库。
根据终端的软硬件状态数据和音视频流的状态信息,判断测试终端的性能状态。根据性能数据,在视频选项数据库(即测试选项数据库)选择下一次的测试选项,告知仿真工具重新请求音视频流,直达完成编码满性能测试。
2)解码满性能测试
视频选项数据库获取测试类型为解码满性能测试,继而确定对应的测试选项,并将测试选项经测试平台传输给仿真工具,仿真工具根据测试选项经测试平台向测试终端推送音视频流,测试终端将音视频流的状态信息和测试终端的软硬件状态数据,记录并存储在性能记录数据库。
根据终端的软硬件状态数据和音视频流的状态信息,判断测试终端的性能状态。根据性能数据,在测试选项数据库中选择下一次的测试选项,并经测试平台告知仿真工具重新推送对应的音视频流,直达完成解码满性能测试。
本实施例在满足测试产品业务逻辑的情况,支持多股视频流、多种分辨率、多种帧率、多种视频流格式进行编解码满性能测试。
作为一种可选的实现方式,上述S106中,将最新一轮测试获取的第一状态数据作为测试终端的满性能状态数据输出,进一步包括以下处理步骤:
第N轮测试得到的实际性能状态值X达到满性能阈值T时,判断第N轮测试与最新一轮未达满性能的测试之间,是否存在未进行的测试选项;
若不存在未进行的测试选项,则将最新一轮实际性能状态值X未达到满性能阈值T的测试中获得的第一状态数据,作为测试终端的满性能状态数据输出;
若存在未进行的测试选项,则根据第N轮测试确定的实际性能状态值X,从未进行的测试选项中选择测试用媒体流进行第N+1轮测试,若第N+1轮测试中计算得到的实际性能状态值X达到满性能阈值T,则返回判断第N+1轮测试与最新一轮实际性能状态值X未达到满性能阈值T的测试之间是否存在未进行的测试选项;
若第N+1轮测试得到的实际性能状态值X未达到满性能阈值T,则判断第N轮测试与第N+1轮测试之间是否存在未进行的测试选项,若不存在未进行的测试选项,则第N+1轮测试得到的第一状态数据作为测试终端的满性能状态数据输出;
若存在未进行的测试选项,则根据第N+1轮测试得到的实际性能状态值X,从未进行的测试选项中选择测试用媒体流,进行第N+2轮测试,直到两次相邻的已达满性能的测试与未达满性能的测试之间不存在未进行的测试选项,并将最新一轮测试获取的第一状态数据作为测试终端的满性能状态数据输出。
作为一种可选的实现方式,测试信息根据被测视频会议系统的产品业务逻辑设置,预先将测试信息写入测试选项数据库,和/或接入测试选项数据库修改测试信息;其中,测试信息包括:测试用媒体流的分辨率、帧率、格式、股数以及产品业务逻辑信息。
作为一种可选的实现方式,实际性能状态值X由述第一状态数据和第二状态数据决定;其中:
第一状态数据包括:中央处理器CPU占用率、图形处理器GPU占用率、内存占用率、编/解码器未使用数量、以及编/解码器数据栈缓冲容量;
第二状态数据包括测试终端传输或显示的测试用媒体流解码后的分辨率和/或帧率。
作为一种可选的实现方式,上述实际性能状态值X的计算方法中,S103中计算测试终端的实际性能状态值X进一步包括以下情况:
1)若编/解码器存在未使用的情况,则实际性能状态值X记为1,未达到满性能阈值;
2)若CPU占用率、GPU占用率、和/或内存占用率超过理想值,实际性能状态值X记为0,达到满性能阈值;
3)若编/解码器数据栈缓冲容量为0,则实际性能状态值X记为0,达到满性能阈值;
4)若测试终端传输/显示的测试用媒体流解码后的分辨率和/或帧率降低,且本轮测试与上一轮测试之间仍有未进行的测试选项,则实际性能状态值X记为0,达到满性能阈值;
5)除以上情况外,实际性能状态值X=A*(CPU理想占用-CPU占用)+B*(GPU理想占用-GPU占用)+C*(内存理想占用-内存占用)+D*(编/解码器数据栈缓冲容量),其中A、B、C、D为大于0的权值系数,实际性能状态值X越大,表明测试终端的当前状态距离编解码满性能的差距越大,实际性能状态值X越小,表明测试终端的当前状态距离编解码满性能的差距越小。
作为一种可选的实现方式,参照图3所示,上述编解码满性能自动化测试方法还可包括以下步骤:
S1031:权值系数配置有初始值,对应得到初始的预期性能状态值;
S1032:根据初始的预期性能状态值与实际性能状态值X的偏差,修正权值系数,计算得到修正的实际性能状态值X’;
S1033:根据得到修正的实际性能状态值X’确定测试选项,根据测试选项选择向测试终端请求或推送的测试用媒体流;
S1034:根据测试选项,预估下轮测试的预期第一状态数据和预期性能状态值;
S1035:根据新一轮测试得到的实际性能状态值X与上一轮测试中预估的预期性能状态值的偏差,修正权值系数,并计算得到本轮修正的实际性能状态值X’,如此迭代,直到完成满性能测试。
上述各实施例中,性能记录数据库中可存储有测试终端的硬件信息、软件信息、参数ABC、实际性能状态值X、修正后的实际性能状态值X’、预期性能状态值等。例如,在测试过程中对终端的每一个测试状态下的会议视频流信息、会议布局、软硬件状态都进行了记录保存,便于后续测试过程中测试人员的查看。
上述各实施例,在测试过程中实时获取终端与编解码有关的软硬件状态数据,并根据这些状态数据来推断当前状态离编解码满性能状态的距离,从而让终端对更合适的视频流进行编解码,相比传统的测试方法多了反馈并记录终端状态数据和视频流信息,并根据反馈更合理的增加终端编解码压力,更精确迅速的达到编解码满性能的目的。
下面,以图4所示的流程为例,进一步对上述编解码满性能自动化测试方法作展开说明:
本示例通过仿真工具,对视频会议终端进行视频流的请求或者推送,并在测试过程中获取终端的软硬件数据,判定终端当前编解码性能状态与编解码满性能状态的差距,并通过测试平台通知仿真工具根据这个判定结果更精确地向终端请求或者推送能让其更靠近编解码满性能状态的视频流,便于更快的测试出终端编解码满性能的视频流阈值。
本编解码满性能自动化测试方法可包括以下步骤:
1.获取测试信息:
a.视频流的分辨率;
b.视频流的帧率;
c.产品的业务逻辑,如该产品终端显示1080p60fps的视频流,则只支持同时显示4股,目前本示例的测试方法和测试终端可支持16股或32股的视频流;
d.各种不同格式、大小的视频流。
2.测试选项数据库对测试信息中的视频流信息从小到大排序,发送给仿真工具。
3.仿真工具根据收到的视频流信息,通过测试平台对终端进行视频流的请求或者推送。
4.根据仿真工具收到的终端推送流或者终端显示的仿真工具推送流判断是否正常编解码视频流,有无存在因性能不足而降低了分辨率或者帧率的情况。
5.获取终端的软硬件信息:
a.CPU占用率
b.GPU占用率
c.内存占用率
d.编/解码器未使用数量
e.编/解码器数据栈缓冲
6.根据终端的软硬件信息,权值计算终端的满性能状态值X:
a. 假如编/解码器存在未使用,X为1
b. 假如CPU占用率、GPU占用率、内存占用率超过理想值,X为0
c. 假如编/解码器数据栈缓冲容量为0,X为0
d. 假如终端传输/显示的流因性能不足而降低了分辨率或者帧率,且这个状态与数据库中上个状态之间仍有未选择的视频流选项,X为0
e. 以上都不满足,则X=A*(CPU理想占用-CPU占用)+B*(GPU理想占用-GPU占用)+C*(内存理想占用-内存占用)+D*(编/解码器数据栈缓冲),其中A、B、C、D都是大于0的权值系数。
其中,X越大,表明终端当前状态距离编解码满性能差的越大,X越小,表明终端当前状态距离编解码满性能差的越小。
7.数据库根据编解码性能状态值X的大小来重新发送给仿真工具更容易让终端达到编解码满性能的视频流选项。
8.重复进行步骤3至步骤7,直至出现满性能状态,即终端传输/显示的流因性能不足而降低了分辨率或者帧率,且这个状态与数据库中上个状态之间没有未选择的视频流选项,则上一个状态就是终端的满性能状态。
本示例在满足测试产品业务逻辑的情况,支持多股视频流、多种分辨率、多种帧率、多种视频流格式进行编解码满性能测试。在测试过程中,实时获取终端与编解码有关的软硬件状态数据,并根据这些状态数据来推断当前状态离编解码满性能状态的距离,从而让终端对更合适的视频流进行编解码,相比传统的测试方法多了反馈并记录终端状态数据和视频流信息,并根据反馈更合理的增加终端编解码压力,更精确迅速的达到编解码满性能的目的且具有极强的普适性。
产品实施例:
为实现上述方法,本实施例披露一种编解码满性能自动化测试终端,参照图5所示,该自动化测试终端包括:测试触发模块,数据选择模块、状态检测模块、数据处理模块、状态判断模块、测试选项数据库以及性能记录数据库;其中:
测试选项数据库存储有测试终端的测试信息、测试用媒体流、以及与测试信息对应匹配的测试选项;测试选项包括编码满性能测试、解码满性能测试、以及对应的测试用媒体流数据;
性能记录数据库用于记录测试终端的第一状态数据、测试用媒体流的第二状态数据、实际性能状态值X;
测试触发模块用于判断测试类型,并根据测试信息、实际性能状态值X确定测试选项;
数据选择模块用于根据测试选项向测试终端请求或推送对应的测试用媒体流;
状态检测模块用于获取测试终端的第一状态数据和测试用媒体流的第二状态数据,并将第一状态数据和第二状态数据输出给性能记录数据库存储;
数据处理模块用于根据第一状态数据和第二状态数据,计算测试终端的实际性能状态值X,并将实际性能状态值X输出至性能记录数据库存储;
状态判断模块用于判断实际性能状态值X是否达到预设的满性能阈值T,并在实际性能状态值X未达到满性能阈值T时,触发测试触发模块根据实际性能状态值X确定测试选项,数据选择模块进行新一轮测试;以及用于本轮测试实际性能状态值X达到满性能阈值T且本轮测试与最新一轮实际性能状态值X未达到满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为测试终端的满性能状态数据输出。
作为一种可选的实现方式,第一状态数据包括:中央处理器CPU占用率、图形处理器GPU占用率、内存占用率、编/解码器未使用数量、以及编/解码器数据栈缓冲容量;第二状态数据包括测试终端传输或显示的测试用媒体流解码后的分辨率和/或帧率。
作为一种可选的实现方式,上述数据处理模块进一步包括:
第一处理单元,用于在编/解码器存在未使用时,将实际性能状态值X记为1,未达到满性能阈值;在编/解码器数据栈缓冲容量为0时,则实际性能状态值X记为0,达到满性能阈值;在CPU占用率、GPU占用率、和/或内存占用率超过理想值时,将实际性能状态值X记为0,达到满性能阈值;以及,用于在测试终端传输/显示的测试用媒体流解码后的分辨率和/或帧率降低,且本轮测试与上一轮测试之间仍有未进行的测试选项,将实际性能状态值X记为0,达到满性能阈值;
第二处理单元,用于在第一处理单元没有计算出实际性能状态值X时,根据公式计算实际性能状态值,X=A*(CPU理想占用-CPU占用)+B*(GPU理想占用-GPU占用)+C*(内存理想占用-内存占用)+D*(编/解码器数据栈缓冲容量),其中A、B、C、D为大于0的权值系数。
作为一种可选的实现方式,上述编解码满性能自动化测试终端还可包括:系数修正模块,系数修正模块用于根据初始的预期性能状态值与实际性能状态值X的偏差,修正权值系数,计算得到修正的实际性能状态值X’;其中,权值系数配置有初始值,对应得到初始的预期性能状态值;
本实施例中,测试触发模块还用于根据得到修正的实际性能状态值X’确定测试选项。数据选择模块还用于根据测试选项选择向测试终端请求或推送的测试用媒体流。数据处理模块还用于根据测试选项,预估下轮测试的预期第一状态数据和预期性能状态值;以及,用于根据新一轮测试得到的实际性能状态值X与上一轮测试中预估的预期性能状态值的偏差,修正权值系数,并计算得到本轮修正的实际性能状态值X’,如此迭代,直到完成满性能测试。
相应地,本公开还披露一种编解码满性能自动化测试系统实施例,该编解码满性能自动化测试系统包括:测试平台和测试终端。
测试平台配置有测试选项数据库,该测试选项数据库存储有测试终端的测试信息、测试用媒体流、以及与测试信息对应匹配的测试选项;测试选项包括编码满性能测试、解码满性能测试、以及对应的测试用媒体流数据;
测试终端包括测试触发模块,数据选择模块、状态检测模块、数据处理模块,以及性能记录数据库;其中:
性能记录数据库用于记录测试终端的第一状态数据、测试用媒体流的第二状态数据、实际性能状态值X;
测试触发模块用于判断测试类型,并根据测试信息、实际性能状态值X确定测试选项;
数据选择模块用于根据测试选项向测试终端请求或推送对应的测试用媒体流;
状态检测模块用于获取测试终端的第一状态数据和测试用媒体流的第二状态数据,并将第一状态数据和第二状态数据输出给性能记录数据库存储;
数据处理模块用于根据第一状态数据和第二状态数据,计算测试终端的实际性能状态值X,并将实际性能状态值X输出至性能记录数据库存储;
状态判断模块,用于判断实际性能状态值X是否达到预设的满性能阈值T,并在实际性能状态值X未达到满性能阈值T时,触发测试触发模块根据实际性能状态值X确定测试选项,数据选择模块进行新一轮测试;以及用于本轮测试实际性能状态值X达到满性能阈值T且本轮测试与最新一轮实际性能状态值X未达到满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为测试终端的满性能状态数据输出。
这里需要指出的是:以上实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种编解码满性能自动化测试方法,其特征在于,包括:
获取测试信息,判断测试类型,根据所述测试信息选择测试选项,根据所述测试类型和所述测试选项向测试终端请求或推送对应的测试用媒体流;
获取所述测试终端的第一状态数据和所述测试用媒体流的第二状态数据,并根据所述第一状态数据和所述第二状态数据,计算所述测试终端的实际性能状态值X,并判断所述实际性能状态值X是否达到预设的满性能阈值T,记录所述测试终端的第一状态数据;
所述实际性能状态值X未达到所述满性能阈值T时,根据所述实际性能状态值X确定所述测试选项,进行新一轮测试并得到当前轮次测试的第一状态数据,根据所述当前轮次测试得到的第一状态数据,计算所述测试终端的实际性能状态值X,并返回判断所述实际性能状态值X是否达到所述满性能阈值T,直到所述实际性能状态值X达到所述满性能阈值T;
本轮测试所述实际性能状态值X达到所述满性能阈值T,且本轮测试与最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出。
2.根据权利要求1所述的方法,其特征在于,所述将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出,进一步包括:
第N轮测试得到的实际性能状态值X达到所述满性能阈值T时,判断所述第N轮测试与最新一轮未达满性能的测试之间,是否存在未进行的测试选项;
若不存在未进行的测试选项,则将最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试中获得的第一状态数据,作为所述测试终端的满性能状态数据输出;
若存在未进行的测试选项,则根据所述第N轮测试确定的实际性能状态值X,从所述未进行的测试选项中选择所述测试用媒体流进行第N+1轮测试,若所述第N+1轮测试中计算得到的实际性能状态值X达到所述满性能阈值T,则返回判断所述第N+1轮测试与最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试之间是否存在未进行的测试选项;
若所述第N+1轮测试得到的实际性能状态值X未达到所述满性能阈值T,则判断所述第N轮测试与所述第N+1轮测试之间是否存在未进行的测试选项,若不存在未进行的测试选项,则所述第N+1轮测试得到的第一状态数据作为所述测试终端的满性能状态数据输出;
若存在未进行的测试选项,则根据所述第N+1轮测试得到的实际性能状态值X,从所述未进行的测试选项中选择所述测试用媒体流,进行第N+2轮测试,直到两次相邻的已达满性能的测试与未达满性能的测试之间不存在未进行的测试选项,并将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出。
3.根据权利要求1或2所述的编解码满性能自动化测试方法,其特征在于,所述测试信息根据被测视频会议系统的产品业务逻辑设置,预先将所述测试信息写入测试选项数据库,和/或接入所述测试选项数据库修改所述测试信息;
其中,所述测试信息包括:所述测试用媒体流的分辨率、帧率、格式、股数以及产品业务逻辑信息。
4.根据权利要求3所述的编解码满性能自动化测试方法,其特征在于,所述实际性能状态值X由所述第一状态数据和所述第二状态数据决定;其中:
所述第一状态数据包括:中央处理器CPU占用率、图形处理器GPU占用率、内存占用率、编/解码器未使用数量、以及编/解码器数据栈缓冲容量;
所述第二状态数据包括所述测试终端传输或显示的测试用媒体流解码后的分辨率和/或帧率。
5.根据权利要求4所述的编解码满性能自动化测试方法,其特征在于,所述实际性能状态值X的计算方法包括:
若所述编/解码器存在未使用的情况,则所述实际性能状态值X记为1,未达到所述满性能阈值;
若所述CPU占用率、所述GPU占用率、和/或所述内存占用率超过理想值,所述实际性能状态值X记为0,达到所述满性能阈值;
若所述编/解码器数据栈缓冲容量为0,则所述实际性能状态值X记为0,达到所述满性能阈值;
若所述测试终端传输/显示的测试用媒体流解码后的分辨率和/或帧率降低,且本轮测试与上一轮测试之间仍有未进行的测试选项,则所述实际性能状态值X记为0,达到所述满性能阈值;
除以上情况外,所述实际性能状态值X=A*(CPU理想占用-CPU占用)+B*(GPU理想占用-GPU占用)+C*(内存理想占用-内存占用)+D*(编/解码器数据栈缓冲容量),其中A、B、C、D为大于0的权值系数,所述实际性能状态值X越大,表明所述测试终端的当前状态距离编解码满性能的差距越大,所述实际性能状态值X越小,表明所述测试终端的当前状态距离编解码满性能的差距越小。
6.根据权利要求5所述的编解码满性能自动化测试方法,其特征在于,还包括:
所述权值系数配置有初始值,对应得到初始的预期性能状态值;
根据所述初始的预期性能状态值与所述实际性能状态值X的偏差,修正所述权值系数,计算得到修正的实际性能状态值X’;
根据所述得到修正的实际性能状态值X’确定所述测试选项,根据所述测试选项选择向所述测试终端请求或推送的测试用媒体流;
根据所述测试选项,预估下轮测试的预期第一状态数据和预期性能状态值;
根据新一轮测试得到的实际性能状态值X与上一轮测试中预估的预期性能状态值的偏差,修正所述权值系数,并计算得到本轮修正的实际性能状态值X’,如此迭代,直到完成满性能测试。
7.一种编解码满性能自动化测试终端,其特征在于,包括:测试触发模块,数据选择模块、状态检测模块、数据处理模块、状态判断模块、测试选项数据库以及性能记录数据库;其中:
所述测试选项数据库存储有所述测试终端的测试信息、测试用媒体流、以及与所述测试信息对应匹配的测试选项;所述测试选项包括编码满性能测试、解码满性能测试、以及对应的测试用媒体流数据;
所述性能记录数据库用于记录所述测试终端的第一状态数据、所述测试用媒体流的第二状态数据、实际性能状态值X;
所述测试触发模块用于判断测试类型,并根据所述测试信息、所述实际性能状态值X确定所述测试选项;
所述数据选择模块用于根据所述测试选项向所述测试终端请求或推送对应的测试用媒体流;
所述状态检测模块用于获取所述测试终端的第一状态数据和所述测试用媒体流的第二状态数据,并将所述第一状态数据和所述第二状态数据输出给所述性能记录数据库存储;
所述数据处理模块用于根据所述第一状态数据和所述第二状态数据,计算所述测试终端的实际性能状态值X,并将所述实际性能状态值X输出至所述性能记录数据库存储;
所述状态判断模块用于判断所述实际性能状态值X是否达到预设的满性能阈值T,并在所述实际性能状态值X未达到所述满性能阈值T时,触发所述测试触发模块根据所述实际性能状态值X确定所述测试选项,所述数据选择模块进行新一轮测试;以及用于本轮测试所述实际性能状态值X达到所述满性能阈值T且本轮测试与最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出。
8.根据权利要求7所述的编解码满性能自动化测试终端,其特征在于:
所述第一状态数据包括:中央处理器CPU占用率、图形处理器GPU占用率、内存占用率、编/解码器未使用数量、以及编/解码器数据栈缓冲容量;所述第二状态数据包括所述测试终端传输或显示的测试用媒体流解码后的分辨率和/或帧率;
所述数据处理模块进一步包括:
第一处理单元,用于在所述编/解码器存在未使用时,将所述实际性能状态值X记为1,未达到所述满性能阈值;在所述编/解码器数据栈缓冲容量为0时,则所述实际性能状态值X记为0,达到所述满性能阈值;在所述CPU占用率、所述GPU占用率、和/或所述内存占用率超过理想值时,将所述实际性能状态值X记为0,达到所述满性能阈值;以及,用于在所述测试终端传输/显示的测试用媒体流解码后的分辨率和/或帧率降低,且本轮测试与上一轮测试之间仍有未进行的测试选项,将所述实际性能状态值X记为0,达到所述满性能阈值;
第二处理单元,用于在所述第一处理单元没有计算出所述实际性能状态值X时,根据公式计算所述实际性能状态值,X=A*(CPU理想占用-CPU占用)+B*(GPU理想占用-GPU占用)+C*(内存理想占用-内存占用)+D*(编/解码器数据栈缓冲容量),其中A、B、C、D为大于0的权值系数。
9.根据权利要求8所述的编解码满性能自动化测试终端,其特征在于,还包括:
系数修正模块,用于根据初始的预期性能状态值与所述实际性能状态值X的偏差,修正所述权值系数,计算得到修正的实际性能状态值X’;其中,所述权值系数配置有初始值,对应得到所述初始的预期性能状态值;
所述测试触发模块还用于根据所述得到修正的实际性能状态值X’确定所述测试选项;
所述数据选择模块还用于根据所述测试选项选择向所述测试终端请求或推送的测试用媒体流;
所述数据处理模块还用于根据所述测试选项,预估下轮测试的预期第一状态数据和预期性能状态值;以及,用于根据新一轮测试得到的实际性能状态值X与上一轮测试中预估的预期性能状态值的偏差,修正所述权值系数,并计算得到本轮修正的实际性能状态值X’,如此迭代,直到完成满性能测试。
10.一种编解码满性能自动化测试系统,其特征在于,包括:
测试平台,配置有测试选项数据库,该测试选项数据库存储有测试终端的测试信息、测试用媒体流、以及与所述测试信息对应匹配的测试选项;所述测试选项包括编码满性能测试、解码满性能测试、以及对应的测试用媒体流数据;
测试终端,包括测试触发模块,数据选择模块、状态检测模块、数据处理模块,以及性能记录数据库;其中:
所述性能记录数据库用于记录所述测试终端的第一状态数据、所述测试用媒体流的第二状态数据、实际性能状态值X;
所述测试触发模块用于判断测试类型,并根据所述测试信息、所述实际性能状态值X确定所述测试选项;
所述数据选择模块用于根据所述测试选项向所述测试终端请求或推送对应的测试用媒体流;
所述状态检测模块用于获取所述测试终端的第一状态数据和所述测试用媒体流的第二状态数据,并将所述第一状态数据和所述第二状态数据输出给所述性能记录数据库存储;
所述数据处理模块用于根据所述第一状态数据和所述第二状态数据,计算所述测试终端的实际性能状态值X,并将所述实际性能状态值X输出至所述性能记录数据库存储;
状态判断模块,用于判断所述实际性能状态值X是否达到预设的满性能阈值T,并在所述实际性能状态值X未达到所述满性能阈值T时,触发所述测试触发模块根据所述实际性能状态值X确定所述测试选项,所述数据选择模块进行新一轮测试;以及用于本轮测试所述实际性能状态值X达到所述满性能阈值T且本轮测试与最新一轮所述实际性能状态值X未达到所述满性能阈值T的测试之间没有未进行的测试选项时,将最新一轮测试获取的第一状态数据作为所述测试终端的满性能状态数据输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110397345.5A CN112995658B (zh) | 2021-04-14 | 2021-04-14 | 一种编解码满性能的自动化测试方法、测试终端和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110397345.5A CN112995658B (zh) | 2021-04-14 | 2021-04-14 | 一种编解码满性能的自动化测试方法、测试终端和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995658A CN112995658A (zh) | 2021-06-18 |
CN112995658B true CN112995658B (zh) | 2021-08-03 |
Family
ID=76338303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110397345.5A Active CN112995658B (zh) | 2021-04-14 | 2021-04-14 | 一种编解码满性能的自动化测试方法、测试终端和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995658B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771576A (zh) * | 2008-12-31 | 2010-07-07 | 华为技术有限公司 | 一种测试的方法、装置和系统 |
CN102737681A (zh) * | 2012-05-02 | 2012-10-17 | 中国联合网络通信集团有限公司 | 流媒体播放器的性能测试方法及装置 |
CN103997643A (zh) * | 2014-06-06 | 2014-08-20 | 北京安兔兔科技有限公司 | 视频播放性能测试方法及装置 |
CN111953966A (zh) * | 2020-08-11 | 2020-11-17 | 广州市百果园信息技术有限公司 | 一种编码测试的方法、装置、服务器和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419785B2 (en) * | 2017-07-21 | 2019-09-17 | Cisco Technology, Inc. | Distributed learning video encoder/decoder |
-
2021
- 2021-04-14 CN CN202110397345.5A patent/CN112995658B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771576A (zh) * | 2008-12-31 | 2010-07-07 | 华为技术有限公司 | 一种测试的方法、装置和系统 |
CN102737681A (zh) * | 2012-05-02 | 2012-10-17 | 中国联合网络通信集团有限公司 | 流媒体播放器的性能测试方法及装置 |
CN103997643A (zh) * | 2014-06-06 | 2014-08-20 | 北京安兔兔科技有限公司 | 视频播放性能测试方法及装置 |
CN111953966A (zh) * | 2020-08-11 | 2020-11-17 | 广州市百果园信息技术有限公司 | 一种编码测试的方法、装置、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112995658A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11126595B2 (en) | Network coded storage with multi-resolution codes | |
CN101842812B (zh) | 用于数字图像转码中的参数质量感知选择的系统和方法 | |
JP2020096342A (ja) | 動画を処理するための方法および装置 | |
EP2805325B1 (en) | Devices, methods and computer-program product for redundant frame coding and decoding | |
US20030204519A1 (en) | Encoding and transferring media content onto removable storage | |
US20090300015A1 (en) | Aging and compressing multimedia content | |
US20120304235A1 (en) | Method and system for playing video file, and media resource server | |
CN111601102B (zh) | 一种直播卡顿的检测方法及系统 | |
CN103379379B (zh) | 流媒体缓冲播放方法和装置 | |
US10476928B2 (en) | Network video playback method and apparatus | |
US20060159352A1 (en) | Method and apparatus for encoding a video sequence | |
CN112929234A (zh) | 云流服务器 | |
CN110795166A (zh) | 一种数据处理方法及装置 | |
EP4395314A1 (en) | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium | |
CN112995658B (zh) | 一种编解码满性能的自动化测试方法、测试终端和系统 | |
CN111163335A (zh) | 一种分布式服务器的视频处理方法及装置 | |
US8812584B2 (en) | Moving picture file transmitting server and method of controlling operation of same | |
CN106603653A (zh) | 一种新闻推送方法及装置 | |
JP7253574B2 (ja) | 情報処理装置、サーバ装置及び情報処理システム | |
CN117241106A (zh) | 资源处理方法及装置 | |
US20170374432A1 (en) | System and method for adaptive video streaming with quality equivalent segmentation and delivery | |
CN114173154B (zh) | 视频处理方法及系统 | |
CN110856034A (zh) | 一种视频文件的缓存方法及系统 | |
WO2005101846A1 (en) | Method and apparatus for buffer management | |
CN111381973A (zh) | 一种语音数据处理方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |