CN113395512A - 卡顿检测方法、装置、卡顿检测服务器及存储介质 - Google Patents
卡顿检测方法、装置、卡顿检测服务器及存储介质 Download PDFInfo
- Publication number
- CN113395512A CN113395512A CN202110583502.1A CN202110583502A CN113395512A CN 113395512 A CN113395512 A CN 113395512A CN 202110583502 A CN202110583502 A CN 202110583502A CN 113395512 A CN113395512 A CN 113395512A
- Authority
- CN
- China
- Prior art keywords
- detection result
- stuck
- cloud application
- parameter information
- detection
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 1030
- 238000000034 method Methods 0.000 claims abstract description 173
- 230000008569 process Effects 0.000 claims abstract description 139
- 238000009877 rendering Methods 0.000 claims description 360
- 230000004044 response Effects 0.000 claims description 122
- 230000015654 memory Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 36
- 238000012549 training Methods 0.000 description 34
- 230000000903 blocking effect Effects 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 14
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
- H04N17/004—Diagnosis, testing or measuring for television systems or their details for digital television systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开关于一种卡顿检测方法、装置、卡顿检测服务器及存储介质,属于计算机技术领域。该卡顿检测方法包括:获取云应用服务器的第一参数信息,第一参数信息包括云应用服务器在生成云应用的视频流的过程中的性能参数;获取终端的第二参数信息,第二参数信息包括终端在播放视频流的过程中的性能参数,其中,视频流由云应用服务器向终端发送;基于第一参数信息和第二参数信息进行卡顿检测,得到卡顿检测结果,卡顿检测结果表征云应用是否发生卡顿。本公开从多个角度获取参数信息,更加全面的表征云应用服务器在生成云应用的视频流的过程中的处理性能和终端在播放视频流的过程中的处理性能,进而更加细致准确的确定云应用是否发生卡顿,提高了准确性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种卡顿检测方法、装置、卡顿检测服务器及存储介质。
背景技术
计算机技术的发展推动了云应用的普及,云应用的工作原理是将传统应用“本地安装、本地运算”的使用方式变为“即取即用”的服务,通过互联网或局域网连接并操控远程服务器集群,完成业务逻辑或运算任务的一种新型应用。云应用的跨平台特性不但可以帮助用户降低使用成本,更能大大提高工作效率。
云应用在运行过程中可能会出现卡顿,影响用户的正常使用。而减少卡顿的前提是需要准确检测出云应用是否出现卡顿。相关技术中,在云应用的运行过程中,云应用服务器生成云应用的视频流,向终端发送该视频流。终端接收并播放该视频流,对该视频流进行卡顿检测,得到卡顿检测结果。但是检测的对象仅是终端播放的视频流,卡顿检测结果不够准确。
发明内容
本公开提供了一种卡顿检测方法、装置、卡顿检测服务器及存储介质,能够提高卡顿检测的准确性。
根据本公开实施例的一方面,提供一种卡顿检测方法,所述卡顿检测方法包括:
获取云应用服务器的第一参数信息,所述第一参数信息包括所述云应用服务器在生成云应用的视频流的过程中的性能参数;
获取终端的第二参数信息,所述第二参数信息包括所述终端在播放所述视频流的过程中的性能参数,其中,所述视频流由所述云应用服务器向所述终端发送;
基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,所述卡顿检测结果表征所述云应用是否发生卡顿。
在一些实施例中,所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,包括:
基于所述第一参数信息进行卡顿检测,得到第一检测结果;
基于所述第二参数信息进行卡顿检测,得到第二检测结果;
响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿。
在一些实施例中,所述响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,包括:
响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定卡顿原因。
在一些实施例中,所述第一检测结果和所述第二检测结果中的任一个检测结果为所述第一目标检测结果或者第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿;
所述卡顿原因包括第一卡顿原因和第二卡顿原因中的至少一个,所述第一卡顿原因表征所述云应用发生卡顿是所述云应用服务器性能不足导致的,所述第二卡顿原因表征所述云应用发生卡顿是所述终端性能不足导致的;
所述响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定卡顿原因,包括:
响应于所述第一检测结果为所述第一目标检测结果,且所述第二检测结果为所述第二目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定所述卡顿原因包括所述第一卡顿原因;或者,
响应于所述第一检测结果为所述第二目标检测结果,且所述第二检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定所述卡顿原因包括所述第二卡顿原因;或者,
响应于所述第一检测结果为所述第一目标检测结果,且所述第二检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定所述卡顿原因包括所述第一卡顿原因和所述第二卡顿原因。
在一些实施例中,所述第一参数信息包括第一渲染帧率,所述第一渲染帧率表征所述云应用服务器单位时间内渲染的视频帧的数量;
所述基于所述第一参数信息进行卡顿检测,得到第一检测结果,包括:
响应于所述第一渲染帧率小于参考渲染帧率,确定所述第一检测结果为所述第一目标检测结果,所述参考渲染帧率表征所述云应用服务器在渲染所述云应用的视频帧时应达到的渲染帧率;或者,
响应于所述第一渲染帧率不小于所述参考渲染帧率,确定所述第一检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述响应于所述第一渲染帧率小于参考渲染帧率,确定所述第一检测结果为所述第一目标检测结果,包括:
响应于所述第一渲染帧率小于所述参考渲染帧率,确定所述第一检测结果为所述第一目标检测结果,并确定卡顿原因包括所述云应用服务器渲染性能不足。
在一些实施例中,所述第一目标检测结果包括第三目标检测结果、第四目标检测结果和第五目标检测结果,所述第三目标检测结果表征所述云应用发生轻微卡顿,所述第四目标检测结果表征所述云应用发生严重卡顿,所述第五目标检测结果表征所述云应用发生异常卡顿;
所述响应于所述第一渲染帧率小于参考渲染帧率,确定所述第一检测结果为所述第一目标检测结果,包括:
响应于所述第一渲染帧率小于所述参考渲染帧率,且所述第一渲染帧率与所述参考渲染帧率之间的帧率差值在第一帧率范围内,确定所述第一检测结果为所述第三目标检测结果;或者,
响应于所述第一渲染帧率小于所述参考渲染帧率,且所述第一渲染帧率与所述参考渲染帧率之间的帧率差值在第二帧率范围内,确定所述第一检测结果为所述第四目标检测结果;或者,
响应于所述第一渲染帧率小于所述参考渲染帧率,且所述第一渲染帧率与所述参考渲染帧率之间的帧率差值在第三帧率范围内,确定所述第一检测结果为所述第五目标检测结果;
其中,所述第一帧率范围的上限小于所述第二帧率范围的下限,所述第二帧率范围的上限小于所述第三帧率范围的下限。
在一些实施例中,所述卡顿检测方法还包括:
基于所述云应用服务器的设备类型、所述云应用的应用类型以及所述云应用显示的场景中的至少一项,确定所述参考渲染帧率。
在一些实施例中,所述基于所述云应用服务器的设备类型、所述云应用的应用类型以及所述云应用显示的场景中的至少一项,确定所述参考渲染帧率,包括:
将所述设备类型、所述应用类型和所述场景输入帧率预测模型,基于所述帧率预测模型获取所述参考渲染帧率。
在一些实施例中,所述帧率预测模型的训练过程包括:
获取训练样本,所述训练样本包括样本设备类型、样本应用类型、样本场景以及样本渲染帧率;
基于所述训练样本,训练所述帧率预测模型;
其中,属于所述样本设备类型的样本服务器中运行属于所述样本应用类型的样本云应用,在所述样本云应用显示所述样本场景且未发生卡顿的情况下,所述样本服务器在生成所述样本场景对应的视频帧的过程中的渲染帧率为所述样本渲染帧率。
在一些实施例中,所述第一参数信息包括单帧编码耗时,所述单帧编码耗时表征所述云应用服务器在采集到视频帧后编码所述视频帧所消耗的时长;
所述基于所述第一参数信息进行卡顿检测,得到第一检测结果,包括:
响应于所述单帧编码耗时大于所述视频帧对应的采集时间间隔,确定所述第一检测结果为所述第一目标检测结果,所述采集时间间隔为所述云应用服务器采集所述视频帧的时间与所述云应用服务器采集所述视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于所述单帧编码耗时不大于所述采集时间间隔,确定所述第一检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述响应于所述单帧编码耗时大于所述视频帧对应的采集时间间隔,确定所述第一检测结果为所述第一目标检测结果,包括:
响应于所述单帧编码耗时大于所述采集时间间隔,确定所述第一检测结果为所述第一目标检测结果,并确定卡顿原因包括所述云应用服务器编码性能不足。
在一些实施例中,所述第二参数信息包括单帧解码耗时,所述单帧解码耗时表征所述终端在接收到所述云应用服务器发送的视频帧后解码所述视频帧所消耗的时长;
所述基于所述第二参数信息进行卡顿检测,得到第二检测结果,包括:
响应于所述单帧解码耗时大于所述视频帧对应的采集时间间隔,确定所述第二检测结果为所述第一目标检测结果,所述采集时间间隔为所述云应用服务器采集所述视频帧的时间与所述云应用服务器采集所述视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于所述单帧解码耗时不大于所述采集时间间隔,确定所述第二检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述响应于所述单帧解码耗时大于所述视频帧对应的采集时间间隔,确定所述第二检测结果为所述第一目标检测结果,包括:
响应于所述单帧解码耗时大于所述采集时间间隔,确定所述第二检测结果为所述第一目标检测结果,并确定卡顿原因包括所述终端解码性能不足。
在一些实施例中,所述基于所述第二参数信息进行卡顿检测,得到第二检测结果,包括:
响应于从所述第二参数信息中查询到渲染丢帧信息,确定所述第二检测结果为所述第一目标检测结果,其中,所述渲染丢帧信息表征所述终端不渲染目标视频帧,所述目标视频帧为已解码完成但应在当前时刻之前进行渲染的视频帧;或者,
响应于未从所述第二参数信息中查询到所述渲染丢帧信息,确定所述第二检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述响应于从所述第二参数信息中查询到渲染丢帧信息,确定所述第二检测结果为所述第一目标检测结果,包括:
响应于从所述第二参数信息中查询到所述渲染丢帧信息,确定所述第二检测结果为所述第一目标检测结果,并确定卡顿原因包括所述终端渲染性能不足。
在一些实施例中,所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,所述卡顿检测结果表征所述云应用是否发生卡顿,包括:
将所述第一参数信息与所述第二参数信息进行对比,基于对比结果获取所述卡顿检测结果。
在一些实施例中,所述第一参数信息包括采集帧率,所述采集帧率表征所述云应用服务器单位时间内采集的视频帧的数量,所述云应用服务器用于在渲染所述云应用的视频帧后采集所渲染的视频帧;
所述第二参数信息包括第二渲染帧率,所述第二渲染帧率表征所述终端单位时间内渲染的视频帧的数量,所述终端用于在接收到所述云应用服务器发送的视频帧后渲染接收到的视频帧;
所述将所述第一参数信息与所述第二参数信息进行对比,基于对比结果获取所述卡顿检测结果,包括:
响应于所述采集帧率与所述第二渲染帧率之间的差值大于参考阈值,确定所述卡顿检测结果为第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿;或者,
响应于所述采集帧率与所述第二渲染帧率之间的差值不大于所述参考阈值,确定所述卡顿检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果之前,所述卡顿检测方法还包括:
获取第三参数信息,所述第三参数信息包括所述云应用服务器通过网络向所述终端发送所述视频流的过程中所述网络的性能参数;
所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,包括:
基于所述第一参数信息进行卡顿检测,得到第一检测结果;
基于所述第二参数信息进行卡顿检测,得到第二检测结果;
基于所述第三参数信息进行卡顿检测,得到第三检测结果;
响应于所述第一检测结果、所述第二检测结果和所述第三检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿。
在一些实施例中,所述第三参数信息包括发送耗时,所述发送耗时表征所述云应用服务器生成的视频帧从所述云应用服务器发送至所述终端所消耗的时长;
所述基于所述第三参数信息进行卡顿检测,得到第三检测结果,包括:
响应于所述视频帧的发送耗时大于所述视频帧对应的采集时间间隔,确定所述第三检测结果为所述第一目标检测结果,所述采集时间间隔为所述云应用服务器采集所述视频帧的时间与所述云应用服务器采集所述视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于所述视频帧的发送耗时不大于所述采集时间间隔,确定所述第三检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述响应于所述视频帧的发送耗时大于所述视频帧对应的采集时间间隔,确定所述第三检测结果为所述第一目标检测结果,包括:
响应于所述视频帧的发送耗时大于所述采集时间间隔,确定所述第三检测结果为所述第一目标检测结果,并确定卡顿原因包括网络发送速度过慢。
在一些实施例中,所述基于所述第三参数信息进行卡顿检测,得到第三检测结果,包括:
响应于从所述第三参数信息中查询到帧丢失信息,确定所述第三检测结果为所述第一目标检测结果,所述帧丢失信息表征所述终端未接收到所述云应用服务器向所述终端发送的视频帧;或者,
响应于未从所述第三参数信息中查询到所述帧丢失信息,确定所述第三检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述响应于从所述第三参数信息中查询到帧丢失信息,确定所述第三检测结果为所述第一目标检测结果,包括:
响应于从所述第三参数信息中查询到所述帧丢失信息,确定所述第三检测结果为所述第一目标检测结果,并确定卡顿原因包括网络丢包。
根据本公开实施例的再一方面,提供一种卡顿检测装置,所述卡顿检测装置包括:
第一参数信息获取单元,被配置为执行获取云应用服务器的第一参数信息,所述第一参数信息包括所述云应用服务器在生成云应用的视频流的过程中的性能参数;
第二参数信息获取单元,被配置为执行获取终端的第二参数信息,所述第二参数信息包括所述终端在播放所述视频流的过程中的性能参数,其中,所述视频流由所述云应用服务器向所述终端发送;
卡顿检测单元,被配置为执行基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,所述卡顿检测结果表征所述云应用是否发生卡顿。
在一些实施例中,所述卡顿检测单元,包括:
第一卡顿检测子单元,被配置为执行基于所述第一参数信息进行卡顿检测,得到第一检测结果;
第二卡顿检测子单元,被配置为执行基于所述第二参数信息进行卡顿检测,得到第二检测结果;
检测结果确定子单元,被配置为执行响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿。
在一些实施例中,所述检测结果确定子单元,被配置为执行:
响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定卡顿原因。
在一些实施例中,所述第一检测结果和所述第二检测结果中的任一个检测结果为所述第一目标检测结果或者第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿;
所述卡顿原因包括第一卡顿原因和第二卡顿原因中的至少一个,所述第一卡顿原因表征所述云应用发生卡顿是所述云应用服务器性能不足导致的,所述第二卡顿原因表征所述云应用发生卡顿是所述终端性能不足导致的;
所述检测结果确定子单元,被配置为执行:
响应于所述第一检测结果为所述第一目标检测结果,且所述第二检测结果为所述第二目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定所述卡顿原因包括所述第一卡顿原因;或者,
响应于所述第一检测结果为所述第二目标检测结果,且所述第二检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定所述卡顿原因包括所述第二卡顿原因;或者,
响应于所述第一检测结果为所述第一目标检测结果,且所述第二检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定所述卡顿原因包括所述第一卡顿原因和所述第二卡顿原因。
在一些实施例中,所述第一参数信息包括第一渲染帧率,所述第一渲染帧率表征所述云应用服务器单位时间内渲染的视频帧的数量;
所述第一卡顿检测子单元,被配置为执行:
响应于所述第一渲染帧率小于参考渲染帧率,确定所述第一检测结果为所述第一目标检测结果,所述参考渲染帧率表征所述云应用服务器在渲染所述云应用的视频帧时应达到的渲染帧率;或者,
响应于所述第一渲染帧率不小于所述参考渲染帧率,确定所述第一检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述第一卡顿检测子单元,被配置为执行:
响应于所述第一渲染帧率小于所述参考渲染帧率,确定所述第一检测结果为所述第一目标检测结果,并确定卡顿原因包括所述云应用服务器渲染性能不足。
在一些实施例中,所述第一目标检测结果包括第三目标检测结果、第四目标检测结果和第五目标检测结果,所述第三目标检测结果表征所述云应用发生轻微卡顿,所述第四目标检测结果表征所述云应用发生严重卡顿,所述第五目标检测结果表征所述云应用发生异常卡顿;
所述第一卡顿检测子单元,被配置为执行:
响应于所述第一渲染帧率小于所述参考渲染帧率,且所述第一渲染帧率与所述参考渲染帧率之间的帧率差值在第一帧率范围内,确定所述第一检测结果为所述第三目标检测结果;或者,
响应于所述第一渲染帧率小于所述参考渲染帧率,且所述第一渲染帧率与所述参考渲染帧率之间的帧率差值在第二帧率范围内,确定所述第一检测结果为所述第四目标检测结果;或者,
响应于所述第一渲染帧率小于所述参考渲染帧率,且所述第一渲染帧率与所述参考渲染帧率之间的帧率差值在第三帧率范围内,确定所述第一检测结果为所述第五目标检测结果;
其中,所述第一帧率范围的上限小于所述第二帧率范围的下限,所述第二帧率范围的上限小于所述第三帧率范围的下限。
在一些实施例中,所述卡顿检测装置还包括:
渲染帧率确定单元,被配置为执行基于所述云应用服务器的设备类型、所述云应用的应用类型以及所述云应用显示的场景中的至少一项,确定所述参考渲染帧率。
在一些实施例中,所述渲染帧率确定单元,被配置为执行:
将所述设备类型、所述应用类型和所述场景输入帧率预测模型,基于所述帧率预测模型获取所述参考渲染帧率。
在一些实施例中,所述帧率预测模型的训练过程包括:
获取训练样本,所述训练样本包括样本设备类型、样本应用类型、样本场景以及样本渲染帧率;
基于所述训练样本,训练所述帧率预测模型;
其中,属于所述样本设备类型的样本服务器中运行属于所述样本应用类型的样本云应用,在所述样本云应用显示所述样本场景且未发生卡顿的情况下,所述样本服务器在生成所述样本场景对应的视频帧的过程中的渲染帧率为所述样本渲染帧率。
在一些实施例中,所述第一参数信息包括单帧编码耗时,所述单帧编码耗时表征所述云应用服务器在采集到视频帧后编码所述视频帧所消耗的时长;
所述第一卡顿检测子单元,被配置为执行:
响应于所述单帧编码耗时大于所述视频帧对应的采集时间间隔,确定所述第一检测结果为所述第一目标检测结果,所述采集时间间隔为所述云应用服务器采集所述视频帧的时间与所述云应用服务器采集所述视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于所述单帧编码耗时不大于所述采集时间间隔,确定所述第一检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述第一卡顿检测子单元,被配置为执行:
响应于所述单帧编码耗时大于所述采集时间间隔,确定所述第一检测结果为所述第一目标检测结果,并确定卡顿原因包括所述云应用服务器编码性能不足。
在一些实施例中,所述第二参数信息包括单帧解码耗时,所述单帧解码耗时表征所述终端在接收到所述云应用服务器发送的视频帧后解码所述视频帧所消耗的时长;
所述第二卡顿检测子单元,被配置为执行:
响应于所述单帧解码耗时大于所述视频帧对应的采集时间间隔,确定所述第二检测结果为所述第一目标检测结果,所述采集时间间隔为所述云应用服务器采集所述视频帧的时间与所述云应用服务器采集所述视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于所述单帧解码耗时不大于所述采集时间间隔,确定所述第二检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述第二卡顿检测子单元,被配置为执行:
响应于所述单帧解码耗时大于所述采集时间间隔,确定所述第二检测结果为所述第一目标检测结果,并确定卡顿原因包括所述终端解码性能不足。
在一些实施例中,所述第二卡顿检测子单元,被配置为执行:
响应于从所述第二参数信息中查询到渲染丢帧信息,确定所述第二检测结果为所述第一目标检测结果,其中,所述渲染丢帧信息表征所述终端不渲染目标视频帧,所述目标视频帧为已解码完成但应在当前时刻之前进行渲染的视频帧;或者,
响应于未从所述第二参数信息中查询到所述渲染丢帧信息,确定所述第二检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述第二卡顿检测子单元,被配置为执行:
响应于从所述第二参数信息中查询到所述渲染丢帧信息,确定所述第二检测结果为所述第一目标检测结果,并确定卡顿原因包括所述终端渲染性能不足。
在一些实施例中,所述卡顿检测单元,被配置为执行:
将所述第一参数信息与所述第二参数信息进行对比,基于对比结果获取所述卡顿检测结果。
在一些实施例中,所述第一参数信息包括采集帧率,所述采集帧率表征所述云应用服务器单位时间内采集的视频帧的数量,所述云应用服务器用于在渲染所述云应用的视频帧后采集所渲染的视频帧;
所述第二参数信息包括第二渲染帧率,所述第二渲染帧率表征所述终端单位时间内渲染的视频帧的数量,所述终端用于在接收到所述云应用服务器发送的视频帧后渲染接收到的视频帧;
所述卡顿检测单元,被配置为执行:
响应于所述采集帧率与所述第二渲染帧率之间的差值大于参考阈值,确定所述卡顿检测结果为第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿;或者,
响应于所述采集帧率与所述第二渲染帧率之间的差值不大于所述参考阈值,确定所述卡顿检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述卡顿检测装置还包括:
第三参数信息获取单元,被配置为执行获取第三参数信息,所述第三参数信息包括所述云应用服务器通过网络向所述终端发送所述视频流的过程中所述网络的性能参数;
所述卡顿检测单元,包括:
第一卡顿检测子单元,被配置为执行基于所述第一参数信息进行卡顿检测,得到第一检测结果;
第二卡顿检测子单元,被配置为执行基于所述第二参数信息进行卡顿检测,得到第二检测结果;
第三卡顿检测子单元,被配置为执行基于所述第三参数信息进行卡顿检测,得到第三检测结果;
检测结果确定子单元,被配置为执行响应于所述第一检测结果、所述第二检测结果和所述第三检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿。
在一些实施例中,所述第三参数信息包括发送耗时,所述发送耗时表征所述云应用服务器生成的视频帧从所述云应用服务器发送至所述终端所消耗的时长;
所述第三卡顿检测子单元,被配置为执行:
响应于所述视频帧的发送耗时大于所述视频帧对应的采集时间间隔,确定所述第三检测结果为所述第一目标检测结果,所述采集时间间隔为所述云应用服务器采集所述视频帧的时间与所述云应用服务器采集所述视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于所述视频帧的发送耗时不大于所述采集时间间隔,确定所述第三检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述第三卡顿检测子单元,被配置为执行:
响应于所述视频帧的发送耗时大于所述采集时间间隔,确定所述第三检测结果为所述第一目标检测结果,并确定卡顿原因包括网络发送速度过慢。
在一些实施例中,所述第三卡顿检测子单元,被配置为执行:
响应于从所述第三参数信息中查询到帧丢失信息,确定所述第三检测结果为所述第一目标检测结果,所述帧丢失信息表征所述终端未接收到所述云应用服务器向所述终端发送的视频帧;或者,
响应于未从所述第三参数信息中查询到所述帧丢失信息,确定所述第三检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
在一些实施例中,所述第三卡顿检测子单元,被配置为执行:
响应于从所述第三参数信息中查询到所述帧丢失信息,确定所述第三检测结果为所述第一目标检测结果,并确定卡顿原因包括网络丢包。
根据本公开实施例的再一方面,提供了一种卡顿检测服务器,所述卡顿检测服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的存储器;
其中,所述一个或多个处理器被配置为执行上述方面所述的卡顿检测方法。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由卡顿检测服务器的处理器执行时,使得卡顿检测服务器能够执行上述方面所述的卡顿检测方法。
根据本公开实施例的再一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被处理器执行以实现上述方面所述的卡顿检测方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
针对云应用的视频流的生成过程和云应用的视频流的播放过程,从多个角度获取参数信息,由于从多个角度获取到的参数信息能够更加全面的表征云应用服务器在生成云应用的视频流的过程中的处理性能以及终端在播放云应用的视频流的过程中的处理性能,进而基于获取到的参数信息,能够更加细致准确的确定云应用是否发生卡顿,提高了卡顿检测的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种实施环境的示意图。
图2是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图3是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图4是根据一示例性实施例示出的一种云应用的实现过程的示意图。
图5是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图6是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图7是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图8是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图9是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图10是根据一示例性实施例示出的一种视频帧编码的示意图。
图11是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图12是根据一示例性实施例示出的一种视频帧发送的示意图。
图13是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图14是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图15是根据一示例性实施例示出的一种视频帧解码的示意图。
图16是根据一示例性实施例示出的一种卡顿检测方法的流程图。
图17是根据一示例性实施例示出的一种视频帧渲染的示意图。
图18是根据一示例性实施例示出的一种确定卡顿原因的示意图。
图19是根据一示例性实施例示出的一种恒定帧率的视频帧序列的示意图。
图20是根据一示例性实施例示出的一种可变帧率的视频帧序列的示意图。
图21是根据一示例性实施例示出的一种卡顿检测装置的框图。
图22是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图说明中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
为了方便理解,下面对本公开实施例中涉及到的一些技术进行解释说明。
(1)云应用
云应用是一种运行在云应用服务器上,利用云应用服务器的图形处理和数据运算能力运行的应用程序。其中,云应用包括云游戏、云图像处理应用、云视频处理应用等各类应用程序,但并不局限于此。在云应用的实现场景中,云应用服务器运行云应用,渲染出云应用的运行画面,采集所渲染的运行画面,对采集到的运行画面进行编码,向终端发送编码后的运行画面;终端接收云应用服务器发送的编码后的运行画面,对接收到的运行画面进行解码,渲染出解码后的运行画面,从而实现终端对云应用的运行画面的显示。另外,终端在显示云应用的运行画面的同时,还显示操作按钮,响应于对操作按钮的控制操作,向云应用服务器发送操作指令,以使云应用服务器基于操作指令运行云应用。其中,云应用的运行画面是指由云应用运行产生的的画面,例如,若云应用为云游戏,云游戏的运行画面为表征当前游戏进程的游戏画面。
在上述云应用的实现场景中,云应用服务器在云应用的运行过程中,持续向终端发送的编码后的运行画面,从而形成云应用的视频流,云应用的运行画面也可以称为是云应用的视频流中的视频帧,上述云应用服务器运行云应用,渲染出云应用的运行画面,采集所渲染的运行画面,对采集到的运行画面进行编码的过程也即是云应用服务器生成云应用的视频流的过程,终端接收云应用服务器发送的编码后的运行画面,对接收到的运行画面进行解码,渲染出解码后的运行画面的过程也即是终端播放视频流的过程。在上述云应用的实现场景中,图形处理和数据运算能力较弱的终端也能够显示对图形处理和数据运算能力要求较高的云应用的运行画面,对图形处理和数据运算能力要求较高的应用程序的应用范围得到了有效的扩展。
在一些实施例中,云应用的应用类型为游戏类型,该游戏类型的云应用也即是云游戏。在云游戏的实现场景中,终端上设有客户端,例如,该客户端为浏览器或者云游戏入口客户端。终端通过运行该客户端,显示云游戏入口界面,该云游戏入口界面包括多个云游戏的启动入口;终端响应于对任一云游戏的启动入口的交互操作,向云应用服务器发送云游戏启动请求,该云游戏启动请求用于请求云应用服务器运行该云游戏;云应用服务器接收该云游戏启动请求,运行该云游戏,将云游戏运行生成的游戏画面转换为视频流,传输至终端;终端解析该视频流,显示游戏画面,在游戏画面上显示操作按钮;终端响应于对操作按钮的控制操作,向云应用服务器传输操作指令;云应用服务器基于该操作指令,继续运行云游戏,将云游戏运行生成的游戏画面转换为视频流,传输至终端;终端继续解析该视频流,显示游戏画面,以此类推。另外,终端还响应于指示云游戏结束运行的控制操作,结束显示该云游戏的游戏画面,向云应用服务器发送结束运行指令,云应用服务器基于该结束运行指令,停止运行该云游戏。
(2)卡顿
卡顿是指画面显示过程中出现的画面滞帧现象。在本公开实施例中,云应用卡顿是指在云应用服务器或者终端展现过程中出现的视频帧的滞帧现象。其中,在云应用服务器中出现的视频帧的滞帧现象是指云应用服务器未按时完成对该视频帧的处理。终端展现过程中出现的视频帧的滞帧现象是指视频帧未在该视频帧对应的目标渲染时刻进行渲染,其中,目标渲染时刻是指应渲染该视频帧的时刻。
图1是根据一示例性实施例示出的一种实施环境的示意图,参见图1,该实施环境包括终端101、云应用服务器102和卡顿检测服务器103。
其中,终端101为智能手机、平板电脑、笔记本电脑、台式计算机或者智能电视等,但并不局限于此。终端101与云应用服务器102通过有线或无线通信方式进行直接或间接的连接。云应用服务器102为终端101向用户展示云应用的视频流提供后台服务。其中,云应用服务器102为一台服务器、多台服务器、云服务器、云计算平台或者虚拟化中心,本公开实施例对此不加以限定。
卡顿检测服务器103具有检测云应用是否发生卡顿的功能,卡顿检测服务器103与终端101通过有线或无线通信方式进行直接或间接的连接,卡顿检测服务器103与云应用服务器102通过有线或无线通信方式进行直接或间接的连接。卡顿检测服务器103接收终端101和云应用服务器102上传的与云应用相关的参数信息,基于接收到的参数信息,确定云游戏是否发生卡顿。其中,卡顿检测服务器103为一台服务器、多台服务器、云服务器、云计算平台或者虚拟化中心,本公开实施例对此不加以限定。
图2是根据一示例性实施例示出的一种卡顿检测方法的流程图,下面结合图2,对该卡顿检测方法进行简要说明,参见图2,该卡顿检测方法由卡顿检测服务器执行,包括以下步骤:
201、获取云应用服务器的第一参数信息,第一参数信息包括云应用服务器在生成云应用的视频流的过程中的性能参数。
云应用服务器运行云应用,渲染该云应用的视频帧,采集所渲染的视频帧,对采集到的视频帧进行编码,从而生成云应用的视频流。第一参数信息包括的性能参数表征云应用服务器在上述生成云应用的视频流的过程中表现出的处理性能。云应用服务器在生成云应用的视频流的过程中记录第一参数信息,向卡顿检测服务器发送该第一参数信息,从而卡顿检测服务器获取到云应用服务器的第一参数信息。
202、获取终端的第二参数信息,第二参数信息包括终端在播放视频流的过程中的性能参数,其中,该视频流由云应用服务器向终端发送。
云应用服务器在生成云应用的视频流之后,向终端发送该视频流,终端接收云应用服务器发送的视频流,通过对该视频流中的视频帧进行解码进而渲染解码后的视频帧,实现视频流的播放。第二参数信息包括的性能参数表征终端在上述视频流播放过程中表现出的处理性能。终端在播放视频流的过程中记录第二参数信息,向卡顿检测服务器发送该第一参数信息,从而卡顿检测服务器获取到终端的第二参数信息。
203、基于第一参数信息和第二参数信息进行卡顿检测,得到卡顿检测结果,该卡顿检测结果表征云应用是否发生卡顿。
卡顿检测服务器结合第一参数信息和第二参数信息,确定在云应用服务器按照其所表现的处理性能生成云应用的视频流,终端按照其所表现的处理性能播放视频流的情况下,云应用是否会发生卡顿,从而得到卡顿检测结果。
本公开实施例提供的技术方案,针对云应用的视频流的生成过程和云应用的视频流的播放过程,从多个角度获取参数信息,由于从多个角度获取到的参数信息能够更加全面的表征云应用服务器在生成云应用的视频流的过程中的处理性能以及终端在播放云应用的视频流的过程中的处理性能,进而基于获取到的参数信息,能够更加细致准确的确定云应用是否发生卡顿,提高了卡顿检测的准确性。
图3是根据一示例性实施例示出的一种卡顿检测方法的流程图,下面结合图3,对该卡顿检测方法进行详细说明,参见图3,该卡顿检测方法由卡顿检测服务器执行,包括以下步骤:
301、卡顿检测服务器获取云应用服务器的第一参数信息,第一参数信息包括云应用服务器在生成云应用的视频流的过程中的性能参数。
参见图4,云应用服务器生成云应用的视频流的过程包括云应用的视频帧渲染、视频帧采集和视频帧编码等过程,相应的,第一参数信息包括云应用服务器在视频帧渲染的过程中的性能参数、在视频帧采集的过程中的性能参数和在视频帧编码的过程中的性能参数中的至少一项。
其中,云应用服务器在视频帧渲染的过程中的性能参数包括第一渲染帧率,第一渲染帧率表征云应用服务器单位时间内渲染的视频帧的数量。云应用服务器在渲染云应用的视频帧后,采集所渲染的视频帧,相应的,云应用服务器在视频帧采集的过程中的性能参数包括采集帧率,采集帧率表征云应用服务器单位时间内采集的视频帧的数量。云应用服务器在视频帧编码的过程中的性能参数包括单帧编码耗时,单帧编码耗时表征云应用服务器在采集到视频帧后,编码该视频帧所消耗的时长。
302、卡顿检测服务器获取终端的第二参数信息,第二参数信息包括终端在播放视频流的过程中的性能参数,其中,该视频流由云应用服务器向终端发送。
继续参见图4,终端播放视频流的过程包括视频帧解码和视频帧渲染显示等过程,相应的,第二参数信息包括终端在视频帧解码的过程中的性能参数、终端在视频帧渲染显示的过程中的性能参数中的至少一项。
其中,终端在视频帧解码的过程中的性能参数包括单帧解码耗时,单帧解码耗时表征终端在接收到云应用服务器发送的视频帧后,解码视频帧所消耗的时长。终端对云应用服务器发送视频帧进行解码后,渲染解码后的视频帧,相应的,终端在视频帧渲染显示的过程中的性能参数包括第二渲染帧率,第二渲染帧率表征终端单位时间内渲染的视频帧的数量。
终端按照多个视频帧的排列顺序,在各视频帧对应的目标渲染时刻,渲染各视频帧。在一些实施例中,终端渲染视频帧的速度较慢,那么在当前时刻还未渲染的视频帧的数量会过多,并且,部分还未渲染视频帧对应的目标渲染时刻在当前时刻之前,也就是说,当前时刻还有多个应已渲染完成但还未渲染的视频帧,为了将云应用服务器生成的视频帧尽可能实时的展示给用户,终端在当前时刻,直接渲染目标渲染时刻为当前时刻的视频帧,而不对目标渲染时刻在当前时刻之前的视频帧进行渲染,这种渲染方式会导致一部分视频帧未被渲染,也即是导致一部分视频帧丢失,在这种情况下,终端在视频帧渲染显示的过程中的性能参数包括渲染丢帧信息,渲染丢帧信息表征终端不渲染目标视频帧,其中,目标视频帧为已解码完成但应在当前时刻之前进行渲染的视频帧。
303、卡顿检测服务器获取第三参数信息,第三参数信息包括云应用服务器通过网络向终端发送视频流的过程中该网络的性能参数。
云应用服务器在生成云应用的视频流之后,通过网络向终端发送该视频流,终端通过该网络接收云应用服务器发送的该视频流,也即是,继续参见图4,云应用的实现过程还包括网络传输过程,其中,网络传输过程包括流发送和流接收的过程,相应的,第三参数信息包括该网络的性能参数。在一些实施例中,第三参数信息包括发送耗时,发送耗时表征云应用服务器生成的视频帧从云应用服务器发送至终端所消耗的时长。在一些实施例中,视频流通过网络进行传输,云应用服务器已向终端发送视频帧,但是终端未接收到该视频帧,也就是说,视频帧在传输过程中丢失,在这种情况下,第三参数信息包括帧丢失信息,帧丢失信息表征终端未接收到云应用服务器向终端发送的视频帧。
在本公开实施例中,云应用服务器与终端通过网络进行数据传输,通过获取表征该网络的性能的参数信息,使得卡顿检测所基于的参数信息更加丰富全面,从而能够进一步提高卡顿检测的准确性。
304、卡顿检测服务器基于第一参数信息进行卡顿检测,得到第一检测结果。
卡顿检测服务器基于获取到的第一参数信息,确定云应用是否发生卡顿,得到第一检测结果。第一检测结果为第一目标检测结果或者第二目标检测结果。其中,第一目标检测结果表征云应用发生卡顿,第二目标检测结果表征云应用未发生卡顿。若卡顿检测服务器基于第一参数信息确定云应用发生卡顿,则确定第一检测结果为第一目标检测结果。若卡顿检测服务器基于第一参数信息确定云应用未发生卡顿,则确定第一检测结果为第二目标检测结果。
305、卡顿检测服务器基于第二参数信息进行卡顿检测,得到第二检测结果。
卡顿检测服务器基于获取到的第二参数信息,确定云应用是否发生卡顿,得到第二检测结果。第二检测结果为第一目标检测结果或者第二目标检测结果。若卡顿检测服务器基于第二参数信息确定云应用发生卡顿,则确定第二检测结果为第一目标检测结果。若卡顿检测服务器基于第二参数信息确定云应用未发生卡顿,则确定第二检测结果为第二目标检测结果。
306、卡顿检测服务器基于第三参数信息进行卡顿检测,得到第三检测结果。
卡顿检测服务器基于获取到的第三参数信息,确定云应用是否发生卡顿,得到第三检测结果。若卡顿检测服务器基于第三参数信息确定云应用发生卡顿,则确定第三检测结果为第一目标检测结果。若卡顿检测服务器基于第三参数信息确定云应用未发生卡顿,则确定第三检测结果为第二目标检测结果。
307、卡顿检测服务器响应于第一检测结果、第二检测结果和第三检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,第一目标检测结果表征云应用发生卡顿。
卡顿检测服务器在第一检测结果、第二检测结果和第三检测结果中的任一个检测结果为第一目标检测结果的情况下,确定卡顿检测结果为第一目标检测结果。卡顿检测服务器在第一检测结果、第二检测结果和第三检测结果均为第二目标检测结果的情况下,确定卡顿检测结果为第二目标检测结果。
本公开实施例提供的技术方案,针对云应用的实现过程中涉及到的多个处理过程,从不同角度获取表征各处理过程的处理性能的参数信息,基于各处理过程对应的参数信息,进行多方位的卡顿检测,得到多个表征云应用是否发生卡顿的检测结果,进而结合各处理过程对应的检测结果,最终确定云应用是否发生卡顿,使得卡顿检测的流程更加细致全面,提高了卡顿检测的准确性。
需要说明的是,在上述实施例中,卡顿检测服务器是分别基于第一参数信息、第二参数信息和第三参数信息,确定第一检测结果、第二检测结果和第三检测结果,进而基于第一检测结果、第二检测结果和第三检测结果,确定卡顿检测结果的。在另一些实施例中,卡顿检测服务器基于第一参数信息和第二参数信息,确定第一检测结果和第二检测结果,基于第一检测结果和第二检测结果,确定卡顿检测结果,相应的,上述步骤301至步骤307替换为以下步骤:卡顿检测服务器获取云应用服务器的第一参数信息;卡顿检测服务器获取终端的第二参数信息;卡顿检测服务器基于第一参数信息进行卡顿检测,得到第一检测结果;基于第二参数信息进行卡顿检测,得到第二检测结果;响应于第一检测结果和第二检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果。
上述技术方案,分别针对云应用的视频流的生成过程和云应用的视频流的播放过程,进行多方位的卡顿检测,得到多个表征云应用是否发生卡顿的检测结果,进而结合多个检测结果,最终确定云应用是否发生卡顿,使得卡顿检测的流程更加细致全面,提高了卡顿检测的准确性。
需要说明的是,卡顿检测服务器在确定卡顿检测结果为第一目标检测结果的同时,还确定卡顿原因,也即是,卡顿检测服务器响应于第一检测结果和第二检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因。
上述技术方案,在云应用发生卡顿的情况下,还能够确定发生卡顿的原因,进而能够根据卡顿原因,及时进行修复,从而减少卡顿,提高云应用的稳定性。
在一些实施例中,卡顿原因包括第一卡顿原因和第二卡顿原因中的至少一个,第一卡顿原因表征云应用发生卡顿是云应用服务器性能不足导致的,第二卡顿原因表征云应用发生卡顿是终端性能不足导致的,相应的,卡顿检测服务器响应于第一检测结果和第二检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因的步骤包括:卡顿检测服务器响应于第一检测结果为第一目标检测结果,且第二检测结果为第二目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因包括第一卡顿原因;或者,卡顿检测服务器响应于第一检测结果为第二目标检测结果,且第二检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因包括第二卡顿原因;或者,卡顿检测服务器响应于第一检测结果为第一目标检测结果,且第二检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因包括第一卡顿原因和第二卡顿原因。
在本公开实施例中,若基于云应用服务器的性能参数,确定云应用发生卡顿,则表示云应用服务器按照其所表现的处理性能生成云应用的视频流,会导致云应用发生卡顿,那么确定卡顿原因包括云应用服务器性能不足;若基于终端的性能参数,确定云应用发生卡顿,则表示终端按照其所表现的处理性能播放云应用的视频流,会导致云应用发生卡顿,那么确定卡顿原因包括终端性能不足。上述技术方案在确定云应用是否发生卡顿的同时,还进一步确定了更加细致的卡顿原因,从而能够根据卡顿原因,快速定位到问题所在,进而及时进行修复,提高了修复效率。
需要说明的是,上述实施例是以卡顿检测服务器基于第一检测结果和第二检测结果,确定卡顿检测结果,并确定卡顿原因为例进行说明的,在一些实施例中,卡顿检测服务器还确定了第三检测结果,相应的,卡顿检测服务器还基于第三检测结果,确定卡顿检测结果,并确定卡顿原因,也即是,卡顿检测服务器响应于第一检测结果、第二目标检测结果和第三目标检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因。卡顿检测服务器响应于第一检测结果、第二目标检测结果和第三目标检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因的过程与卡顿检测服务器响应于第一检测结果和第二目标检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因的过程同理。其中,若第三检测结果为第一目标检测结果,则确定卡顿原因包括网络性能不足;若第三检测结果为第二目标检测结果,则所确定的卡顿原因中不包括网络性能不足。
在一些实施例中,第一参数信息包括第一渲染帧率,下面结合图5,对卡顿检测服务器获取第一渲染帧率,基于第一渲染帧率进行卡顿检测,得到第一检测结果的过程进行说明,卡顿检测服务器确定第一检测结果的过程包括以下步骤:
501、卡顿检测服务器获取云应用服务器发送的第一渲染帧率。
云应用服务器在运行云应用,渲染云应用的视频帧的过程中,监测单位时间内渲染的视频帧的数量,得到第一渲染帧率,向卡顿检测服务器发送第一渲染帧率,从而卡顿检测服务器能够获取到云应用服务器发送的第一渲染帧率。其中,单位时间可灵活配置,例如,单位时间为1秒,第一渲染帧率表征云应用服务器1秒内渲染的视频帧的数量,云应用服务器监测每1秒内渲染的视频帧的数量,得到每1秒对应的第一渲染帧率。再如,单位时间为50毫秒,第一渲染帧率表征云应用服务器50毫秒内渲染的视频帧的数量,云应用服务器监测每50毫秒内渲染的视频帧的数量,得到每50毫秒对应的第一渲染帧率,本公开实施例对单位时间所表征的时长不加以限定。
502、卡顿检测服务器获取参考渲染帧率。
其中,参考渲染帧率表征云应用服务器在渲染云应用的视频帧时应达到的渲染帧率,也即是,参考渲染帧率表征在云应用未发生卡顿的情况下,云应用服务器单位时间内渲染的视频帧的数量。
不同设备类型的云应用服务器的处理能力不同,不同设备类型的云应用服务器在运行同一云应用,渲染该云应用的视频帧的过程中,能够达到的渲染帧率是不同的。例如,第一设备类型的云应用服务器在运行云应用的过程中,能够达到的渲染帧率为60帧每秒;第二设备类型的云应用服务器在运行同一云应用的过程中,能够达到的渲染帧率为45帧每秒,其中,第一设备类型的云应用服务器的处理能力强于第二设备类型的云应用服务器的处理能力。
在不发生卡顿的情况下,同一云应用服务器在运行不同应用类型的云应用,渲染不同应用类型的云应用的视频帧的过程中,应达到的渲染帧率也是不同的。例如,不同应用类型的云应用包括角色扮演类的云游戏、射击类的云游戏,角色扮演类的云游戏在达到30帧每秒的渲染帧率的情况下,就能不发生卡顿,而射击类的云游戏在达到60帧每秒的渲染帧率的情况下,才能不发生卡顿。
同一应用类型的云应用在运行过程中,会显示不同的场景,在显示不同的场景的情况下,应达到的渲染帧率也是不同的。例如,云应用为云游戏,云游戏包括登录场景、游戏对战场景等,云游戏在显示登录场景时达到较低的渲染帧率,即可不发生卡顿,而云游戏在显示游戏对战场景时应达到较高的渲染帧率,才能不发生卡顿。
因此,为了使参考渲染帧率与当前的云应用运行在当前的云应用服务器中显示当前的场景的渲染帧率目标更加匹配,使参考帧率更加准确的表征云应用服务器在渲染云应用的视频帧时应达到的渲染帧率,卡顿检测服务器基于云应用服务器的设备类型、云应用的应用类型和云应用显示的场景中的至少一项,确定参考渲染帧率。
在一些实施例中,卡顿检测服务器基于云应用服务器的设备类型,确定参考渲染帧率;在一些实施例中,卡顿检测服务器基于云应用的应用类型,确定参考渲染帧率;在一些实施例中,卡顿检测服务器基于云应用显示的场景,确定参考渲染帧率;在一些实施例中,卡顿检测服务器基于云应用服务器的设备类型和云应用的应用类型,确定参考渲染帧率;在一些实施例中,卡顿检测服务器基于云应用服务器的设备类型和云应用显示的场景,确定参考渲染帧率;在一些实施例中,卡顿检测服务器基于云应用服务器的设备类型、云应用的应用类型和云应用显示的场景,确定参考渲染帧率。以下实施例以卡顿检测服务器基于云应用服务器的设备类型、云应用的应用类型和云应用显示的场景,确定参考渲染帧率为例进行说明,卡顿检测服务器基于云应用服务器的设备类型、云应用的应用类型和云应用显示的场景中的一项或者两项,确定参考渲染帧率的过程与卡顿检测服务器基于云应用服务器的设备类型、云应用的应用类型和云应用显示的场景,确定参考渲染帧率的过程均同理,在此不再赘述。
在一些实施例中,卡顿检测服务器将云应用服务器的设备类型、云应用的应用类型和云应用显示的场景输入帧率预测模型,基于该帧率预测模型获取参考渲染帧率。其中,帧率预测模型能够根据云应用服务器的设备类型、云应用的应用类型和云应用显示的场景,预测云应用服务器在运行云应用的过程中,渲染云应用的视频帧应达到的渲染帧率。
上述技术方案,将云应用服务器的设备类型、云应用的应用类型和云应用显示的场景输入到帧率预测模型中,即可得到参考渲染帧率,提高了参考渲染帧率的获取效率。
在一些实施例中,帧率预测模型的训练过程包括:获取训练样本,其中,训练样本包括样本设备类型、样本应用类型、样本场景以及样本渲染帧率;基于获取到的训练样本,训练帧率预测模型;其中,属于样本设备类型的样本服务器中运行属于样本应用类型的样本云应用,在样本云应用显示样本场景且未发生卡顿的情况下,样本服务器在生成样本场景对应的视频帧的过程中的渲染帧率为样本渲染帧率。
其中,帧率预测模型训练所基于的训练样本的数量为多个,多个训练样本分别对应不同的设备类型、不同的应用类型以及不同的场景,多个训练样本对应的设备类型的数量为多个,多个训练样本对应的应用类型的数量为多个,多个训练样本对应的场景的数量为多个。在一些实施例中,在帧率预测模型的训练过程中,对于任一个训练样本,比较帧率预测模型预测的该训练样本的预测渲染帧率和该训练样本对应的样本渲染帧率,基于比较结果,更新帧率预测模型的模型参数;在更新模型参数后的帧率预测模型预测的训练样本的预测渲染帧率与该训练样本对应的样本渲染帧率的差值小于帧率阈值的情况下,停止训练,输出训练完成的帧率预测模型。在一些实施例中,训练样本是从多个云应用的历史运行数据中采集的,任一云应用的历史运行数据包括该云应用所运行在的云应用服务器的设备类型,该云应用的应用类型以及在不发生卡顿的情况下该云应用在显示不同场景的过程中该云应用服务器达到的渲染帧率。
在本公开实施例中,帧率预测模型通过迭代训练,能够更加准确的表征云应用服务器的设备类型、云应用的应用类型以及云应用显示的场景与不发生卡顿的情况下的渲染帧率的关系,进而基于该帧率预测模型获取参考渲染帧率,能够提高确定参考渲染帧率的准确性。
503、卡顿检测服务器响应于第一渲染帧率小于参考渲染帧率,确定第一检测结果为第一目标检测结果,第一目标检测结果表征云应用发生卡顿。
若云应用服务器在生成云应用的视频流的过程中实际达到的第一渲染帧率小于该云应用服务器应达到的参考渲染帧率,则表示云应用服务器渲染云应用的视频帧的速度较慢,会导致云应用的视频帧不能按时显示,发生卡顿,因此,在第一渲染帧率小于参考渲染帧率的情况下,确定第一检测结果为表征云应用发生卡顿的第一目标检测结果。
在一些实施例中,卡顿检测服务器还基于第一渲染帧率与参考渲染帧率之间的帧率差值,确定云应用的卡顿程度。相应的,第一目标检测结果包括第三目标检测结果、第四目标检测结果和第五目标检测结果,其中,第三目标检测结果表征云应用发生轻微卡顿,第四目标检测结果表征云应用发生严重卡顿,第五目标检测结果表征云应用发生异常卡顿。上述步骤304包括:卡顿检测服务器响应于第一渲染帧率小于参考渲染帧率,且第一渲染帧率与参考渲染帧率之间的帧率差值在第一帧率范围内,确定第一检测结果为第三目标检测结果;或者,卡顿检测服务器响应于第一渲染帧率小于参考渲染帧率,且第一渲染帧率与参考渲染帧率之间的帧率差值在第二帧率范围内,确定第一检测结果为第四目标检测结果;或者,卡顿检测服务器响应于第一渲染帧率小于参考渲染帧率,且第一渲染帧率与参考渲染帧率之间的帧率差值在第三帧率范围内,确定第一检测结果为第五目标检测结果。
上述技术方案,根据第一渲染帧率与参考渲染帧率之间的帧率差值的大小,确定云应用的卡顿程度,使得卡顿检测的结果更加细致,提高了卡顿检测的精确性。
其中,第一帧率范围的上限小于第二帧率范围的下限,且第二帧率范围的上限小于第三帧率范围的下限。第一帧率范围、第二帧率范围和第三帧率范围可灵活配置,例如,第一帧率范围为0帧每秒至12帧每秒,第二帧率范围为13帧每秒至18帧每秒,第三帧率范围为19帧每秒至30帧每秒,本公开实施例对此不加以限定。
在一些实施例中,若上述帧率差值与参考渲染帧率相比,所占的比例越大,则表示第一渲染帧率与参考渲染帧率相比,小的程度越大,那么卡顿程度相对来说也越严重。因此,为了使所确定的卡顿程度更加准确,卡顿检测服务器基于参考渲染帧率和差值比例,确定表征卡顿程度的帧率范围的上限和下限。
在一些实施例中,卡顿检测服务器基于参考渲染帧率和差值比例,确定表征卡顿程度的帧率范围的上限和下限的步骤包括:卡顿检测服务器将参考渲染帧率与第一差值比例的乘积,确定为第一帧率范围的下限;将参考渲染帧率与第二差值比例的乘积,确定为第一帧率范围的上限;将第一帧率范围的上限加1,得到第二帧率范围的下限;将参考渲染帧率与第三差值比例的乘积,确定为第二帧率范围的上限;将第二帧率范围的上限加1,得到第三帧率范围的下限;将参考渲染帧率确定为第三帧率范围的上限。其中,第一差值比例小于第二差值比例,且第二差值比例小于第三差值比例。例如,第一差值比例为20%,第二差值比例为40%,第三差值比例为60%,参考渲染帧率为30帧每秒,相应的,卡顿检测服务器确定第一帧率范围为6帧每秒至12帧每秒、第二帧率范围为13帧每秒至18帧每秒、第三帧率范围为19帧每秒至30帧每秒。
需要说明的是,上述实施例是以卡顿检测服务器将卡顿程度划分为轻微卡顿、严重卡顿和异常卡顿为例进行说明的,在另一些实施例中,卡顿检测服务器也可以将卡顿程度划分为其他任意数量的卡顿级别,例如,卡顿检测服务器将卡顿程度划分为轻微卡顿和严重卡顿两个卡顿级别;再如,卡顿检测服务器将卡顿程度划分为轻微卡顿、一般卡顿、严重卡顿和异常卡顿四个卡顿级别,本公开实施例对此不加以限定。在将卡顿程度划分为其他任意数量的卡顿级别的情况下,卡顿检测服务器确定云应用的卡顿程度的过程与卡顿检测服务器确定云应用发生轻微卡顿或者发生严重卡顿或者异常卡顿的过程同理,在此不再赘述。
另外,在一些实施例中,若第一渲染帧率大于或等于参考渲染帧率,则云应用服务器渲染云应用的视频帧的速度能够使云应用的视频帧按时显示,不会使云应用发生卡顿,因此,卡顿检测服务器响应于第一渲染帧率大于或等于参考渲染帧率,确定第一检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在本公开实施例中,针对云应用服务器渲染云应用的视频帧的过程,进行卡顿检测,由于在云应用服务器实际的渲染帧率小于云应用服务器应达到的渲染帧率的情况下,云应用的视频帧不能按时显示,因此确定云应用会发生卡顿;在云应用服务器实际的渲染帧率大于或等于云应用服务器应达到的渲染帧率的情况下,云应用的视频帧能够按时显示,因此确定云应用不会发生卡顿。上述技术方案能够检测出由于云应用服务器实际的渲染帧率较低而导致的卡顿,提高了卡顿检测的准确性。
504、卡顿检测服务器确定卡顿原因包括云应用服务器渲染性能不足。
若云应用服务器在生成云应用的视频流的过程中实际达到的第一渲染帧率小于该云应用服务器应达到的参考渲染帧率,则表示云应用服务器当前的渲染性能不足以达到参考渲染帧率,云应用发生卡顿的原因包括云应用服务器渲染性能不足,因此,卡顿检测服务器在响应于第一渲染帧率小于参考渲染帧率,确定第一检测结果为第一目标检测结果的同时,还确定卡顿原因包括云应用服务器渲染性能不足。
在本公开实施例中,若云应用服务器实际的渲染帧率小于云应用服务器应达到的渲染帧率,则表示云应用服务器的渲染性能不足以使云应用的视频帧按时显示,因此确定云应用发生卡顿的原因包括云应用服务器渲染性能不足,从而确定出了更加细致的卡顿原因,基于更加细致的卡顿原因,能够快速定位问题所在,进而及时进行问题修复,能够提高修复效率并提高云应用的稳定性。
需要说明的是,上述实施例是以卡顿检测服务器基于云应用服务器发送的第一渲染帧率,进行卡顿检测为例进行说明的,在另一些实施例中,基于第一渲染帧率,进行卡顿检测的过程也能够由云应用服务器来执行,云应用服务器基于第一渲染帧率进行卡顿检测的过程与上述卡顿检测服务器基于第一渲染帧率进行卡顿检测的过程同理。下面结合图6,对云应用服务器基于渲染云游戏的视频帧的第一渲染帧率,进行卡顿检测的过程进行说明。参见图6,终端响应于用户操作,请求云应用服务器开始运行云游戏,相应的,云应用服务器响应于请求云游戏,根据云应用服务器的设备类型、云游戏的应用类型和云游戏显示的场景,获取训练完成的帧率预测模型输出的参考渲染帧;云应用服务器开始运行该云游戏,也即是开始游戏;云应用服务器渲染该云游戏的视频帧,也即是进行游戏渲染;云应用服务器随着云游戏的视频帧的渲染,实时确定第一渲染帧率;比较第一渲染帧率和参考渲染帧率,基于第一渲染帧率和参考渲染帧率的比较结果,确定是否发生卡顿;若确定发生卡顿,则进行游戏卡顿处理,以解决导致卡顿的问题,减少卡顿;若确定未发生卡顿,则确定是否结束游戏,例如,确定是否接收到终端发送的游戏结束指令或者确定是否达到游戏结束时间;若确定此时应结束游戏,则停止运行该云游戏,也即是结束游戏,并退出云游戏;若确定此时不应结束游戏,则继续执行渲染该云游戏的视频帧的步骤。
在一些实施例中,卡顿检测服务器将第一参数信息与第二参数信息进行对比,基于对比结果获取卡顿检测结果。在一些实施例中,第一参数信息包括采集帧率,第二参数信息包括第二渲染帧率,下面结合图7,以卡顿检测服务器获取采集帧率和第二渲染帧率,基于采集帧率和第二渲染帧率进行卡顿检测,确定卡顿检测结果为例进行说明,卡顿检测服务器获取采集帧率和第二渲染帧率,基于采集帧率和第二渲染帧率进行卡顿检测,确定卡顿检测结果包括以下步骤:
701、卡顿检测服务器获取云应用服务器发送的采集帧率。
云应用服务器通过GPU(Graphics Processing Unit,图形处理器)渲染云应用的视频帧,将渲染完成的视频帧存储在显存中,进而云应用服务器从显存中采集视频帧,对所采集的视频帧进行编码。在一些实施例中,云应用服务器按照周期采集渲染完成的视频帧,得到CFR(Constant Frame Rate,恒定帧率)模式的视频流。其中,周期的时长可灵活配置,例如,周期为33毫秒,云应用服务器每隔33毫秒采集一个视频帧;再如,周期为17毫秒,云应用服务器每隔17号毫秒采集一个视频帧,本公开实施例对此不加以限定。在一些实施例中,云应用服务器响应于视频帧渲染完成,即采集该渲染完成的视频帧,得到VFR(VariableFrame Rate,可变帧率)模式的视频流。
云应用服务器在采集视频帧的过程中,监测单位时间内采集的视频帧的数量,得到采集帧率,向卡顿检测服务器发送采集帧率,从而卡顿检测服务器能够获取到卡顿检测服务器发送的采集帧率。其中,单位时间可灵活配置,例如,单位时间为1秒或者50毫秒等,本公开实施例对此不加以限定。
702、卡顿检测服务器获取终端发送的第二渲染帧率。
终端在渲染解码后的视频帧的过程中,监测单位时间内渲染的视频帧的数量,得到第二渲染帧率,向卡顿检测服务器发送第二渲染帧率,从而卡顿检测服务器能够获取到终端发送的第二渲染帧率。其中,上述终端获取第二渲染帧率所基于的单位时间的时长与云应用服务器获取第一渲染帧率所基于的单位时间的时长相同。
703、卡顿检测服务器响应于采集帧率与第二渲染帧率之间的差值大于参考阈值,确定卡顿检测结果为第一目标检测结果。
由于采集帧率表征云应用服务器单位时间内采集的视频帧的数量,第二渲染帧率表征终端单位时间内渲染的视频帧的数量,终端渲染视频帧的时间间隔与云应用服务器采集视频帧的时间间隔相同或相差不大,云应用才不会发生卡顿,也即是,若第二渲染帧率与采集帧率相同或者相差不大,云应用才不会发生卡顿,因此,卡顿检测服务器通过比较采集帧率和第二渲染帧率,确定云应用是否发生卡顿,在采集帧率与第二渲染帧率相差较大的情况下,确定云应用发生卡顿。其中,参考阈值可灵活配置,例如,参考阈值配置为5帧每秒、7帧每秒或者10帧每秒等,本公开实施例对此不加以限定。
需要说明的是,采集帧率对应的视频帧序列和第二渲染帧率对应的视频帧序列为同一个视频帧序列。例如,云应用服务器在云应用开始运行之后的1秒内采集了30个视频帧,相应得到采集帧率为30帧每秒,向卡顿检测服务器发送该采集帧率;终端在接收到云应用服务器发送的该30个视频帧之后,对该30个视频帧进行了渲染,相应得到第二渲染帧率为30帧每秒,向卡顿检测服务器发送该第二渲染帧率;卡顿检测服务器对该30个视频帧对应的采集帧率和第二渲染帧率进行对比,基于对比结果,确定卡顿检测结果。
另外,在一些实施例中,卡顿检测服务器在采集帧率与第二渲染帧率相同或相差不大的情况下,确定云应用未发生卡顿,也即是,卡顿检测服务器响应于采集帧率与第二渲染帧率之间的差值不大于参考阈值,确定卡顿检测结果为第二目标检测结果。
在本公开实施例中,终端渲染视频帧的时间间隔与云应用服务器采集视频帧的时间间隔应相同或相差不大,云应用才不会发生卡顿,因此,通过比较终端的第二渲染帧率和云应用服务器的采集帧率,来确定是否发生卡顿,提高了卡顿检测的准确性。
为了使卡顿检测服务器基于采集帧率和第二渲染帧率进行卡顿检测的过程更加清晰,下面结合图8进行说明,参见图8,云应用服务器获取采集帧率,向卡顿检测服务器上报该采集帧率;终端获取第二渲染帧率,向卡顿检测服务器上报该渲染帧率;卡顿检测服务器比较采集帧率与第二渲染帧率,若采集帧率与第二渲染帧率相差较大,则进行卡顿处理,以解决导致卡顿的问题,减少卡顿;若采集帧率与第二渲染帧率相差不大,则结束本次的卡顿检测过程。
在一些实施例中,第一参数信息包括单帧编码耗时,下面结合图9,对卡顿检测服务器获取单帧编码耗时,基于单帧编码耗时进行卡顿检测,得到第一检测结果的过程进行说明,卡顿检测服务器确定第一检测结果的过程包括以下步骤:
901、卡顿检测服务器获取云应用服务器发送的单帧编码耗时,单帧编码耗时表征云应用服务器在采集到视频帧后,编码该视频帧所消耗的时长。
云应用服务器每采集到一个视频帧,就对该视频帧进行编码,向终端发送编码后的该视频帧。云应用服务器响应于开始对任一视频帧进行编码,记录该视频帧对应的编码起始时间;响应于完成对该视频帧的编码,记录该视频帧对应的编码完成时间;将该视频帧对应的编码完成时间与该视频帧对应的编码起始时间的差值,确定为该视频帧的单帧编码耗时;向卡顿检测服务器发送该视频帧对应的单帧编码耗时,从而卡顿检测服务器能够获取到云应用服务器发送的单帧编码耗时。对于任一视频帧,在一些实施例中,云应用服务器仅对该视频帧进行编码;在一些实施例中,云应用服务器基于该视频帧以及该视频帧的上一帧视频帧,对该视频帧进行编码,本公开实施例对视频帧的编码方式不加以限定。
902、卡顿检测服务器响应于任一视频帧的单帧编码耗时大于该视频帧对应的采集时间间隔,确定第一检测结果为第一目标检测结果,其中,采集时间间隔为云应用服务器采集视频帧的时间与云应用服务器采集视频帧的下一帧视频帧的时间之间的间隔。
参见图10,云应用服务器依次采集多个视频帧,得到视频帧序列,其中,每个视频帧均对应有一个时间戳,任一视频帧对应的时间戳表征云应用服务器采集该视频帧的时间。视频帧序列中的任意两个视频帧按照该两个视频帧的时间戳之间的时间间隔在终端上进行渲染显示,云应用才不会发生卡顿。而视频帧采集之后,还需要经过编码、发送、解码等过程,才能在终端上进行渲染显示,其中,对于编码过程,云应用服务器通过对采集到的视频帧序列进行编码,得到编码后的视频帧序列。若某一视频帧的单帧编码耗时超出该视频帧与该视频帧的下一帧视频帧之间的采集时间间隔,那么,在采集到该视频帧的下一帧视频帧,需要对该下一帧视频帧进行编码时,云应用服务器还未完成对该视频帧的编码,该视频帧的编码耗时过长,编码后的该视频帧不能按时发送至终端,终端不能在该视频帧对应的目标渲染时刻,渲染该视频帧,从而会导致云应用发生卡顿。因此,卡顿检测服务器在任一视频帧的单帧编码耗时大于该视频帧对应的采集时间间隔的情况下,确定第一检测结果为表征云应用发生卡顿的第一目标检测结果。
继续参见图10,采集到的多个视频帧对应的时间戳由T(0)、T(1)、T(2)…T(n)、T(n+1)…T(m)来表示,其中,n和m均为正整数,且n小于m,T(0)对应的视频帧的单帧编码耗时由E(0)表示,T(1)对应的视频帧的单帧编码耗时由E(1)表示,以此类推,T(n)对应的视频帧的单帧编码耗时由E(n)表示,T(n+1)对应的视频帧的单帧编码耗时由E(n+1)表示,T(m)对应的视频帧的单帧编码耗时由E(m)表示,卡顿检测服务器响应于任一视频帧的单帧编码耗时大于该视频帧对应的采集时间间隔,确定第一检测结果为第一目标检测结果,也即是,卡顿检测服务器在E(n)>T(n+1)-T(n)的情况下,确定第一检测结果为第一目标检测结果。
另外,在一些实施例中,若某一视频帧的单帧编码耗时不大于该视频帧对应的采集时间间隔,则云应用不会由于视频帧编码耗时过长而发生卡顿,相应的,卡顿检测服务器响应于任一视频帧的单帧编码耗时不大于该视频帧对应的采集时间间隔,确定第一检测结果为第二目标检测结果。
在本公开实施例中,针对云应用服务器对采集到的视频帧进行编码的过程,进行卡顿检测,能够检测出由于编码耗时过长而导致的卡顿,提高了卡顿检测的准确性。
903、卡顿检测服务器确定卡顿原因包括云应用服务器编码性能不足。
若卡顿检测服务器在任一视频帧的单帧编码耗时大于该视频帧对应的采集时间间隔的情况下,确定云应用发生卡顿,则表示视频帧编码耗时过长导致了云应用发生卡顿,因此,在确定任一视频帧的单帧编码耗时大于该视频帧对应的采集时间间隔时,能够确定云应用发生卡顿的原因包括云应用服务器编码性能不足,相应的,卡顿检测服务器在响应于任一视频帧的单帧编码耗时大于该视频帧对应的采集时间间隔,确定第一检测结果为第一目标检测结果的同时,还确定卡顿原因包括云应用服务器编码性能不足。
上述技术方案,在任一视频帧的单帧编码耗时大于该视频帧对应的采集时间间隔的情况下,确定卡顿原因包括云应用服务器编码性能不足,从而确定出了更加细致的卡顿原因,基于更加细致的卡顿原因,能够快速定位问题所在,进而及时进行问题修复,能够提高修复效率并提高云应用的稳定性。
在一些实施例中,第三参数信息包括发送耗时,下面结合图11,对卡顿检测服务器获取发送耗时,基于发送耗时进行卡顿检测,得到第三检测结果的过程进行说明,卡顿检测服务器确定第三检测结果的过程包括以下步骤:
1101、卡顿检测服务器获取发送耗时,该发送耗时表征云应用服务器生成的视频帧从云应用服务器发送至终端所消耗的时长。
在一些实施例中,对于编码后的任一视频帧,云应用服务器在向终端发送该视频帧时,记录该视频帧的发送时间,向卡顿检测服务器发送该发送时间;终端在接收到云应用服务器发送的该视频帧时,记录该视频帧的接收时间,向卡顿检测服务器发送该接收时间;卡顿检测服务器接收该发送时间和该接收时间;将该接收时间与该发送时间的差值确定为该视频帧的发送耗时。
在一些实施例中,对于编码后的任一视频帧,云应用服务器向终端发送该视频帧以及该视频帧的发送时间;终端在接收到云应用服务器发送的该视频帧和该发送时间时,记录接收时间,将该接收时间与该发送时间的差值确定为该视频帧发送耗时,向卡顿检测服务器发送该视频帧的发送耗时,从而卡顿检测服务器通过接收该视频帧的发送耗时,获取到该视频帧的发送耗时。
在一些实施例中,对于编码后的任一视频帧,云应用服务器向终端发送该视频帧,记录该视频帧的发送时间;终端在接收到云应用服务器发送的该视频帧时,记录该视频帧的接收时间,并向云应用服务器返回该接收时间;卡顿检测服务器接收终端发送的该接收时间,将该接收时间与所记录的该发送时间的差值,确定为该视频帧发送耗时,向卡顿检测服务器发送该视频帧的发送耗时,从而卡顿检测服务器通过接收该视频帧的发送耗时,获取到该视频帧的发送耗时。
1102、卡顿检测服务器响应于任一视频帧的发送耗时大于该视频帧对应的采集时间间隔,确定第三检测结果为第一目标检测结果。
其中,采集时间间隔为云应用服务器采集视频帧的时间与云应用服务器采集视频帧的下一帧视频帧的时间之间的间隔。对于视频帧的发送过程,若某一视频帧的发送耗时超出该视频帧与该视频帧的下一帧视频帧之间的采集时间间隔,那么,该视频帧的发送耗时过长,该视频帧不能按时发送至终端,终端不能在该视频帧对应的目标渲染时刻,渲染该视频帧,从而会导致云应用发生卡顿。因此,卡顿检测服务器在任一视频帧的发送耗时大于该视频帧对应的采集时间间隔的情况下,确定第三检测结果为表征云应用发生卡顿的第一目标检测结果。
参见图12,所发送的多个视频帧对应的时间戳由T(0)、T(1)、T(2)…T(n)、T(n+1)…T(m)来表示,其中,n和m均为正整数,且n小于m,T(0)对应的视频帧的发送耗时由S(0)表示,T(1)对应的视频帧的发送耗时由S(1)表示,以此类推,T(n)对应的视频帧的发送耗时由S(n)表示,T(n+1)对应的视频帧的发送耗时由S(n+1)表示,T(m)对应的视频帧的发送耗时由S(m)表示,卡顿检测服务器响应于任一视频帧的发送耗时大于该视频帧对应的采集时间间隔,确定第三检测结果为第一目标检测结果,也即是,卡顿检测服务器在S(n)>T(n+1)-T(n)的情况下,确定第三检测结果为第一目标检测结果。
另外,在一些实施例中,若某一视频帧的发送耗时不大于该视频帧对应的采集时间间隔,则云应用不会由于视频帧发送耗时过长而发生卡顿,相应的,卡顿检测服务器响应于视频帧的发送耗时不大于采集时间间隔,确定第三检测结果为第二目标检测结果。
在本公开实施例中,针对云应用服务器通过网络向终端发送视频帧的过程,进行卡顿检测,能够检测出由于发送耗时过程而导致的卡顿,提高了卡顿检测的准确性。
1103、卡顿检测服务器确定卡顿原因包括网络发送速度过慢。
若卡顿检测服务器在任一视频帧的发送耗时大于该视频帧对应的采集时间间隔的情况下,确定云应用发生卡顿,则表示发送耗时过长导致了云应用发生卡顿,因此,在确定任一视频帧的发送耗时大于该视频帧对应的采集时间间隔时,能够确定云应用发生卡顿的原因包括网络发送速度过慢,相应的,卡顿检测服务器在响应于任一视频帧的发送耗时大于该视频帧对应的采集时间间隔,确定第三检测结果为第一目标检测结果的同时,还确定卡顿原因包括网络发送速度过慢。
上述技术方案,在任一视频帧的发送耗时大于该视频帧对应的采集时间间隔的情况下,确定卡顿原因包括网络发送速度过慢,从而确定出了更加细致的卡顿原因,基于更加细致的卡顿原因,能够快速定位问题所在,进而及时进行问题修复,能够提高修复效率并提高云应用的稳定性。
在一些实施例中,云应用服务器通过网络向终端发送了视频帧,但终端未接收到该视频帧,也不能对该视频帧进行渲染显示,从而会导致云应用发生卡顿,下面结合图13,对卡顿检测服务器基于视频帧的发送情况进行卡顿检测,得到第三检测结果的过程进行说明,卡顿检测服务器确定第三检测结果的过程包括以下步骤:
1301、卡顿检测服务器获取帧丢失信息,该帧丢失信息表征终端未接收到云应用服务器向终端发送的视频帧。
在一些实施例中,对于编码后的任一视频帧,云应用服务器向终端发送该视频帧,该视频帧携带该视频帧的标识,云应用服务器在向终端发送该视频帧的同时,还向卡顿检测服务器发送该视频帧的标识;终端在接收到云应用服务器发送的该视频帧的情况下,还获取该视频帧携带的标识,向卡顿检测服务器发送该视频帧的标识;终端在未接收到云应用服务器发送的该视频帧的情况下,不向卡顿检测服务器发送信息;卡顿检测服务器在接收到卡顿检测服务器发送的该视频帧的标识,但未接收到终端发送的该视频帧的标识的情况下,生成属于第三参数信息的帧丢失信息。在一些实施例中,视频帧的标识为该视频帧的序号,该视频帧的序号表征该视频帧在云应用服务器向终端发送的多个视频帧中的排列顺序。在一些实施例中,视频帧的标识为用于唯一标识该视频帧的字符串,本公开实施例对视频帧的标识的形式不加以限定。
1302、卡顿检测服务器响应于从第三参数信息中查询到帧丢失信息,确定第三检测结果为第一目标检测结果。
若第三参数信息中包括帧丢失信息,则表示云应用服务器未能向终端成功发送视频帧,该视频帧在网络传输过程中丢失,那么,终端不能接收到该视频帧,也不能对该视频帧进行渲染显示,云应用会发生卡顿,因此,卡顿检测服务器在查询到帧丢失信息的情况下,确定第三检测结果为表征云应用发生卡顿的第一目标检测结果。
继续参见图12,若T(m)对应的视频帧也即是第m帧的视频帧D(m)在发送过程中丢失,则确定云应用发生卡顿。
另外,在一些实施例中,云应用服务器成功向终端发送了视频帧,也即是,终端成功接收到了云应用服务器向终端发送的视频帧,卡顿检测服务器不会生成帧丢失信息,云应用也不会由于视频帧丢失而发生卡顿,相应的,卡顿检测服务器响应于未从第三参数信息中查询到帧丢失信息,确定第三检测结果为第二目标检测结果。
在本公开实施例中,针对云应用服务器通过网络向终端发送视频帧的过程,进行卡顿检测,能够检测出由于视频帧在发送过程中丢失而导致的卡顿,提高了卡顿检测的准确性。
1303、卡顿检测服务器确定卡顿原因包括网络丢包。
若卡顿检测服务器在云应用服务器向终端发送视频帧,但终端未接收到该视频帧的情况下,确定云应用发生卡顿,则表示视频帧在发送过程中丢失导致了云应用发生卡顿,因此,在确定云应用服务器向终端发送视频帧,但终端未接收到该视频帧的同时,能够确定云应用发生卡顿的原因包括网络丢包,相应的,卡顿检测服务器在响应于从第三参数信息中查询到帧丢失信息,确定第三检测结果为第一目标检测结果的同时,还确定卡顿原因包括网络丢包。
上述技术方案,在云应用服务器向终端发送视频帧,但终端未接收到该视频帧的情况下,确定卡顿原因包括网络丢包,从而确定出了更加细致的卡顿原因,基于更加细致的卡顿原因,能够快速定位问题所在,进而及时进行问题修复,能够提高修复效率并提高云应用的稳定性。
在一些实施例中,第二参数信息包括单帧解码耗时,下面结合图14,对卡顿检测服务器获取单帧解码耗时,基于单帧解码耗时进行卡顿检测,得到第二检测结果的过程进行说明,卡顿检测服务器确定第二检测结果的过程包括以下步骤:
1401、卡顿检测服务器获取终端发送的单帧解码耗时,单帧解码耗时表征终端在接收到云应用服务器发送的视频帧后,解码该视频帧所消耗的时长。
终端接收卡顿检测服务器发送的编码后的视频帧,对该视频帧进行解码。终端响应于开始对该视频帧进行解码,记录该视频帧对应的解码起始时间;响应于完成对该视频帧的解码,记录该视频帧对应的解码完成时间;将该视频帧对应的解码完成时间与该视频帧对应的解码起始时间的差值,确定为该视频帧的单帧解码耗时;向卡顿检测服务器发送该视频帧对应的单帧解码耗时,从而卡顿检测服务器能够获取到终端发送的单帧解码耗时。
1402、卡顿检测服务器响应于任一视频帧的单帧解码耗时大于该视频帧对应的采集时间间隔,确定第二检测结果为第一目标检测结果。
其中,采集时间间隔为云应用服务器采集视频帧的时间与云应用服务器采集视频帧的下一帧视频帧的时间之间的间隔。参见图15,云应用服务器依次向终端发送视频帧,构成视频帧序列,对于视频帧的解码过程,终端对接收到的的视频帧序列中的视频帧依次进行解码,得到解码后的视频帧序列。若某一视频帧的单帧解码耗时超出该视频帧与该视频帧的下一帧视频帧之间的采集时间间隔,那么,该视频帧的解码耗时过长,终端不能在该视频帧对应的目标渲染时刻,渲染该视频帧,从而会导致云应用发生卡顿。因此,卡顿检测服务器在任一视频帧的单帧解码耗时大于该视频帧对应的采集时间间隔的情况,确定第二检测结果为表征云应用发生卡顿的第一目标检测结果。
继续参见图15,终端接收到的多个视频帧对应的时间戳由T(0)、T(1)、T(2)…T(n)、T(n+1)…T(m)来表示,其中,n和m均为正整数,且n小于m,T(0)对应的视频帧的单帧解码耗时由D(0)表示,T(1)对应的视频帧的单帧解码耗时由D(1)表示,以此类推,T(n)对应的视频帧的单帧解码耗时由D(n)表示,T(n+1)对应的视频帧的单帧解码耗时由D(n+1)表示,T(m)对应的视频帧的单帧解码耗时由D(m)表示,卡顿检测服务器响应于任一视频帧的单帧解码耗时大于该视频帧对应的采集时间间隔,确定第二检测结果为第一目标检测结果,也即是,卡顿检测服务器在D(n)>T(n+1)-T(n)的情况下,确定第二检测结果为第一目标检测结果。
另外,在一些实施例中,若某一视频帧的单帧解码耗时不大于该视频帧对应的采集时间间隔,则云应用不会由于视频帧解码耗时过长而发生卡顿,相应的,卡顿检测服务器响应于任一视频帧的单帧解码耗时不大于该视频帧对应的采集时间间隔,确定第二检测结果为第二目标检测结果。
在本公开实施例中,针对终端对接收到的编码后的视频帧进行解码的过程,进行卡顿检测,能够检测出由于解码耗时过长而导致的卡顿,提高了卡顿检测的准确性。
1403、卡顿检测服务器确定卡顿原因包括终端解码性能不足。
若卡顿检测服务器在任一视频帧的单帧解码耗时大于该视频帧对应的采集时间间隔的情况下,确定云应用发生卡顿,则表示视频帧解码耗时过长导致了云应用发生卡顿,因此,在确定任一视频帧的单帧解码耗时大于该视频帧对应的采集时间间隔时,能够确定云应用发生卡顿的原因包括终端解码性能不足,相应的,卡顿检测服务器在响应于单帧解码耗时大于采集时间间隔,确定第二检测结果为第一目标检测结果的同时,还确定卡顿原因包括终端解码性能不足。
上述技术方案,在任一视频帧的单帧解码耗时大于该视频帧对应的采集时间间隔的情况下,确定卡顿原因包括终端解码性能不足,从而确定出了更加细致的卡顿原因,基于更加细致的卡顿原因,能够快速定位问题所在,进而及时进行问题修复,能够提高修复效率并提高云应用的稳定性。
在一些实施例中,为了将云应用服务器生成的视频帧尽可能实时的展示给用户,终端在渲染性能不足的情况下,不对累积的应渲染但还未渲染的视频帧进行渲染,视频帧不能正常输出显示,从而会导致云应用发生卡顿,下面结合图16,对卡顿检测服务器基于视频帧的渲染显示情况进行卡顿检测,得到第二检测结果的过程进行说明,卡顿检测服务器确定第二检测结果的过程包括以下步骤:
1601、卡顿检测服务器获取渲染丢失信息,其中,渲染丢帧信息表征终端不渲染目标视频帧,该目标视频帧为已解码完成但应在当前时刻之前进行渲染的视频帧。
终端接收到的视频帧对应有该视频帧对应的时间戳,该时间戳既表征云应用服务器采集该视频帧的时间,也表征该视频帧对应的目标渲染时刻,目标渲染时刻为终端应渲染该视频帧的时刻,终端应按照视频帧对应的时间戳,渲染显示该视频帧,从而还原云应用的运行画面。其中,各视频帧对应的时间戳为各视频帧渲染的相对时间,终端基于各视频帧对应的时间戳和系统时钟进行视频帧的渲染,例如,参见图17,第0帧视频帧的时间戳T(0)为0毫秒,第1帧视频帧的时间戳T(1)为30毫秒,若终端在系统时钟为11时20分10秒20毫秒时渲染第0帧视频帧,进而在渲染完成后输出第0帧视频帧,也即是,显示该第0帧视频帧,则终端应在系统时钟为11时20分10秒50毫秒时渲染第1帧视频帧,以此类推。其中,第n帧视频帧应在T(n)对应的目标渲染时刻进行渲染,如果在T(n+i)对应的系统时间还未开始渲染,终端会丢掉第n帧视频,也即是不对第n帧视频帧进行渲染,从而会发生渲染丢帧,导致云应用发生卡顿。其中,i为正整数,T(n+i)表征第n+i帧视频帧对应的时间戳。
终端在渲染视频的过程中,若确定不渲染目标视频帧,则生成渲染丢失信息,向卡顿检测服务器发送该渲染丢失信息,从而卡顿检测服务器获取到终端发送的渲染丢失信息。
1602、卡顿检测服务器响应于从第二参数信息中查询到渲染丢帧信息,确定第二检测结果为第一目标检测结果。
若第二参数信息中包括渲染丢帧信息,则表示终端未能成功渲染并显示视频帧,该视频帧在渲染显示的过程中丢失,从而会导致云应用发生卡顿,因此,卡顿检测服务器在查询到渲染丢失信息的情况下,确定第二检测结果为表征云引用发生卡顿的第一目标检测结果。
另外,在一些实施例中,终端成功渲染并显示了视频帧,终端不会生成渲染丢失信息,云应用也不会由于渲染丢帧而发生卡顿,相应的,卡顿检测服务器响应于未从第二参数信息中查询到渲染丢帧信息,确定第二检测结果为第二目标检测结果。
在本公开实施例中,针对终端渲染显示视频帧的过程,进行卡顿检测,能够检测出由于视频帧在渲染过程中丢失而导致的卡顿,提高了卡顿检测的准确性。
1603、卡顿检测服务器确定卡顿原因包括终端渲染性能不足。
若终端在渲染视频帧的过程中,出现渲染丢帧的情况,则表示终端的渲染性能不足以按时渲染显示视频帧,因此在根据渲染丢失信息确定云应用发生卡顿的同时,还确定云应用发生卡顿的原因包括终端渲染性能不足,相应的,卡顿检测服务器在响应于从第二参数信息中查询到渲染丢帧信息,确定第二检测结果为第一目标检测结果的同时,还确定卡顿原因包括终端渲染性能不足。
在本公开实施例中,若终端在渲染视频帧的过程中,发生渲染丢帧的情况,则表示终端的渲染性能不足以是云应用的视频帧按时显示,确定云应用发生卡顿的原因包括终端渲染性能不足,从而确定出了更加细致的卡顿原因,基于更加细致的卡顿原因,能够快速定位问题所在,进而及时进行问题修复,能够提高修复效率并提高云应用的稳定性。
为了使卡顿检测服务器确定卡顿原因的过程更加清晰,下面结合图18进行说明,参见图18,卡顿检测服务器通过步骤504,根据第一渲染帧率,确定卡顿原因,在第一渲染帧率异常的情况下,确定卡顿原因包括云应用服务器渲染性能不足,也即是云应用本身运行卡顿;卡顿检测服务器通过步骤903,根据单帧编码耗时,确定卡顿原因,在单帧编码耗时过大的情况下,确定卡顿原因包括云应用服务器编码性能不足,也即是编码性能不够,导致卡顿;卡顿检测服务器通过步骤1103和步骤1303,根据云应用服务器向终端视频帧所通过的网络的网络状态,确定卡顿原因,在网络丢包或者发送速度慢的情况下,确定卡顿原因包括网络丢包或者发送速度过慢,也即是确定卡顿原因包括网络导致卡顿;卡顿检测服务器通过步骤1403,根据单帧解码耗时,确定卡顿原因,在单帧解码耗时过大的情况下,确定卡顿原因包括终端解码性能不足,也即是解码性能不够,导致卡顿;卡顿检测服务器通过步骤1601至步骤1603确定终端是否发生渲染丢帧的情况,在渲染出现丢帧的情况下,确定卡顿原因包括终端渲染性能不足,也即是渲染性能不够导致的丢帧卡顿。
需要说明的是,在一些实施例中,参见图19,云应用服务器按照周期采集渲染完成的视频帧,采集到CFR模式的视频流,相邻两个视频帧之间的时间间隔是恒定不变的,若云应用服务器渲染性能不足,未按照参考渲染帧率生成视频帧,但云应用服务器仍会按照参考渲染帧率采集到视频帧序列,从而会出现不应出现的视频帧重复,导致云应用发生卡顿,而如果视频帧的编码过程、发送过程、解码过程、渲染显示过程都未发生异常,终端播放的视频流中相邻两个视频帧之间的时间间隔也是正常的,不会大于目标阈值,但云应用发生了卡顿,在这种情况下,相关技术仅依据终端播放的视频流中相邻两个视频帧之间的时间间隔是否大于目标阈值,来确定云应用是否发生卡顿,得到的卡顿检测结果显然是不够准确的。而本公开实施例针对云应用服务器渲染云应用的视频帧的过程,通过比较第一渲染帧率和参考渲染帧率来确定云应用服务器按照其所表现的渲染性能进行视频帧的渲染,是否会导致云应用发生卡顿,即使在终端播放的视频流中相邻两个视频帧之间的时间间隔不大于目标阈值的情况下,也能准确检测出云应用是否发生卡顿,提高了卡顿检测的准确性。
在一些实施例中,参见图20,云应用服务器响应于视频帧渲染完成,即采集该渲染完成的视频帧,得到VFR模式的视频流,云应用服务器渲染云应用的视频帧的第一渲染帧率是变化的,相应的,云应用服务器采集到的视频流中相邻两个视频帧之间的时间间隔的变化也是不稳定,每一对相邻的两个视频帧之间的时间间隔都可能不同,相关技术依据相邻两个视频帧之间的时间间隔是否大于目标阈值,来确定云应用是否发生卡顿,而目标阈值是恒定的,目标阈值过大或过小,都会导致卡顿检测结果出现误差,因此无法准确确定云应用是否发生卡顿。而本公开实施例针对云应用的实现过程中涉及到的多个处理过程,从不同角度获取表征各处理过程的处理性能的参数信息,基于各处理过程对应的参数信息,进行多方位的卡顿检测,得到多个表征云应用是否发生卡顿的检测结果,进而结合各处理过程对应的检测结果,最终确定云应用是否发生卡顿,使得卡顿检测的流程更加细致全面,提高了卡顿检测的准确性。
图21是根据一示例性实施例示出的一种卡顿检测装置的框图。参见图21,该卡顿检测装置包括:
第一参数信息获取单元2101,被配置为执行获取云应用服务器的第一参数信息,第一参数信息包括云应用服务器在生成云应用的视频流的过程中的性能参数;
第二参数信息获取单元2102,被配置为执行获取终端的第二参数信息,第二参数信息包括终端在播放视频流的过程中的性能参数,其中,视频流由云应用服务器向终端发送;
卡顿检测单元2103,被配置为执行基于第一参数信息和第二参数信息进行卡顿检测,得到卡顿检测结果,卡顿检测结果表征云应用是否发生卡顿。
本公开实施例提供的卡顿检测装置,针对云应用的视频流的生成过程和云应用的视频流的播放过程,从多个角度获取参数信息,由于从多个角度获取到的参数信息能够更加全面的表征云应用服务器在生成云应用的视频流的过程中的处理性能以及终端在播放云应用的视频流的过程中的处理性能,进而基于获取到的参数信息,能够更加细致准确的确定云应用是否发生卡顿,提高了卡顿检测的准确性。
在一些实施例中,卡顿检测单元2103,包括:
第一卡顿检测子单元,被配置为执行基于第一参数信息进行卡顿检测,得到第一检测结果;
第二卡顿检测子单元,被配置为执行基于第二参数信息进行卡顿检测,得到第二检测结果;
检测结果确定子单元,被配置为执行响应于第一检测结果和第二检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,第一目标检测结果表征云应用发生卡顿。
在一些实施例中,检测结果确定子单元,被配置为执行:
响应于第一检测结果和第二检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因。
在一些实施例中,第一检测结果和第二检测结果中的任一个检测结果为第一目标检测结果或者第二目标检测结果,第二目标检测结果表征云应用未发生卡顿;
卡顿原因包括第一卡顿原因和第二卡顿原因中的至少一个,第一卡顿原因表征云应用发生卡顿是云应用服务器性能不足导致的,第二卡顿原因表征云应用发生卡顿是终端性能不足导致的;
检测结果确定子单元,被配置为执行:
响应于第一检测结果为第一目标检测结果,且第二检测结果为第二目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因包括第一卡顿原因;或者,
响应于第一检测结果为第二目标检测结果,且第二检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因包括第二卡顿原因;或者,
响应于第一检测结果为第一目标检测结果,且第二检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,并确定卡顿原因包括第一卡顿原因和第二卡顿原因。
在一些实施例中,第一参数信息包括第一渲染帧率,第一渲染帧率表征云应用服务器单位时间内渲染的视频帧的数量;
第一卡顿检测子单元,被配置为执行:
响应于第一渲染帧率小于参考渲染帧率,确定第一检测结果为第一目标检测结果,参考渲染帧率表征云应用服务器在渲染云应用的视频帧时应达到的渲染帧率;或者,
响应于第一渲染帧率不小于参考渲染帧率,确定第一检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在一些实施例中,第一卡顿检测子单元,被配置为执行:
响应于第一渲染帧率小于参考渲染帧率,确定第一检测结果为第一目标检测结果,并确定卡顿原因包括云应用服务器渲染性能不足。
在一些实施例中,第一目标检测结果包括第三目标检测结果、第四目标检测结果和第五目标检测结果,第三目标检测结果表征云应用发生轻微卡顿,第四目标检测结果表征云应用发生严重卡顿,第五目标检测结果表征云应用发生异常卡顿;
第一卡顿检测子单元,被配置为执行:
响应于第一渲染帧率小于参考渲染帧率,且第一渲染帧率与参考渲染帧率之间的帧率差值在第一帧率范围内,确定第一检测结果为第三目标检测结果;或者,
响应于第一渲染帧率小于参考渲染帧率,且第一渲染帧率与参考渲染帧率之间的帧率差值在第二帧率范围内,确定第一检测结果为第四目标检测结果;或者,
响应于第一渲染帧率小于参考渲染帧率,且第一渲染帧率与参考渲染帧率之间的帧率差值在第三帧率范围内,确定第一检测结果为第五目标检测结果;
其中,第一帧率范围的上限小于第二帧率范围的下限,第二帧率范围的上限小于第三帧率范围的下限。
在一些实施例中,卡顿检测装置还包括:
渲染帧率确定单元,被配置为执行基于云应用服务器的设备类型、云应用的应用类型以及云应用显示的场景中的至少一项,确定参考渲染帧率。
在一些实施例中,渲染帧率确定单元,被配置为执行:
将设备类型、应用类型和场景输入帧率预测模型,基于帧率预测模型获取参考渲染帧率。
在一些实施例中,帧率预测模型的训练过程包括:
获取训练样本,训练样本包括样本设备类型、样本应用类型、样本场景以及样本渲染帧率;
基于训练样本,训练帧率预测模型;
其中,属于样本设备类型的样本服务器中运行属于样本应用类型的样本云应用,在样本云应用显示样本场景且未发生卡顿的情况下,样本服务器在生成样本场景对应的视频帧的过程中的渲染帧率为样本渲染帧率。
在一些实施例中,第一参数信息包括单帧编码耗时,单帧编码耗时表征云应用服务器在采集到视频帧后编码视频帧所消耗的时长;
第一卡顿检测子单元,被配置为执行:
响应于单帧编码耗时大于视频帧对应的采集时间间隔,确定第一检测结果为第一目标检测结果,采集时间间隔为云应用服务器采集视频帧的时间与云应用服务器采集视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于单帧编码耗时不大于采集时间间隔,确定第一检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在一些实施例中,第一卡顿检测子单元,被配置为执行:
响应于单帧编码耗时大于采集时间间隔,确定第一检测结果为第一目标检测结果,并确定卡顿原因包括云应用服务器编码性能不足。
在一些实施例中,第二参数信息包括单帧解码耗时,单帧解码耗时表征终端在接收到云应用服务器发送的视频帧后解码视频帧所消耗的时长;
第二卡顿检测子单元,被配置为执行:
响应于单帧解码耗时大于视频帧对应的采集时间间隔,确定第二检测结果为第一目标检测结果,采集时间间隔为云应用服务器采集视频帧的时间与云应用服务器采集视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于单帧解码耗时不大于采集时间间隔,确定第二检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在一些实施例中,第二卡顿检测子单元,被配置为执行:
响应于单帧解码耗时大于采集时间间隔,确定第二检测结果为第一目标检测结果,并确定卡顿原因包括终端解码性能不足。
在一些实施例中,第二卡顿检测子单元,被配置为执行:
响应于从第二参数信息中查询到渲染丢帧信息,确定第二检测结果为第一目标检测结果,其中,渲染丢帧信息表征终端不渲染目标视频帧,目标视频帧为已解码完成但应在当前时刻之前进行渲染的视频帧;或者,
响应于未从第二参数信息中查询到渲染丢帧信息,确定第二检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在一些实施例中,第二卡顿检测子单元,被配置为执行:
响应于从第二参数信息中查询到渲染丢帧信息,确定第二检测结果为第一目标检测结果,并确定卡顿原因包括终端渲染性能不足。
在一些实施例中,卡顿检测单元2103,被配置为执行:
将第一参数信息与第二参数信息进行对比,基于对比结果获取卡顿检测结果。
在一些实施例中,第一参数信息包括采集帧率,采集帧率表征云应用服务器单位时间内采集的视频帧的数量,云应用服务器用于在渲染云应用的视频帧后采集所渲染的视频帧;
第二参数信息包括第二渲染帧率,第二渲染帧率表征终端单位时间内渲染的视频帧的数量,终端用于在接收到云应用服务器发送的视频帧后渲染接收到的视频帧;
卡顿检测单元2103,被配置为执行:
响应于采集帧率与第二渲染帧率之间的差值大于参考阈值,确定卡顿检测结果为第一目标检测结果,第一目标检测结果表征云应用发生卡顿;或者,
响应于采集帧率与第二渲染帧率之间的差值不大于参考阈值,确定卡顿检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在一些实施例中,卡顿检测装置还包括:
第三参数信息获取单元,被配置为执行获取第三参数信息,第三参数信息包括云应用服务器通过网络向终端发送视频流的过程中网络的性能参数;
卡顿检测单元2103,包括:
第一卡顿检测子单元,被配置为执行基于第一参数信息进行卡顿检测,得到第一检测结果;
第二卡顿检测子单元,被配置为执行基于第二参数信息进行卡顿检测,得到第二检测结果;
第三卡顿检测子单元,被配置为执行基于第三参数信息进行卡顿检测,得到第三检测结果;
检测结果确定子单元,被配置为执行响应于第一检测结果、第二检测结果和第三检测结果中的任一个检测结果为第一目标检测结果,确定卡顿检测结果为第一目标检测结果,第一目标检测结果表征云应用发生卡顿。
在一些实施例中,第三参数信息包括发送耗时,发送耗时表征云应用服务器生成的视频帧从云应用服务器发送至终端所消耗的时长;
第三卡顿检测子单元,被配置为执行:
响应于视频帧的发送耗时大于视频帧对应的采集时间间隔,确定第三检测结果为第一目标检测结果,采集时间间隔为云应用服务器采集视频帧的时间与云应用服务器采集视频帧的下一帧视频帧的时间之间的间隔;或者,
响应于视频帧的发送耗时不大于采集时间间隔,确定第三检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在一些实施例中,第三卡顿检测子单元,被配置为执行:
响应于视频帧的发送耗时大于采集时间间隔,确定第三检测结果为第一目标检测结果,并确定卡顿原因包括网络发送速度过慢。
在一些实施例中,第三卡顿检测子单元,被配置为执行:
响应于从第三参数信息中查询到帧丢失信息,确定第三检测结果为第一目标检测结果,帧丢失信息表征终端未接收到云应用服务器向终端发送的视频帧;或者,
响应于未从第三参数信息中查询到帧丢失信息,确定第三检测结果为第二目标检测结果,第二目标检测结果表征云应用未发生卡顿。
在一些实施例中,第三卡顿检测子单元,被配置为执行:
响应于从第三参数信息中查询到帧丢失信息,确定第三检测结果为第一目标检测结果,并确定卡顿原因包括网络丢包。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图22是根据一示例性实施例示出的一种服务器的框图,该服务器2200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)2201和一个或一个以上的存储器2202,其中,存储器2202中存储有至少一条指令,该至少一条指令由处理器2201加载并执行以实现上述各个方法实施例提供的卡顿检测方法中卡顿检测服务器所执行的步骤。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由服务器的处理器执行时,使得该服务器能够执行上述各个方法实施例提供的卡顿检测方法中卡顿检测服务器所执行的步骤。在一些实施例中,计算机可读存储介质可以是ROM(只读存储器,Read Only Memory)、RAM(随机存取存储器,Random Access Memory)、CD-ROM(只读光盘,Compact Disc Read-Only Memory)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行以实现上述卡顿检测方法。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种卡顿检测方法,其特征在于,所述卡顿检测方法包括:
获取云应用服务器的第一参数信息,所述第一参数信息包括所述云应用服务器在生成云应用的视频流的过程中的性能参数;
获取终端的第二参数信息,所述第二参数信息包括所述终端在播放所述视频流的过程中的性能参数,其中,所述视频流由所述云应用服务器向所述终端发送;
基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,所述卡顿检测结果表征所述云应用是否发生卡顿。
2.根据权利要求1所述的卡顿检测方法,其特征在于,所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,包括:
基于所述第一参数信息进行卡顿检测,得到第一检测结果;
基于所述第二参数信息进行卡顿检测,得到第二检测结果;
响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿。
3.根据权利要求2所述的卡顿检测方法,其特征在于,所述响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,包括:
响应于所述第一检测结果和所述第二检测结果中的任一个检测结果为所述第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,并确定卡顿原因。
4.根据权利要求2所述的卡顿检测方法,其特征在于,所述第一参数信息包括第一渲染帧率,所述第一渲染帧率表征所述云应用服务器单位时间内渲染的视频帧的数量;
所述基于所述第一参数信息进行卡顿检测,得到第一检测结果,包括:
响应于所述第一渲染帧率小于参考渲染帧率,确定所述第一检测结果为所述第一目标检测结果,所述参考渲染帧率表征所述云应用服务器在渲染所述云应用的视频帧时应达到的渲染帧率;或者,
响应于所述第一渲染帧率不小于所述参考渲染帧率,确定所述第一检测结果为第二目标检测结果,所述第二目标检测结果表征所述云应用未发生卡顿。
5.根据权利要求1所述的卡顿检测方法,其特征在于,所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,包括:
将所述第一参数信息与所述第二参数信息进行对比,基于对比结果获取所述卡顿检测结果。
6.根据权利要求1所述的卡顿检测方法,其特征在于,所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果之前,所述卡顿检测方法还包括:
获取第三参数信息,所述第三参数信息包括所述云应用服务器通过网络向所述终端发送所述视频流的过程中所述网络的性能参数;
所述基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,包括:
基于所述第一参数信息进行卡顿检测,得到第一检测结果;
基于所述第二参数信息进行卡顿检测,得到第二检测结果;
基于所述第三参数信息进行卡顿检测,得到第三检测结果;
响应于所述第一检测结果、所述第二检测结果和所述第三检测结果中的任一个检测结果为第一目标检测结果,确定所述卡顿检测结果为所述第一目标检测结果,所述第一目标检测结果表征所述云应用发生卡顿。
7.一种卡顿检测装置,其特征在于,所述卡顿检测装置包括:
第一参数信息获取单元,被配置为执行获取云应用服务器的第一参数信息,所述第一参数信息包括所述云应用服务器在生成云应用的视频流的过程中的性能参数;
第二参数信息获取单元,被配置为执行获取终端的第二参数信息,所述第二参数信息包括所述终端在播放所述视频流的过程中的性能参数,其中,所述视频流由所述云应用服务器向所述终端发送;
卡顿检测单元,被配置为执行基于所述第一参数信息和所述第二参数信息进行卡顿检测,得到卡顿检测结果,所述卡顿检测结果表征所述云应用是否发生卡顿。
8.一种卡顿检测服务器,其特征在于,所述卡顿检测服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的存储器;
其中,所述一个或多个处理器被配置为执行如权利要求1至权利要求6任一项所述的卡顿检测方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由卡顿检测服务器的处理器执行时,使得所述卡顿检测服务器能够执行如权利要求1至权利要求6任一项所述的卡顿检测方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求6任一项所述的卡顿检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583502.1A CN113395512B (zh) | 2021-05-27 | 2021-05-27 | 卡顿检测方法、装置、卡顿检测服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583502.1A CN113395512B (zh) | 2021-05-27 | 2021-05-27 | 卡顿检测方法、装置、卡顿检测服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113395512A true CN113395512A (zh) | 2021-09-14 |
CN113395512B CN113395512B (zh) | 2023-02-28 |
Family
ID=77619303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110583502.1A Active CN113395512B (zh) | 2021-05-27 | 2021-05-27 | 卡顿检测方法、装置、卡顿检测服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113395512B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554228A (zh) * | 2022-02-14 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 云应用的处理方法、装置、设备和存储介质 |
CN114741192A (zh) * | 2022-04-06 | 2022-07-12 | Oppo广东移动通信有限公司 | 卡顿预测方法、装置、终端设备及计算机可读存储介质 |
CN115278289A (zh) * | 2022-09-27 | 2022-11-01 | 海马云(天津)信息技术有限公司 | 一种云应用渲染视频帧处理方法与装置 |
CN116708753A (zh) * | 2022-12-19 | 2023-09-05 | 荣耀终端有限公司 | 预览卡顿原因的确定方法、设备及存储介质 |
CN117135377A (zh) * | 2023-10-27 | 2023-11-28 | 海马云(天津)信息技术有限公司 | 定位云应用画面处理链路中卡顿发生原因的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018050115A1 (zh) * | 2016-09-18 | 2018-03-22 | 中兴通讯股份有限公司 | 一种视频播放流畅度检测方法和装置和计算机存储介质 |
CN108900856A (zh) * | 2018-07-26 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 一种视频帧率预测方法、装置及设备 |
CN109285211A (zh) * | 2018-10-29 | 2019-01-29 | Oppo广东移动通信有限公司 | 画面渲染方法、装置、终端及存储介质 |
CN110225417A (zh) * | 2019-05-09 | 2019-09-10 | 网宿科技股份有限公司 | 数据处理方法及服务器、检测卡顿的方法及服务器 |
CN110418170A (zh) * | 2019-07-03 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 检测方法和装置、存储介质及电子装置 |
CN110812835A (zh) * | 2019-11-06 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 云游戏的检测方法和装置、存储介质及电子装置 |
CN111683273A (zh) * | 2020-06-02 | 2020-09-18 | 中国联合网络通信集团有限公司 | 视频卡顿信息的确定方法及装置 |
CN111984544A (zh) * | 2020-09-08 | 2020-11-24 | 网易(杭州)网络有限公司 | 设备性能测试方法、装置、电子设备及存储介质 |
-
2021
- 2021-05-27 CN CN202110583502.1A patent/CN113395512B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018050115A1 (zh) * | 2016-09-18 | 2018-03-22 | 中兴通讯股份有限公司 | 一种视频播放流畅度检测方法和装置和计算机存储介质 |
CN108900856A (zh) * | 2018-07-26 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 一种视频帧率预测方法、装置及设备 |
CN109285211A (zh) * | 2018-10-29 | 2019-01-29 | Oppo广东移动通信有限公司 | 画面渲染方法、装置、终端及存储介质 |
CN110225417A (zh) * | 2019-05-09 | 2019-09-10 | 网宿科技股份有限公司 | 数据处理方法及服务器、检测卡顿的方法及服务器 |
CN110418170A (zh) * | 2019-07-03 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 检测方法和装置、存储介质及电子装置 |
CN110812835A (zh) * | 2019-11-06 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 云游戏的检测方法和装置、存储介质及电子装置 |
CN111683273A (zh) * | 2020-06-02 | 2020-09-18 | 中国联合网络通信集团有限公司 | 视频卡顿信息的确定方法及装置 |
CN111984544A (zh) * | 2020-09-08 | 2020-11-24 | 网易(杭州)网络有限公司 | 设备性能测试方法、装置、电子设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554228A (zh) * | 2022-02-14 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 云应用的处理方法、装置、设备和存储介质 |
CN114741192A (zh) * | 2022-04-06 | 2022-07-12 | Oppo广东移动通信有限公司 | 卡顿预测方法、装置、终端设备及计算机可读存储介质 |
CN115278289A (zh) * | 2022-09-27 | 2022-11-01 | 海马云(天津)信息技术有限公司 | 一种云应用渲染视频帧处理方法与装置 |
CN115278289B (zh) * | 2022-09-27 | 2023-01-20 | 海马云(天津)信息技术有限公司 | 一种云应用渲染视频帧处理方法与装置 |
CN116708753A (zh) * | 2022-12-19 | 2023-09-05 | 荣耀终端有限公司 | 预览卡顿原因的确定方法、设备及存储介质 |
CN116708753B (zh) * | 2022-12-19 | 2024-04-12 | 荣耀终端有限公司 | 预览卡顿原因的确定方法、设备及存储介质 |
CN117135377A (zh) * | 2023-10-27 | 2023-11-28 | 海马云(天津)信息技术有限公司 | 定位云应用画面处理链路中卡顿发生原因的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113395512B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113395512B (zh) | 卡顿检测方法、装置、卡顿检测服务器及存储介质 | |
US10869045B2 (en) | Systems and methods for rendering and pre-encoded load estimation based encoder hinting | |
WO2021244224A1 (zh) | 卡顿检测方法、装置、设备及可读存储介质 | |
CN113542795A (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
CN112272327B (zh) | 数据处理方法、装置、存储介质及设备 | |
CN112767313B (zh) | 视频质量评价方法、装置、及电子设备 | |
CN113452944B (zh) | 一种云手机的画面显示方法 | |
CN115396705A (zh) | 投屏操作验证方法、平台及系统 | |
CN107004018B (zh) | 数据处理方法及装置 | |
CN116842205A (zh) | 一种游戏回放方法、装置及存储介质 | |
CN107734278B (zh) | 一种视频回放方法及相关装置 | |
CN110366035B (zh) | 帧率控制方法、装置、计算机设备和计算机可读存储介质 | |
CN115460189B (zh) | 处理设备测试方法、装置、计算机及存储介质 | |
CN113747189B (zh) | 直播信息的显示控制方法、装置、电子设备及计算机介质 | |
CN115022204B (zh) | Rtc的传输时延检测方法、装置以及设备 | |
Wei et al. | Cloud Game Video Coding Based On Human Eye Fixation Point | |
CN116233545A (zh) | 基于数字时钟的远程驾驶流媒体自动延迟测试方法及系统 | |
CN116943227A (zh) | 电子竞技的设备管理方法、系统、装置、设备及存储介质 | |
CN111866583A (zh) | 一种视频监控资源的调整方法、装置、介质及电子设备 | |
CN116095417A (zh) | 视频点播方法、装置、设备以及存储介质 | |
CN117931107A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN118555403A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN118138746A (zh) | 一种解码能力确定方法、装置、设备、存储介质及产品 | |
CN115776447A (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 |