CN117556162A - 图片加载检测方法、视频渲染检测方法及相关产品 - Google Patents

图片加载检测方法、视频渲染检测方法及相关产品 Download PDF

Info

Publication number
CN117556162A
CN117556162A CN202311444246.3A CN202311444246A CN117556162A CN 117556162 A CN117556162 A CN 117556162A CN 202311444246 A CN202311444246 A CN 202311444246A CN 117556162 A CN117556162 A CN 117556162A
Authority
CN
China
Prior art keywords
loading
picture
number value
video
color
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
Application number
CN202311444246.3A
Other languages
English (en)
Other versions
CN117556162B (zh
Inventor
高必梵
周博立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuhang Technology Beijing Co ltd
Original Assignee
Shuhang Technology Beijing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shuhang Technology Beijing Co ltd filed Critical Shuhang Technology Beijing Co ltd
Priority to CN202311444246.3A priority Critical patent/CN117556162B/zh
Publication of CN117556162A publication Critical patent/CN117556162A/zh
Application granted granted Critical
Publication of CN117556162B publication Critical patent/CN117556162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请涉及图片处理技术领域,特别涉及一种图片加载检测方法、视频渲染检测方法及相关产品。图片加载检测方法包括:响应于针对目标图片内容的加载请求,加载第一图片,所述第一图片的图片内容为所述目标图片内容;在加载所述第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图;确定所述第一截图的像素点的总数量值和所述第一截图中第一颜色的像素点的数量值,所述第一颜色是指所述第一截图中数量值最大的像素点的颜色;在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述目标图片内容加载成功。采用上述方法能够提高目标图片内容加载成功的统计准确度。

Description

图片加载检测方法、视频渲染检测方法及相关产品
技术领域
本申请涉及图片处理技术领域,特别涉及一种图片加载检测方法、视频渲染检测方法及相关产品。
背景技术
众多应用程序、网络页面中存在大量需要加载图片的场景,在图片加载的过程中一般会进行加载监控,以在监控到会导致图片加载失败的异常情形时及时采取有效措施。常见的图片加载监控方法如对图片下载阶段的网络错误进行监控、对图片解码阶段的网络错误进行监控等。上述图片加载监控方法较难监控到所有异常情形,如目前缺乏对图片渲染阶段进行监控的成熟方案,监控未能遍及图片加载的全过程;如图片解码阶段虽然得到了图片数据,但是图片数据本身可能存在错误,此种异常情形较难被捕捉;如上述图片加载监控方法中存在一种错误码就叫做未知。
受限于常见的图片加载监控方法可能会丢失图片加载过程中的报错信息,较难监控到所有会导致图片加载失败的异常情形,常规对加载完成后的图片加载成功率进行统计时,成功率的数值则相较于实际情况会偏高,图片加载成功的统计准确度会偏低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高图片加载成功的统计准确度的图片加载检测方法、视频渲染检测方法及相关产品,其中,相关产品包括图片加载检测装置、视频渲染检测装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种图片加载检测方法,所述方法包括:
响应于针对目标图片内容的加载请求,加载第一图片,所述第一图片的图片内容为所述目标图片内容;
在加载所述第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图;
确定所述第一截图的像素点的总数量值和所述第一截图中第一颜色的像素点的数量值,所述第一颜色是指所述第一截图中数量值最大的像素点的颜色;
在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述目标图片内容加载成功。
采用本方面的图片加载检测方法,第一图片的内容与目标图片内容相同,因此,响应于针对目标图片内容的加载请求,可以通过加载第一图片实现对目标图片内容的加载。当加载第一图片的加载时长达到加载时间阈值时,表明第一图片的图片内容已经加载完,此时获取加载第一图片得到的第一截图,以便进一步基于第一截图确定已加载的图片内容是否为目标图片内容,进而确定目标图片内容是否记载成功。
由于第一图片的图片内容加载失败时,可能会导致显示加载得到的第一截图时出现白屏、黑屏等情况,而在此种情况下,第一截图中存在单一颜色的像素点占比较大的情况,例如,在出现白屏的情况下,第一截图中的白色像素点的占比较大。因此,可以通过检测第一截图的像素点中是否有某一单一颜色的像素点占比较大的情况,来检测第一图片的图片内容是否加载成功。
具体地,确定第一截图中像素点的总数量值,并以第一截图中数量值最大的像素点的颜色作为第一颜色,确定第一颜色的像素点的数量值。进一步地,在第一颜色的像素点的数量值与所有像素点对应的总数量值的比值,未超过第一比例阈值的情况下,表明第一截图中不存在任何一种颜色的像素点的占比过大,此时第一截图中出现单一颜色的像素点占比过大的情况的几率较低,即第一图片的图片内容加载成功的几率较大。因此,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功,有利于提高目标图片内容加载成功的统计准确度。
在其中一个实施例中,所述方法还包括:
在接收到打开应用程序的指令的情况下,渲染所述应用程序的首页;
所述响应于针对目标图片内容的加载请求,加载第一图片,包括:
在渲染出所述应用程序的首页的情况下,响应于针对所述目标图片内容的加载请求,加载所述第一图片;
其中,所述目标图片内容被加载完成后显示在所述应用程序的首页的固定区域。
在其中一个实施例中,所述确定所述第一截图的像素点的总数量值和所述第一截图中第一颜色的像素点的数量值,包括:
确定所述第一截图的像素点的所述总数量值、所述第一截图中所述第一颜色的像素点的数量值和所述第一截图的像素点中不同颜色像素点的分布位置;
所述在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述目标图片内容加载成功,包括:
在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过所述第一比例阈值的情况下,获取第一占位图,所述第一占位图是指在所述目标图片内容加载过程中或所述目标图片内容加载失败的情况下显示的图片;
确定所述第一占位图的像素点中不同颜色像素点的分布位置;
在所述第一占位图的像素点中不同颜色像素点的分布位置和所述第一截图的像素点中不同颜色像素点的分布位置之间的相似度,未超过第二比例阈值的情况下,确定所述目标图片内容加载成功。
在其中一个实施例中,所述获取加载所述第一图片得到的第一截图,包括:
获取加载所述第一图片得到的第二截图,所述第二截图是指对所述第一图片加载完成后的加载结果进行截取所形成的图片;
将第一比例值作为缩小比例对所述第二截图进行缩小,得到所述第一截图;
所述获取第一占位图,包括:
获取第二占位图,所述第二占位图是指在所述目标图片内容加载过程中或所述目标图片内容加载失败的情况下显示的图片;
将所述第一比例值作为缩小比例对所述第二占位图进行缩小,得到所述第一占位图。
在其中一个实施例中,所述方法还包括:
在所述第一占位图的像素点中不同颜色像素点的分布位置和所述第一截图的像素点中不同颜色像素点的分布位置之间的相似度,超过所述第二比例阈值的情况下,确定所述目标图片内容加载失败。
在其中一个实施例中,所述方法还包括:
在所述第一颜色的像素点的数量值与所述总数量值的比值,超过所述第一比例阈值的情况下,确定所述目标图片内容加载失败。
在其中一个实施例中,所述方法还包括:
在加载所述第一图片时,启动图片加载监控,以监控加载所述第一图片的过程中是否存在导致加载失败的异常情形;
在监控到加载所述第一图片的过程中存在导致加载失败的异常情形的情况下,确定所述目标图片内容加载失败;
所述在加载所述第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图,包括:
在未监控到加载所述第一图片的过程中存在导致加载失败的异常情形的情况下,在加载所述第一图片的加载时长达到所述加载时间阈值时,获取加载所述第一图片得到的第一截图。
在其中一个实施例中,所述目标图片内容存在至少两种格式;所述方法还包括:
在确定所述目标图片内容加载失败的情况下,加载第二图片;
在所述第二图片加载成功的情况下,确定所述目标图片内容加载成功;
其中,所述第二图片的图片内容为所述目标图片内容,且所述第二图片和所述第一图片的格式不同。
第二方面,本申请还提供了一种视频渲染检测方法,所述方法用于检测直播间视频渲染成功,所述方法包括:
在未触发首帧回调的情况下,且播放器渲染所述视频的渲染时长达到渲染时间阈值时,获取渲染后的所述视频的视频图像,其中,所述首帧回调是指播放器完成所述视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在所述视频播放界面显示所述视频的过程,所述视频图像是指对所述视频渲染完成后的渲染结果进行截取所形成的图片;
确定所述视频图像的像素点的总数量值和所述视频图像中第一颜色的像素点的数量值,所述第一颜色是指所述视频图像中数量值最大的像素点的颜色;
在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述视频渲染成功。
采用本方面的视频渲染检测方法,未触发首帧回调则表明播放器并未发送指示信号,此时客户端无法直接知晓视频是否渲染完成。因此,在未触发首帧回调的情况下,可借助渲染视频的渲染时长来判断视频是否渲染完成。当播放器渲染视频的渲染时长达到渲染时间阈值时,表明视频已经渲染完成,此时获取播放出来的渲染后的视频的视频图像,即截取视频渲染完成后的渲染结果。由于视频渲染失败时,可能会显示为绿屏、白屏、黑屏等,此种情况下,对视频渲染完成后的渲染结果进行截取的视频图像,即会出现较大比例的像素点为单一的绿色、白色、黑色等。因此,可以通过检测所获取的视频图像的像素点是否有较大比例为绿色、白色、黑色等单一颜色,来检测渲染完成后的视频是否渲染成功。进而,确定视频图像的像素点的总数量值,并以视频图像中数量值最大的像素点的颜色作为第一颜色,确定第一颜色的像素点的数量值。进一步地,在第一颜色的像素点的数量值与所有像素点对应的总数量值的比值,未超过第一比例阈值的情况下,表明视频图像中不存在任何一种颜色的像素点的数量值过于大,此时能够排除视频图像的像素点超过第一比例阈值的比例为绿色、白色、黑色等单一颜色的可能性。基于此,亦能够排除视频渲染完成后视频播放界面显示为绿屏、白屏、黑屏等渲染失败情形的可能性。进而,能够确定视频渲染成功。通过上述视频渲染检测方法,能够检测出直播间视频渲染成功。
在其中一个实施例中,所述获取渲染后的所述视频的视频图像,包括:
获取渲染后的所述视频的第一图像,所述第一图像是指对所述视频渲染完成后的渲染结果进行截取所形成的图片;
将第一比例值作为缩小比例对所述第一图像进行缩小,得到所述视频图像。
在其中一个实施例中,所述确定所述视频图像的像素点的总数量值和所述视频图像中第一颜色的像素点的数量值,包括:
在遍历所述视频图像的像素点的过程中,对照颜色的RGB数值,计算出所述视频图像的至少一种颜色的像素点的数量值,并计算出所述视频图像的像素点的所述总数量值;
从所述至少一种颜色的像素点的数量值中,确定数量值最大的像素点的颜色为所述第一颜色及确定所述第一颜色的像素点的数量值。
在其中一个实施例中,所述方法还包括:
在所述第一颜色的像素点的数量值与所述总数量值的比值,超过所述第一比例阈值的情况下,确定所述视频渲染失败。
在其中一个实施例中,所述方法还包括:
在确定所述视频渲染失败的情况下,将点位字段上报至服务器,所述点位字段包括直播房间标识、直播主机标识、用户终端类型、用户终端的操作系统类型、所述第一颜色的RGB数值、所述第一颜色的像素点的数量值与所述总数量值的比值、图像存储地址和日志存储地址中的至少一个;
其中,所述图像存储地址和所述日志存储地址是指将所述视频图像和日志上传至内容分发网络后,所述内容分发网络生成并下发的,用于分别存储所述视频图像和所述日志的存储地址,所述日志记录的内容包括获取所述视频图像的时刻、在所述时刻接收到的用户操作指令中的至少一个。
第三方面,本申请还提供了一种图片加载检测装置,所述装置包括:
图片加载模块,用于响应于针对目标图片内容的加载请求,加载第一图片,所述第一图片的图片内容为所述目标图片内容;
截图获取模块,用于在加载所述第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图;
第一确定模块,用于确定所述第一截图的像素点的总数量值和所述第一截图中第一颜色的像素点的数量值,所述第一颜色是指所述第一截图中数量值最大的像素点的颜色;
加载成功确定模块,用于在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述目标图片内容加载成功。
在其中一个实施例中,所述装置还包括:
首页渲染模块,用于在接收到打开应用程序的指令的情况下,渲染所述应用程序的首页;
所述图片加载模块,还用于在渲染出所述应用程序的首页的情况下,响应于针对所述目标图片内容的加载请求,加载所述第一图片;
其中,所述目标图片内容被加载完成后显示在所述应用程序的首页的固定区域。
在其中一个实施例中,所述第一确定模块,还用于确定所述第一截图的像素点的所述总数量值、所述第一截图中所述第一颜色的像素点的数量值和所述第一截图的像素点中不同颜色像素点的分布位置;
所述加载成功确定模块包括:
占位图获取单元,用于在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过所述第一比例阈值的情况下,获取第一占位图,所述第一占位图是指在所述目标图片内容加载过程中或所述目标图片内容加载失败的情况下显示的图片;
分布位置获取单元,用于确定所述第一占位图的像素点中不同颜色像素点的分布位置;
加载成功确定单元,用于在所述第一占位图的像素点中不同颜色像素点的分布位置和所述第一截图的像素点中不同颜色像素点的分布位置之间的相似度,未超过第二比例阈值的情况下,确定所述目标图片内容加载成功。
在其中一个实施例中,所述截图获取模块包括:
第二截图获取单元,用于获取加载所述第一图片得到的第二截图,所述第二截图是指对所述第一图片加载完成后的加载结果进行截取所形成的图片;
第一截图获取单元,用于将第一比例值作为缩小比例对所述第二截图进行缩小,得到所述第一截图;
所述占位图获取单元,还用于获取第二占位图,所述第二占位图是指在所述目标图片内容加载过程中或所述目标图片内容加载失败的情况下显示的图片;将所述第一比例值作为缩小比例对所述第二占位图进行缩小,得到所述第一占位图。
在其中一个实施例中,所述装置还包括:
第一加载失败确定模块,用于在所述第一占位图的像素点中不同颜色像素点的分布位置和所述第一截图的像素点中不同颜色像素点的分布位置之间的相似度,超过所述第二比例阈值的情况下,确定所述目标图片内容加载失败。
在其中一个实施例中,所述装置还包括:
第二加载失败确定模块,用于在所述第一颜色的像素点的数量值与所述总数量值的比值,超过所述第一比例阈值的情况下,确定所述目标图片内容加载失败。
在其中一个实施例中,所述装置还包括:
加载监控模块,用于在加载所述第一图片时,启动图片加载监控,以监控加载所述第一图片的过程中是否存在导致加载失败的异常情形;
第三加载失败确定模块,用于在监控到加载所述第一图片的过程中存在导致加载失败的异常情形的情况下,确定所述目标图片内容加载失败;
所述截图获取模块,还用于在未监控到加载所述第一图片的过程中存在导致加载失败的异常情形的情况下,在加载所述第一图片的加载时长达到所述加载时间阈值时,获取加载所述第一图片得到的第一截图。
在其中一个实施例中,所述目标图片内容存在至少两种格式;所述装置还包括:
图片加载容错模块,用于在确定所述目标图片内容加载失败的情况下,加载第二图片;在所述第二图片加载成功的情况下,确定所述目标图片内容加载成功;
其中,所述第二图片的图片内容为所述目标图片内容,且所述第二图片和所述第一图片的格式不同。
第四方面,本申请还提供了一种视频渲染检测装置,所述装置用于检测直播间视频渲染成功,所述装置包括:
图像获取模块,用于在未触发首帧回调的情况下,且播放器渲染所述视频的渲染时长达到渲染时间阈值时,获取渲染后的所述视频的视频图像,其中,所述首帧回调是指播放器完成所述视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在所述视频播放界面显示所述视频的过程,所述视频图像是指对所述视频渲染完成后的渲染结果进行截取所形成的图片;
第二确定模块,用于确定所述视频图像的像素点的总数量值和所述视频图像中第一颜色的像素点的数量值,所述第一颜色是指所述视频图像中数量值最大的像素点的颜色;
渲染成功确定模块,用于在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述视频渲染成功。
在其中一个实施例中,所述图像获取模块包括:
第一图像获取单元,用于获取渲染后的所述视频的第一图像,所述第一图像是指对所述视频渲染完成后的渲染结果进行截取所形成的图片;
视频图像获取单元,用于将第一比例值作为缩小比例对所述第一图像进行缩小,得到所述视频图像。
在其中一个实施例中,所述第二确定模块包括:
第一数量值确定单元,用于在遍历所述视频图像的像素点的过程中,对照颜色的RGB数值,计算出所述视频图像的至少一种颜色的像素点的数量值,并计算出所述视频图像的像素点的所述总数量值;
第二数量值确定单元,用于从所述至少一种颜色的像素点的数量值中,确定数量值最大的像素点的颜色为所述第一颜色及确定所述第一颜色的像素点的数量值。
在其中一个实施例中,所述装置还包括:
渲染失败确定模块,用于在所述第一颜色的像素点的数量值与所述总数量值的比值,超过所述第一比例阈值的情况下,确定所述视频渲染失败。
在其中一个实施例中,所述装置还包括:
字段上报模块,用于在确定所述视频渲染失败的情况下,将点位字段上报至服务器,所述点位字段包括直播房间标识、直播主机标识、用户终端类型、用户终端的操作系统类型、所述第一颜色的RGB数值、所述第一颜色的像素点的数量值与所述总数量值的比值、图像存储地址和日志存储地址中的至少一个;
其中,所述图像存储地址和所述日志存储地址是指将所述视频图像和日志上传至内容分发网络后,所述内容分发网络生成并下发的,用于分别存储所述视频图像和所述日志的存储地址,所述日志记录的内容包括获取所述视频图像的时刻、在所述时刻接收到的用户操作指令中的至少一个。
第五方面,本申请还提供了一种计算机设备,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如第一方面,或第一方面的任一实施例,或第二方面,或第二方面的任一实施例中所示的方法。
第六方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如第一方面,或第一方面的任一实施例,或第二方面,或第二方面的任一实施例中所示的方法。
第七方面,本申请还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令;在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行如第一方面,或第一方面的任一实施例,或第二方面,或第二方面的任一实施例中所示的方法。
可以理解地,上述第三方面提供的图片加载检测装置、第四方面提供的视频渲染检测装置、第五方面提供的计算机设备、第六方面提供的计算机可读存储介质和第七方面提供的计算机程序产品,均用于执行本申请第一方面,或第一方面的任一实施例,或第二方面,或第二方面的任一实施例中所示的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的图片加载检测方法的流程示意图之一;
图2为本申请实施例提供的图片加载检测方法的流程示意图之二;
图3为本申请实施例提供的目标图片内容被加载完成后的显示区域的示意图;
图4为本申请实施例提供的图片加载检测方法的流程示意图之三;
图5为本申请实施例提供的图片加载检测方法的流程示意图之四;
图6为本申请实施例提供的图片加载检测方法的流程示意图之五;
图7为本申请实施例提供的图片加载检测方法的流程示意图之六;
图8为本申请实施例提供的图片加载检测方法的流程示意图之七;
图9为本申请实施例提供的视频渲染检测方法的流程示意图之一;
图10为本申请实施例提供的获取渲染后的视频的视频图像的流程示意图;
图11为本申请实施例提供的确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值的流程示意图;
图12为本申请实施例提供的视频渲染检测方法的流程示意图之二;
图13为本申请实施例提供的视频渲染失败的示意图;
图14为本申请实施例提供的视频渲染检测方法的流程示意图之三;
图15为本申请实施例提供的视频渲染检测方法的流程示意图之四;
图16为本申请实施例提供的图片加载检测装置的结构示意图;
图17为本申请实施例提供的视频渲染检测装置的结构示意图;
图18为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为了便于理解本申请实施例,下面将参照相关附图对本申请实施例进行更全面的描述。附图中给出了本申请实施例的首选实施例。但是,本申请实施例可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请实施例的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本文中在本申请实施例的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请实施例。
在使用时,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解的是,术语“包括/包含”指定所陈述的特征、整体、步骤、操作、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、部分或它们的组合的可能性。
如图1所示,本申请实施例提供一种图片加载检测方法,本方法能够检测图片是否加载成功,弥补常规方案中对加载完成后的图片加载成功率进行统计时的缺陷,以提高图片加载成功的统计准确度。图片加载检测方法包括以下步骤S101至S104。
S101,响应于针对目标图片内容的加载请求,加载第一图片。第一图片的图片内容为目标图片内容。其中,目标图片内容是指应用程序、网络页面中需要加载的图片内容。
用户将经算法编码后的目标图片内容上传至服务器,服务器对目标图片内容进行转码,以转码成任意格式并生成存储任意格式的目标图片内容的统一资源定位标志(Uniform Resource Locator,url),即生成存储任意格式的目标图片内容的网络地址。其中,服务器可以将目标图片内容转码成webp格式、jpeg格式、png格式等等,webp格式是一种同时提供了有损压缩与无损压缩的图片文件格式,用于全球广域网项目,webp格式的分辨率比jpeg、png等格式的分辨率小,转码成webp格式可以提升图片加载速度;jpeg格式是最常用的图像文件格式,是联合图像专家组压缩标准的产物,jpeg格式可以用有损压缩方式去除冗余的图像数据,用较少的磁盘空间得到较好的图像品质,且jpeg格式是一种很灵活的格式,具有调节图像质量的功能,它允许用不同的压缩比例对文件进行压缩,支持多种压缩级别;便携式网络图形(Portable Network Graphics,png)是一种采用无损压缩算法的位图格式,支持索引、灰度、红绿蓝三种颜色方案以及阿尔法(Alpha)通道等特性,png格式压缩比高,生成文件体积小。服务器可以对目标图片内容进行一次转码,以转码成任意一种格式,也可以对目标图片内容进行多次转码,以转码成多种不同格式。应当注意的是,若服务器将目标图片内容转码成多种不同格式,则对应地生成多个网络地址,使每个网络地址存储任意一种格式的目标图片内容,且每个网络地址存储的目标图片内容的格式不同,不同格式的目标图片内容的内容相同。进而,对应于进行一次转码或进行多次转码,服务器将存储任意一种格式的一个网络地址下发至客户端,或将存储了多种格式的多个网络地址下发至客户端。
具体地,第一图片是任意一种格式的目标图片,第一图片的图片内容是目标图片内容,响应于针对目标图片内容的加载请求,可以通过加载第一图片实现对目标图片内容的加载。客户端则从一个网络地址中加载第一图片。
S102,在加载第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图。第一截图是指对第一图片加载完成后的加载结果进行截取所形成的图片。其中,加载时间阈值是指自开始加载目标图片内容至加载完成所需要的时长,加载时间阈值可根据实际情况及加载经验予以设定,如3秒。
具体地,响应于针对目标图片内容的加载请求,开始加载第一图片的同时客户端启动定时器等计时工具,对第一图片的加载时长进行计数。当加载第一图片的加载时长达到加载时间阈值时,表明第一图片的图片内容已经加载完,此时客户端获取应用程序或网络页面的视图控件所显示出来的加载后的第一图片的第一截图,即通过截图的方式截取显示出来的第一图片加载完成后的加载结果,以便进一步基于第一截图确定已加载的图片内容是否为目标图片内容,进而确定目标图片内容是否记载成功。
需要注意的是,客户端从磁盘中读取经算法编码后的第一图片,并经算法解码将第一图片转变成位图读入,进而显示在视图控件,此加载并显示第一图片的整个过程中,可能会存在导致第一图片加载失败的异常情形。因此,客户端获取到的加载第一图片得到的第一截图,第一截图的图片内容可能与第一图片的相同,也可能受第一图片加载失败的影响而与第一图片的不同。
S103,确定第一截图的像素点的总数量值和第一截图中第一颜色的像素点的数量值。第一颜色是指第一截图中数量值最大的像素点的颜色。
由于第一图片的图片内容加载失败时,可能会导致显示加载得到的第一截图时出现白屏、黑屏等情况,而在此种情况下,第一截图中存在单一颜色的像素点占比较大的情况,例如,在出现白屏的情况下,第一截图中的白色像素点的占比较大。因此,可以通过检测第一截图的像素点中是否有某一单一颜色的像素点占比较大的情况,来检测第一图片的图片内容是否加载成功。
具体地,通过遍历第一截图、对不同颜色像素点进行计数与记录等方式,确定第一截图的所有像素点的总数量值,以及不同颜色的像素点分别对应的数量值。使数量值最大的像素点的颜色作为第一颜色,进而可知晓第一颜色的像素点的数量值。
S104,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功。其中,第一比例阈值可根据经验予以设定,如根据图片加载失败或图片加载过程中视图控件所显示出来的图像中,单一颜色的像素点所占比例予以设定,如设定为90%。
具体地,在数量最多的第一颜色的像素点的数量值与所有像素点对应的总数量值的比值,未超过第一比例阈值的情况下,表明第一截图中不存在任何一种颜色的像素点的占比过大,此时第一截图中出现单一颜色的像素点占比过大的情况的几率较低,即第一图片的图片内容加载成功的几率较大。因此,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功。
在本实施例中,通过对加载后的目标图片内容进行白屏或黑屏等单一颜色的检测,能够实现对加载后的目标图片内容是否加载成功的检测,以进一步确定目标图片内容加载成功了。通过上述图片加载检测方法,对较难捕捉到所有异常情形、可能丢失报错信息的图片加载监控的常规方案进行完善,弥补常规方案中对加载完成后的图片加载成功率进行统计时的缺陷,有利于在对目标图片内容加载成功率进行统计时,使成功率的数值更贴近实际情况,有利于提高目标图片内容加载成功的统计准确度。
如图2所示,在其中一个实施例中,图片加载检测方法还包括以下步骤S201至S205。其中,步骤S203至S205与前述实施例中步骤S102至S104一一对应,本实施例中关于步骤S203至S205的具体论述可参考前述实施例。
S201,在接收到打开应用程序的指令的情况下,渲染应用程序的首页。
具体地,渲染应用程序的首页,即执行打开应用程序。
S202,在渲染出应用程序的首页的情况下,响应于针对目标图片内容的加载请求,加载第一图片。其中,第一图片的图片内容为目标图片内容,目标图片内容被加载完成后显示在应用程序的首页的固定区域。图3为目标图片内容被加载完成后的显示区域的示意图,如图3所示出的整个显示界面即为应用程序的首页,黑色边框所划定的区域即为显示加载完成后的目标图片内容的固定区域。当然地,应用程序的首页中存在至少一个上述固定区域,如图3所示例地,首页中则存在4个上述固定区域,可用于分别显示四个内容不同的目标图片内容。
具体地,在渲染出应用程序的首页的情况下,则会触发加载需显示在首页的固定区域的目标图片内容的加载请求。进而,客户端响应于针对目标图片内容的加载请求,从预先接收到的网络地址中加载第一图片。
S203,在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图。
S204,确定第一截图的像素点的总数量值和第一截图中第一颜色的像素点的数量值。第一颜色是指第一截图中数量值最大的像素点的颜色。
S205,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功。
在本实施例中,通过对加载后的目标图片内容进行白屏或黑屏等单一颜色的检测,能够实现对加载完成后的目标图片内容是否加载成功的检测,以进一步确定应用程序首页中的目标图片内容加载成功了。通过上述图片加载检测方法,有利于在对应用程序首页中的目标图片内容加载成功率进行统计时,使成功率的数值更贴近实际情况,避免将加载完成但实际未加载成功的情形统计在内,有利于提高应用程序首页中的目标图片内容加载成功的统计准确度。
如图4所示,在其中一个实施例中,图片加载检测方法还包括以下步骤S401至S406。其中,步骤S401至S402与前述实施例中步骤S101至S102一一对应,本实施例中关于步骤S401至S402的具体论述可参考前述实施例。
S401,响应于针对目标图片内容的加载请求,加载第一图片。第一图片的图片内容为目标图片内容。
S402,在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图。
S403,确定第一截图的像素点的总数量值、第一截图中第一颜色的像素点的数量值和第一截图的像素点中不同颜色像素点的分布位置。第一颜色是指第一截图中数量值最大的像素点的颜色。
具体地,通过遍历第一截图、对不同颜色像素点进行计数与记录等方式,不仅能够确定第一截图的所有像素点的总数量值以及第一颜色的像素点的数量值,还能确定第一截图的像素点中不同颜色像素点的分布位置。不同颜色像素点的分布位置如:黑色像素点分布在第一截图的像素点中的第1行第4个、第2行第1个等;白色像素点分布在第一截图的像素点中的第1行第3个、第2行第2个等;红色像素点分布在第一截图的像素点中的第3行第5个至8个等。
S404,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,获取第一占位图。第一占位图是指在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片。
目前的目标图片内容加载技术中,存在使用第一占位图的场景,即在目标图片内容加载过程中将第一占位图显示在视图控件,以使视图控件显示的不是白屏、黑屏等单一颜色的图像。此种场景下,若目标图片内容加载失败,则视图控件仍然会显示第一占位图,此时获取的加载第一图片得到的第一截图,则是截取的显示出来的第一占位图的图片。而第一占位图可能是非单一颜色的图片,因此第一占位图的第一颜色的像素点的数量值与总数量值的比值,也可能未超过第一比例阈值。基于此,在目标图片内容加载过程中使用了第一占位图的场景中,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,还需要进一步确认第一截图是否为截取的第一占位图的图片。
具体地,在第一颜色的像素点的数量值与所有像素点对应的总数量值的比值,未超过第一比例阈值的情况下,进一步获取本地存储的第一占位图。
S405,确定第一占位图的像素点中不同颜色像素点的分布位置。
通过遍历第一占位图、对不同颜色像素点进行计数与记录等方式,确定第一占位图的像素点中不同颜色像素点的分布位置,如黑色像素点具体分布在哪些位置、绿色像素点具体分布在哪些位置等。
S406,在第一占位图的像素点中不同颜色像素点的分布位置和第一截图的像素点中不同颜色像素点的分布位置之间的相似度,未超过第二比例阈值的情况下,确定目标图片内容加载成功。其中,第二比例阈值可根据经验予以设定,如根据能够认定两张图片相同或相似的标准予以设定,如设定为90%。
具体地,比对第一截图和第一占位图这两份图片中不同颜色像素点的分布位置的相似度,如整体上比对不同颜色像素点的分布位置的相似度,或分别比对各个颜色像素点的分布位置所对应的相似度之后,再计算平均的相似度。若相似度未超过第二比例阈值,则表明两份图片中的图案的相似度偏低,两份图片的内容相同或相似的可能性偏小。此时,则能进一步确定视图控件显示出来的加载后的第一图片不是第一占位图,即目标图片内容加载成功。
在本实施例中,通过比对第一截图和第一占位图这两份图片中不同颜色像素点的分布位置的相似度,进一步对在目标图片内容加载过程中使用了第一占位图的场景中的,加载完成后的目标图片内容是否加载成功了进行验证,以进一步确定目标图片内容加载成功了。通过上述图片加载检测方法,有利于对目标图片内容加载成功率进行统计时,使成功率的数值更趋向于实际情况,避免将加载完成但实际未加载成功的情形统计在内,有利于提高目标图片内容加载成功的统计准确度。
在其中一个实施例中,上述步骤S402中,获取加载第一图片得到的第一截图,包括步骤:获取加载第一图片得到的第二截图,第二截图是指对第一图片加载完成后的加载结果进行截取所形成的图片;将第一比例值作为缩小比例对第二截图进行缩小,得到第一截图。其中,以按照第一比例值进行缩小处理所得到的第一截图的像素点,能够表征第一截图的图片内容为前提,第一比例值可根据经验予以任意设定,如10%。
具体地,对第一图片加载完成后的加载结果进行截取,并将第一比例值作为缩小比例对其进行缩小处理,以减少所得到的第一截图的像素点的总数量值。如将像素点为1080*1020的第二截图,按照10%的第一比例值,缩小10倍,得到像素点为108*102的第一截图。需要注意的是,第一截图和第二截图的内容本质相同,只是像素上存在差异。
上述步骤S404中,获取第一占位图,包括步骤:获取第二占位图,第二占位图是指在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片;将第一比例值作为缩小比例对第二占位图进行缩小,得到第一占位图。
具体地,获取本地存储的用于在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片,并将第一比例值作为缩小比例对其进行缩小处理,以减少所得到的第一占位图的像素点的总数量值。如将像素点为1080*1020的第二占位图,按照10%的第一比例值,缩小10倍,得到像素点为108*102的第一占位图。需要注意的是,第一占位图和第二占位图的内容本质相同,只是像素上存在差异。
在本实施例中,分别使第一截图和第一占位图的像素点的总数量值减小,有利于更快速地遍历或统计完毕第一截图、第一占位图的所有像素点,进而,有利于更快速地对这两份图片的像素点进行比对,以更快速地检测目标图片内容是否加载成功。同时,对这两份图片进行同等比例的缩小处理,如均以第一比例值作为缩小比例,使得这两份图片更具有可比性,有利于保障对这两份图片的不同颜色像素点的分布位置进行相似度比较时的准确性。
如图5所示,在其中一个实施例中,图片加载检测方法还包括以下步骤S501至S507。其中,步骤S501至S506与前述实施例中步骤S401至S406一一对应,本实施例中关于步骤S501至S506的具体论述可参考前述实施例。
S501,响应于针对目标图片内容的加载请求,加载第一图片。第一图片的图片内容为目标图片内容。
S502,在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图。
S503,确定第一截图的像素点的总数量值、第一截图中第一颜色的像素点的数量值和第一截图的像素点中不同颜色像素点的分布位置。第一颜色是指第一截图中数量值最大的像素点的颜色。
S504,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,获取第一占位图。第一占位图是指在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片。
S505,确定第一占位图的像素点中不同颜色像素点的分布位置。
S506,在第一占位图的像素点中不同颜色像素点的分布位置和第一截图的像素点中不同颜色像素点的分布位置之间的相似度,未超过第二比例阈值的情况下,确定目标图片内容加载成功。
S507,在第一占位图的像素点中不同颜色像素点的分布位置和第一截图的像素点中不同颜色像素点的分布位置之间的相似度,超过第二比例阈值的情况下,确定目标图片内容加载失败。
具体地,比对第一截图和第一占位图这两份图片中不同颜色像素点的分布位置的相似度,若相似度超过第二比例阈值,则表明两份图片中的图案的相似度偏高,两份图片的内容相同或相似的可能性偏大。此时,则能进一步确定视图控件显示出来的加载后的第一图片仍为第一占位图,即目标图片内容加载失败。
应该理解的是,在执行本实施例的图片加载检测方法时,只需根据不同颜色像素点的分布位置之间的相似度是否超过第二比例阈值,在步骤S506和S507之间择一执行。
在本实施例中,通过比对第一截图和第一占位图这两份图片中不同颜色像素点的分布位置的相似度,进一步对在目标图片内容加载过程中使用了第一占位图的场景中的,加载完成后的目标图片内容是否加载成功了进行验证。通过上述图片加载检测方法,有利于对目标图片内容加载成功率进行统计时,使成功率的数值更趋向于实际情况,避免将加载完成但实际加载失败的情形统计在内,有利于提高目标图片内容加载成功的统计准确度。
如图6所示,在其中一个实施例中,图片加载检测方法还包括以下步骤S601至S605。其中,步骤S601至S604与前述实施例中步骤S101至S104一一对应,本实施例中关于步骤S601至S604的具体论述可参考前述实施例。
S601,响应于针对目标图片内容的加载请求,加载第一图片。第一图片的图片内容为目标图片内容。
S602,在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图。
S603,确定第一截图的像素点的总数量值和第一截图中第一颜色的像素点的数量值。第一颜色是指第一截图中数量值最大的像素点的颜色。
S604,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功。
S605,在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定目标图片内容加载失败。
具体地,在数量最多的第一颜色的像素点的数量值与所有像素点对应的总数量值的比值,超过第一比例阈值的情况下,表明第一截图中存在一种颜色的像素点的占比过大,此时第一截图中出现单一颜色的像素点占比过大的情况的几率较高,即第一图片的图片内容加载成功的几率较小。因此,在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定目标图片内容加载失败。
应该理解的是,在执行本实施例的图片加载检测方法时,只需根据第一颜色的像素点的数量值与总数量值的比值是否超过第一比例阈值,在步骤S604和S605之间择一执行。
在本实施例中,通过对加载后的目标图片内容进行白屏或黑屏等单一颜色的检测,能够实现对加载完成后的目标图片内容是否加载成功的检测。通过上述图片加载检测方法,有利于在对目标图片内容加载成功率进行统计时,使成功率的数值更贴近实际情况,避免将加载完成但实际加载失败的情形统计在内,有利于提高目标图片内容加载成功的统计准确度。
如图7所示,在其中一个实施例中,图片加载检测方法还包括以下步骤S701至S706。其中,步骤S701、S705至S706与前述实施例中步骤S101、S103至S104一一对应,本实施例中关于步骤S701、S705至S706的具体论述可参考前述实施例。
S701,响应于针对目标图片内容的加载请求,加载第一图片。第一图片的图片内容为目标图片内容。
S702,在加载第一图片时,启动图片加载监控,以监控加载第一图片的过程中是否存在导致加载失败的异常情形。
具体地,响应于针对目标图片内容的加载请求,开始加载第一图片的同时客户端启动图片加载监控,对第一图片的加载过程中的会导致加载失败的异常情形进行监控。如对图片下载阶段的网络错误进行监控、对文件出现损坏或磁盘内存不足等进行监控、对图片解码阶段的网络错误或使用不支持的解码器等进行监控。
S703,在监控到加载第一图片的过程中存在导致加载失败的异常情形的情况下,确定目标图片内容加载失败。
具体地,监控到加载第一图片的过程中存在导致加载失败的异常情形,意味着第一图片的加载过程被阻断,此时可直接确定目标图片内容加载失败了。
S704,在未监控到加载第一图片的过程中存在导致加载失败的异常情形的情况下,在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图。具体地,未监控到加载第一图片的过程中存在导致加载失败的异常情形,只是意味着在常规的图片加载监控下加载过程较为顺利,但有必要进一步验证是否有丢失图片加载过程中的报错信息、遗漏对异常情形的监控等,即进一步验证第一图片是否加载成功。在此情况下,在加载第一图片的加载时长达到加载时间阈值时,即在第一图片加载完成时,客户端获取应用程序或网络页面的视图控件所显示出来的加载后的第一图片的第一截图,以验证目标图片内容是否加载成功。
应该理解的是,在执行本实施例的图片加载检测方法时,只需根据是否监控到加载第一图片的过程中存在导致加载失败的异常情形,在步骤S703和S704之间择一执行。
S705,确定第一截图的像素点的总数量值和第一截图中第一颜色的像素点的数量值。第一颜色是指第一截图中数量值最大的像素点的颜色。
S706,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功。
在本实施例中,在通过常规的图片加载监控未监控到加载第一图片的过程中存在导致加载失败的异常情形的情况下,进一步验证目标图片内容是否加载成功,以对较难捕捉到所有异常情形、可能丢失报错信息的图片加载监控的常规方案进行完善。进而,有利于弥补常规方案中对加载完成后的图片加载成功率进行统计时的缺陷,有利于在对目标图片内容加载成功率进行统计时,使成功率的数值更贴近实际情况,避免将加载完成但实际未加载成功的情形统计在内,有利于提高目标图片内容加载成功的统计准确度。
在其中一个实施例中,在执行上述步骤S507或S605或S703的情况下,目标图片内容存在至少两种格式,图片加载检测方法还包括步骤:在确定目标图片内容加载失败的情况下,加载第二图片;在第二图片加载成功的情况下,确定目标图片内容加载成功。其中,第二图片的图片内容为目标图片内容,且第二图片和第一图片的格式不同。
在需要大量加载目标图片内容的应用场景中,对目标图片内容进行优化非常重要,常见的优化手段有诸如使用压缩比更高的编码格式,比如webp格式。但是,更高的压缩比在解码时需要的计算资源则越多,出错的概率则越大。为弥补目标图片内容在解码等加载过程中可能出错的缺陷,服务器可转码出多个不同格式的目标图片内容以供客户端加载,以尽可能保障有至少一种格式的目标图片内容能够加载成功。
用户将目标图片内容上传至服务器,服务器对目标图片内容进行多次转码,以转码成任意多种不同格式并对应地生成多个网络地址,使每个网络地址存储任意一种格式的目标图片内容,且每个网络地址存储的目标图片内容的格式不同。其中,服务器可以将目标图片内容转码成webp格式、jpeg格式、png格式等等。进而,服务器将多个网络地址一起下发至客户端。能够理解地,经多次转码后,目标图片内容存在至少两种格式,当目标图片内容存在三种、四种甚至更多种格式时,则还存在第三图片、第四图片等,第三图片、第四图片等均是指任意一种格式的目标图片内容,且第一图片、第二图片、第三图片、第四图片等格式均不同,内容均为目标图片内容。
具体地,在确定目标图片内容加载失败的情况下,即第一图片加载失败,则重新响应于针对目标图片内容的加载请求,继续加载作为另一种格式的目标图片内容的第二图片。进而,在加载第二图片的加载时长达到加载时间阈值时,获取加载第二图片得到的第一截图,此时,第一截图是指对第二图片加载完成后的加载结果进行截取所形成的图片;确定第一截图的像素点的总数量值和第一截图中第一颜色的像素点的数量值,第一颜色是指第一截图中数量值最大的像素点的颜色;在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定第二图片加载成功,即确定目标图片内容加载成功。
若第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值,则确定第二图片加载失败,即确定目标图片内容加载失败。可以理解地,在确定第二图片加载失败的情况下,则重新响应于针对目标图片内容的加载请求,继续加载作为另一种格式的目标图片内容的第三图片,并继续对加载第三图片得到的第一截图进行验证,以检测第三图片是否加载成功。在确定第三图片加载成功的情况下,确定目标图片内容加载成功;在确定第三图片加载失败的情况下,继续加载第四图片等,直至存在一种格式的目标图片内容加载成功,则此目标图片内容加载结束。
需要注意的是,还存在一种使目标图片内容加载结束的情形,即客户端已经对接收到的多个网络地址所分别存储的目标图片内容加载完毕,但不存在任意一种格式的目标图片内容加载成功,即所有格式的目标图片内容均加载失败。此种情形下,目标图片内容亦加载结束。针对于此,以使目标图片内容加载成功为目标,服务器进行转码时,可至少转码成一种系统解码器可支持的png格式,以尽可能确保客户端加载png格式的目标图片内容时,能够加载成功。
在本实施例中,在通过对加载后的一种格式的目标图片内容进行白屏或黑屏等单一颜色的检测,确定一种格式的目标图片内容加载失败的情况下,逐次对多种不同格式的目标图片内容进行加载,容许一种格式的目标图片内容加载失败后,继续加载另一种格式的目标图片内容,直至目标图片内容加载成功。本图片加载检测方法能够对目标图片内容加载失败的情况进行容灾,能够提高目标图片内容加载成功率,以更大程度避免目标图片内容加载失败所带来的的消极影响。
如图8所示,在其中一个实施例中,图片加载检测方法还包括以下步骤S801至S815。
S801,在接收到打开应用程序的指令的情况下,渲染应用程序的首页。
S802,在渲染出应用程序的首页的情况下,响应于针对目标图片内容的加载请求,加载第一图片。其中,目标图片内容被加载完成后显示在应用程序的首页的固定区域,第一图片的图片内容是目标图片内容。
S803,在加载第一图片时,启动图片加载监控,以监控加载第一图片的过程中是否存在导致加载失败的异常情形。
S804,在监控到加载第一图片的过程中存在导致加载失败的异常情形的情况下,确定目标图片内容加载失败。
S805,在未监控到加载第一图片的过程中存在导致加载失败的异常情形的情况下,在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第二截图。第二截图是指对第一图片加载完成后的加载结果进行截取所形成的图片。
S806,将第一比例值作为缩小比例对第二截图进行缩小,得到第一截图。S807,确定第一截图的像素点的总数量值、第一截图中第一颜色的像素点的数量值和第一截图的像素点中不同颜色像素点的分布位置。第一颜色是指第一截图中数量值最大的像素点的颜色。
S808,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,获取第二占位图。第二占位图是指在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片。
S809,将第一比例值作为缩小比例对第二占位图进行缩小,得到第一占位图。第一占位图是指在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片。
S810,确定第一占位图的像素点中不同颜色像素点的分布位置。
S811,在第一占位图的像素点中不同颜色像素点的分布位置和第一截图的像素点中不同颜色像素点的分布位置之间的相似度,未超过第二比例阈值的情况下,确定目标图片内容加载成功。
S812,在第一占位图的像素点中不同颜色像素点的分布位置和第一截图的像素点中不同颜色像素点的分布位置之间的相似度,超过第二比例阈值的情况下,确定目标图片内容加载失败。
S813,在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定目标图片内容加载失败。
目标图片内容存在至少两种格式。S814,在确定目标图片内容加载失败的情况下,加载第二图片。其中,第二图片的图片内容为目标图片内容,且第二图片和第一图片的格式不同。
S815,在第二图片加载成功的情况下,确定目标图片内容加载成功。
在本实施例中,首先,通过对加载完成后的目标图片内容进行白屏或黑屏等单一颜色的检测,能够实现对加载完成后的目标图片内容是否加载成功的检测。本实施例中的图片加载检测方法,对较难捕捉到所有异常情形、可能丢失报错信息的图片加载监控的常规方案进行完善,弥补常规方案中对加载完成后的图片加载成功率进行统计时的缺陷,有利于在对目标图片内容加载成功率进行统计时,使成功率的数值更贴近实际情况,有利于提高目标图片内容加载成功的统计准确度。其次,在确定一种格式的目标图片内容加载失败的情况下,逐次对多种不同格式、相同内容的目标图片内容进行加载,容许一种格式的目标图片内容加载失败后,继续加载另一种格式的目标图片内容,直至目标图片内容加载成功。本实施例中的图片加载检测方法能够对目标图片内容加载失败的情况进行容灾,能够提高目标图片内容加载成功率,以更大程度避免目标图片内容加载失败所带来的的消极影响。
如图9所示,本申请实施例还提供了一种视频渲染检测方法,视频渲染检测方法用于检测直播间视频渲染成功。客户端是否能够启动视频渲染检测需要同时遵循以下两个配置策略:其一为性能打分策略,即对如手机等用户终端的型号、操作系统的版本等所对应的性能进行打分,在性能分数超过设定值的情况下,方符合具备视频渲染检测功能的要求;其二为流量控制策略,如设定放流10%时,则对用户标识进行抽样,抽取到的10%的用户标识所对应的客户端,方能进行视频渲染检测。在遵循配置策略的基础上,客户端可通过打开开关以启动视频渲染检测。视频渲染检测方法包括以下步骤S901至S903。
S901,在未触发首帧回调的情况下,且播放器渲染视频的渲染时长达到渲染时间阈值时,获取渲染后的视频的视频图像。其中,首帧回调是指播放器完成视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在视频播放界面显示视频的过程,视频图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。渲染时间阈值是指自开始渲染视频至渲染完成所需要的时长,渲染时间阈值可根据实际情况及渲染经验予以设定。
在视频渲染的过程中,播放器依次向内容分发网络请求视频数据,进而对视频数据进行下载、本地解码、渲染等。在此过程中,视频播放界面会显示一个预设背景图像,待播放器完成视频的渲染后,播放器发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在视频播放界面显示视频,即触发首帧回调。
在触发了首帧回调的情况下,播放器发送指示信号,客户端则能直接知晓视频已经渲染完成。但若视频渲染失败,则可能会触发首帧回调,也可能不会触发首帧回调。在未触发首帧回调的情况下,播放器并未发送指示信号,此时客户端无法直接知晓视频是否渲染完成。基于此,在播放器开始渲染视频的同时,客户端启动定时器等计时工具,对视频的渲染时长进行计数,以借助渲染视频的渲染时长来判断视频是否渲染完成。
具体地,在未触发首帧回调的情况下,当播放器渲染视频的渲染时长达到渲染时间阈值时,表明视频已经渲染完成,此时获取播放出来的渲染后的视频的视频图像,即截取视频渲染完成后的渲染结果。示例性地,在触发首帧回调的情况下,则表明视频已经渲染完成,此时无需比对渲染时长是否达到渲染时间阈值,而是直接获取播放出来的渲染完成后的视频的视频图像,以对视频是否渲染成功进行检测。
需要注意的是,播放器渲染视频的整个过程中,可能会存在导致视频渲染失败的异常情形。因此,客户端获取到的渲染后的视频的视频图像,其图像内容可能与对应视频帧的内容相同,也可能受视频渲染失败的影响而与对应视频帧的内容不同。
S902,确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值。第一颜色是指视频图像中数量值最大的像素点的颜色。
由于视频渲染失败时,可能会显示为绿屏、白屏、黑屏等,此种情况下,对视频渲染完成后的渲染结果进行截取的视频图像,即会出现较大比例的像素点为单一的绿色、白色、黑色等。因此,可以通过检测所获取的视频图像的像素点是否有较大比例为绿色、白色、黑色等单一颜色,来检测渲染完成后的视频是否渲染成功。
具体地,通过遍历视频图像、对不同颜色像素点进行计数与记录等方式,确定视频图像的所有像素点的总数量值,以及确定视频图像中第一颜色的像素点的数量值。
S903,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定视频渲染成功。其中,第一比例阈值可根据经验予以设定,如设定为95%。
具体地,在第一颜色的像素点的数量值与所有像素点对应的总数量值的比值,未超过第一比例阈值的情况下,表明视频图像中不存在任何一种颜色的像素点的数量值过于大,此时能够排除视频图像的像素点超过第一比例阈值的比例为绿色、白色、黑色等单一颜色的可能性。基于此,亦能够排除视频渲染完成后视频播放界面显示为绿屏、白屏、黑屏等渲染失败情形的可能性。进而,能够确定视频渲染成功。
在本实施例中,通过对视频播放界面显示的渲染后的视频进行绿屏或白屏或黑屏等单一颜色的检测,能够检测出直播间视频是否渲染成功。
如图10所示,在其中一个实施例中,上述步骤S901中,获取渲染后的视频的视频图像包括以下步骤S1001至S1002。
S1001,获取渲染后的视频的第一图像。第一图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。
S1002,将第一比例值作为缩小比例对第一图像进行缩小,得到视频图像。其中,以按照第一比例值进行缩小处理所得到的视频图像的像素点,能够表征视频图像的内容为前提,第一比例值可根据经验予以任意设定,如10%。
具体地,对视频渲染完成后的渲染结果进行截取,并将第一比例值作为缩小比例对其进行缩小处理,以减少所得到的视频图像的像素点的总数量值。需要注意的是,第一图像和视频图像的内容本质相同,只是像素上存在差异。
在本实施例中,使视频图像的像素点的总数量值减小,有利于更快速地遍历或统计完毕视频图像的所有像素点,进而,有利于更快速地检测视频是否渲染成功。
如图11所示,在其中一个实施例中,上述步骤S902,确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值包括以下步骤S1101至S1102。
S1101,在遍历视频图像的像素点的过程中,对照颜色的RGB数值,计算出视频图像的至少一种颜色的像素点的数量值,并计算出视频图像的像素点的总数量值。其中,颜色的RGB数值即各种颜色所对应的红绿蓝三种颜色模式下的数值,红绿蓝三种颜色模式下的数值的取值范围均为0至255。如白色的RGB数值为:红R=0、绿G=0、蓝B=0;黑色的RGB数值为:红R=255、绿G=255、蓝B=255;绿色的RGB数值为:红R=0、绿G=255、蓝B=0。
将各个颜色的RGB数值按照预设规则取整,并将取整后的数值作为对应颜色的关键字(key)。以黑色为例,对RGB数值按照预设规则:R*1000000+G*1000+B取整,即255*1000000+255*1000+255,取整后的数值为255255255,255255255即为黑色的key。以绿色为例,对RGB数值按照预设规则:R*1000000+G*1000+B取整,即0*1000000+255*1000+0,取整后的数值为255000,255000即为绿色的key。由于各个颜色的RGB值为固定值,因此各个颜色的key亦是固定的。
具体地,在遍历视频图像的像素点的过程中,对照各个颜色的key,若遍历到key为255000的像素点,则表明此像素点为绿色,绿色的像素点的数量值增加1;若遍历到key为0的像素点,则表明此像素点为白色,白色的像素点的数量值增加1,依次类推。当遍历完毕视频图像的所有像素点时,即能够计算出视频图像的至少一种颜色的像素点的数量值,并计算出视频图像的所有像素点的总数量值。
S1102,从至少一种颜色的像素点的数量值中,确定数量值最大的像素点的颜色为第一颜色及确定第一颜色的像素点的数量值。
具体地,若视频图像中只有一种颜色的像素点,则此颜色即为第一颜色;若视频图像中有至少两种颜色的像素点,则从至少两种颜色中,确定数量值最大的像素点的颜色为第一颜色,并确定第一颜色的像素点的数量值。
示例性地,可将各个颜色的像素点的数量值作为对应颜色的值(value),进而将各个颜色的key和value,存入映射字典(map)中,以供直观查询。取value最大的key所对应的颜色为第一颜色。
在本实施例中,在遍历视频图像的像素点的过程中,对照颜色的RGB数值,并按照预设规则确定不同颜色的key,能够准确地确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值。
如图12所示,在其中一个实施例中,视频渲染检测方法还包括以下步骤S1201至S1204。其中,步骤S1201至S1203与前述实施例中步骤S901至S903一一对应,本实施例中关于步骤S1201至S1203的具体论述可参考前述实施例。
S1201,在未触发首帧回调的情况下,且播放器渲染视频的渲染时长达到渲染时间阈值时,获取渲染后的视频的视频图像。其中,首帧回调是指播放器完成视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在视频播放界面显示视频的过程,视频图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。
S1202,确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值。第一颜色是指视频图像中数量值最大的像素点的颜色。
S1203,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定视频渲染成功。
S1204,在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定视频渲染失败。
具体地,在第一颜色的像素点的数量值与所有像素点对应的总数量值的比值,超过第一比例阈值的情况下,表明视频图像中存在一种颜色的像素点的数量值过于大,此时能够推断视频图像的像素点超过第一比例阈值的比例为绿色、白色、黑色等单一颜色。基于此,亦能够推断视频渲染完成后视频播放界面显示为绿屏、白屏、黑屏等。进而,能够确定视频渲染失败。如图13所示,对视频渲染完成后的渲染结果进行截取所形成的图片,超过第一比例阈值的比例显示为同一种颜色,此时能够确定视频渲染失败。
应该理解的是,在执行本实施例的视频渲染检测方法时,只需根据第一颜色的像素点的数量值与总数量值的比值是否超过第一比例阈值,在步骤S1203和S1204之间择一执行。
在本实施例中,通过对视频播放界面显示的渲染后的视频进行绿屏或白屏或黑屏等单一颜色的检测,能够检测出直播间视频是否渲染成功。
如图14所示,在其中一个实施例中,视频渲染检测方法还包括以下步骤S1401至S1405。其中,步骤S1401至S1404与前述实施例中步骤S1201至S1204一一对应,本实施例中关于步骤S1401至S1404的具体论述可参考前述实施例。
S1401,在未触发首帧回调的情况下,且播放器渲染视频的渲染时长达到渲染时间阈值时,获取渲染后的视频的视频图像。其中,首帧回调是指播放器完成视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在视频播放界面显示视频的过程,视频图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。
S1402,确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值。第一颜色是指视频图像中数量值最大的像素点的颜色。
S1403,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定视频渲染成功。
S1404,在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定视频渲染失败。
S1405,在确定视频渲染失败的情况下,将点位字段上报至服务器。点位字段包括直播房间标识、直播主机标识、用户终端类型、用户终端的操作系统类型、第一颜色的RGB数值、第一颜色的像素点的数量值与总数量值的比值、图像存储地址和日志存储地址中的至少一个。其中,图像存储地址和日志存储地址是指将视频图像和日志上传至内容分发网络后,内容分发网络生成并下发的,用于分别存储视频图像和日志的存储地址,日志记录的内容包括获取视频图像的时刻、在时刻接收到的用户操作指令中的至少一个。
具体地,在确定视频渲染失败的情况下,通过应用程序性能管理(ApplicationPerformance Management,APM)平台将点位字段上报至服务器的数据仓库。其中,点位字段包括以下至少一个:直播房间标识(room ID);直播主机标识(host ID);用户终端类型;用户终端的操作系统类型;应用程序版本;其他通用参数;第一颜色的RGB数值(max Pixe);第一颜色的像素点的数量值与总数量值的比值(max Pixel Percent);图像存储地址(snapshot);日志存储地址(log Url)。需要注意的是,上报的点位字段包括但不限于上述所列举的点位字段;日志记录的内容中,获取视频图像的时刻即指获取视频渲染失败出现绿屏或白屏等情形的时刻,在时刻接收到的用户操作指令即指在出现绿屏或白屏等情形的那一时刻的用户的操作行为。
在本实施例中,通过对视频播放界面显示的渲染后的视频进行绿屏或白屏或黑屏等单一颜色的检测,能够检测出直播间视频是否渲染成功。在检测出直播间视频渲染失败的情况下,将room ID、host ID等点位字段上报至服务器的数据仓库,有利于后续对直播过程及视频渲染失败事件进行回溯,对出现绿屏或白屏或黑屏等视频渲染结果进行追踪和数据分析。同时,将图像存储地址和日志存储地址进行上报,使在对视频渲染失败事件进行回溯的过程中,能进一步了解出现绿屏或白屏等情形的时刻及当下时刻用户的操作行为,有利于对现场进行还原,以更清晰、准确地分析出视频渲染失败的原因。
如图15所示,在其中一个实施例中,视频渲染检测方法还包括以下步骤S1501至S1507。
S1501,在未触发首帧回调的情况下,且播放器渲染视频的渲染时长达到渲染时间阈值时,获取渲染后的视频的第一图像。其中,首帧回调是指播放器完成视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在视频播放界面显示视频的过程,第一图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。
S1502,将第一比例值作为缩小比例对第一图像进行缩小,得到视频图像。视频图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。
S1503,在遍历视频图像的像素点的过程中,对照颜色的RGB数值,计算出视频图像的至少一种颜色的像素点的数量值,并计算出视频图像的像素点的总数量值。
S1504,从至少一种颜色的像素点的数量值中,确定数量值最大的像素点的颜色为第一颜色及确定第一颜色的像素点的数量值。第一颜色是指视频图像中数量值最大的像素点的颜色。
S1505,在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定视频渲染成功。
S1506,在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定视频渲染失败。
S1507,在确定视频渲染失败的情况下,将点位字段上报至服务器。点位字段包括直播房间标识、直播主机标识、用户终端类型、用户终端的操作系统类型、第一颜色的RGB数值、第一颜色的像素点的数量值与总数量值的比值、图像存储地址和日志存储地址中的至少一个。其中,图像存储地址和日志存储地址是指将视频图像和日志上传至内容分发网络后,内容分发网络生成并下发的,用于分别存储视频图像和日志的存储地址,日志记录的内容包括获取视频图像的时刻、在时刻接收到的用户操作指令中的至少一个。
在本实施例中,通过对视频播放界面显示的渲染后的视频进行绿屏或白屏或黑屏等单一颜色的检测,能够检测出直播间视频是否渲染成功。在检测出直播间视频渲染失败的情况下,将点位字段上报至服务器的数据仓库,有利于后续对直播过程及视频渲染失败事件进行回溯,对出现绿屏或白屏或黑屏等视频渲染结果进行追踪和数据分析。同时,将图像存储地址和日志存储地址进行上报,使在对视频渲染失败事件进行回溯的过程中,能进一步了解出现绿屏或白屏等情形的时刻及当下时刻用户的操作行为,有利于对现场进行还原,以更清晰、准确地分析出视频渲染失败的原因。
如图16所示,本申请实施例还提供了一种图片加载检测装置1600,图片加载检测装置1600包括图片加载模块1601、截图获取模块1602、第一确定模块1603和加载成功确定模块1604。图片加载模块1601,用于响应于针对目标图片内容的加载请求,加载第一图片,第一图片的图片内容为目标图片内容。截图获取模块1602,用于在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图。第一确定模块1603,用于确定第一截图的像素点的总数量值和第一截图中第一颜色的像素点的数量值。第一颜色是指第一截图中数量值最大的像素点的颜色。加载成功确定模块1604,用于在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功。
在其中一个实施例中,上述图片加载检测装置1600还包括首页渲染模块和图片加载模块1601。首页渲染模块,用于在接收到打开应用程序的指令的情况下,渲染应用程序的首页。图片加载模块1601还用于在渲染出应用程序的首页的情况下,响应于针对目标图片内容的加载请求,加载第一图片。其中,目标图片内容被加载完成后显示在应用程序的首页的固定区域。
在其中一个实施例中,上述第一确定模块1603还用于确定第一截图的像素点的总数量值、第一截图中第一颜色的像素点的数量值和第一截图的像素点中不同颜色像素点的分布位置。上述加载成功确定模块1604包括占位图获取单元、分布位置获取单元和加载成功确定单元。占位图获取单元,用于在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,获取第一占位图。第一占位图是指在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片。分布位置获取单元,用于确定第一占位图的像素点中不同颜色像素点的分布位置。加载成功确定单元,用于在第一占位图的像素点中不同颜色像素点的分布位置和第一截图的像素点中不同颜色像素点的分布位置之间的相似度,未超过第二比例阈值的情况下,确定目标图片内容加载成功。
在其中一个实施例中,上述截图获取模块1602包括第二截图获取单元和第一截图获取单元。第二截图获取单元,用于获取加载第一图片得到的第二截图。第二截图是指对第一图片加载完成后的加载结果进行截取所形成的图片。第一截图获取单元,用于将第一比例值作为缩小比例对第二截图进行缩小,得到第一截图。上述占位图获取单元还用于获取第二占位图,第二占位图是指在目标图片内容加载过程中或目标图片内容加载失败的情况下显示的图片;将第一比例值作为缩小比例对第二占位图进行缩小,得到第一占位图。
在其中一个实施例中,上述图片加载检测装置1600还包括第一加载失败确定模块,用于在第一占位图的像素点中不同颜色像素点的分布位置和第一截图的像素点中不同颜色像素点的分布位置之间的相似度,超过第二比例阈值的情况下,确定目标图片内容加载失败。
在其中一个实施例中,上述图片加载检测装置1600还包括第二加载失败确定模块,用于在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定目标图片内容加载失败。
在其中一个实施例中,上述图片加载检测装置1600还包括加载监控模块和第三加载失败确定模块。加载监控模块,用于在加载第一图片时,启动图片加载监控,以监控加载第一图片的过程中是否存在导致加载失败的异常情形。第三加载失败确定模块,用于在监控到加载第一图片的过程中存在导致加载失败的异常情形的情况下,确定目标图片内容加载失败。上述截图获取模块1602还用于在未监控到加载第一图片的过程中存在导致加载失败的异常情形的情况下,在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图。
在其中一个实施例中,目标图片内容存在至少两种格式;上述图片加载检测装置1600还包括图片加载容错模块,用于在确定目标图片内容加载失败的情况下,加载第二图片;在第二图片加载成功的情况下,确定目标图片内容加载成功。其中,第二图片的图片内容为目标图片内容,且第二图片和第一图片的格式不同。
关于各名词的解释可以参照前述图片加载检测方法实施例中的相关描述,在此不再详述。
需要说明的是,上述图片加载检测装置1600的具体执行过程可以参见图1至图8所示的实施例的具体说明,在此不进行赘述。
上述图片加载检测装置1600中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图17所示,本申请实施例还提供了一种视频渲染检测装置1700,视频渲染检测装置1700用于检测直播间视频渲染成功,视频渲染检测装置1700包括图像获取模块1701、第二确定模块1702和渲染成功确定模块1703。图像获取模块1701,用于在未触发首帧回调的情况下,且播放器渲染视频的渲染时长达到渲染时间阈值时,获取渲染后的视频的视频图像。其中,首帧回调是指播放器完成视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在视频播放界面显示视频的过程,视频图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。第二确定模块1702,用于确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值。第一颜色是指视频图像中数量值最大的像素点的颜色。渲染成功确定模块1703,用于在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定视频渲染成功。
在其中一个实施例中,上述图像获取模块1701包括第一图像获取单元和视频图像获取单元。第一图像获取单元,用于获取渲染后的视频的第一图像。第一图像是指对视频渲染完成后的渲染结果进行截取所形成的图片。视频图像获取单元,用于将第一比例值作为缩小比例对第一图像进行缩小,得到视频图像。
在其中一个实施例中,上述第二确定模块1702包括第一数量值确定单元和第二数量值确定单。第一数量值确定单元,用于在遍历视频图像的像素点的过程中,对照颜色的RGB数值,计算出视频图像的至少一种颜色的像素点的数量值,并计算出视频图像的像素点的总数量值。第二数量值确定单元,用于从至少一种颜色的像素点的数量值中,确定数量值最大的像素点的颜色为第一颜色及确定第一颜色的像素点的数量值。
在其中一个实施例中,上述视频渲染检测装置1700还包括渲染失败确定模块,用于在第一颜色的像素点的数量值与总数量值的比值,超过第一比例阈值的情况下,确定视频渲染失败。
在其中一个实施例中,上述视频渲染检测装置1700还包括字段上报模块,用于在确定视频渲染失败的情况下,将点位字段上报至服务器。点位字段包括直播房间标识、直播主机标识、用户终端类型、用户终端的操作系统类型、第一颜色的RGB数值、第一颜色的像素点的数量值与总数量值的比值、图像存储地址和日志存储地址中的至少一个。其中,图像存储地址和日志存储地址是指将视频图像和日志上传至内容分发网络后,内容分发网络生成并下发的,用于分别存储视频图像和日志的存储地址,日志记录的内容包括获取视频图像的时刻、在时刻接收到的用户操作指令中的至少一个。
关于各名词的解释可以参照前述视频渲染检测方法实施例中的相关描述,在此不再详述。
需要说明的是,上述视频渲染检测装置的具体执行过程可以参见图9至图15所示的实施例的具体说明,在此不进行赘述。
上述视频渲染检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图18所示,本申请实施例还提供了一种计算机设备1800。示例性的,计算机设备1800可以包括处理器1801、通信接口1802、通信总线1803以及存储器1804。具体的,计算机设备1800可以包括:
至少一个处理器1801,例如CPU,至少一个通信接口1802,存储器1804,至少一个通信总线1803。其中,通信总线1803用于实现这些组件之间的连接通信。通信接口1802可选的可以包括标准的有线接口、无线接口(如WI-FI接口或蓝牙接口等)。存储器1804可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1804可选的还可以是至少一个位于远离前述处理器1801的存储装置。如图18所示,作为一种计算机存储介质的存储器1804中可以包括操作系统和程序指令。
示例性的,处理器1801可以用于实现上述图16中的图片加载模块1601、截图获取模块1602、第一确定模块1603和加载成功确定模块1604所执行的步骤或方法。
可理解的,以上的方式仅为示例,也可以由处理器1801以及上述计算机设备1800中的其他模块配合执行上述图16中的图片加载模块1601、截图获取模块1602、第一确定模块1603和加载成功确定模块1604所执行的步骤或方法,本文对此不做限定。
在图18所示的计算机设备1800中,处理器1801可以用于加载存储器1804中存储的程序指令,并具体执行以下操作:
响应于针对目标图片内容的加载请求,加载第一图片,第一图片的图片内容为目标图片内容;
在加载第一图片的加载时长达到加载时间阈值时,获取加载第一图片得到的第一截图;
确定第一截图的像素点的总数量值和第一截图中第一颜色的像素点的数量值,第一颜色是指第一截图中数量值最大的像素点的颜色;
在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定目标图片内容加载成功。
关于各名词的解释可以参照前述图片加载检测方法实施例中的相关描述,在此不再详述。
需要说明的是,具体执行过程可以参见图1至图8所示的实施例的具体说明,在此不进行赘述。
示例性的,处理器1801可以用于实现上述图17中的图像获取模块1701、第二确定模块1702和渲染成功确定模块1703所执行的步骤或方法。
可理解的,以上的方式仅为示例,也可以由处理器1801以及上述计算机设备1800中的其他模块配合执行上述图17中的图像获取模块1701、第二确定模块1702和渲染成功确定模块1703所执行的步骤或方法,本文对此不做限定。
在图18所示的计算机设备1800中,处理器1801可以用于加载存储器1804中存储的程序指令,并具体执行以下操作:
在未触发首帧回调的情况下,且播放器渲染视频的渲染时长达到渲染时间阈值时,获取渲染后的视频的视频图像,其中,首帧回调是指播放器完成视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在视频播放界面显示视频的过程,视频图像是指对视频渲染完成后的渲染结果进行截取所形成的图片;
确定视频图像的像素点的总数量值和视频图像中第一颜色的像素点的数量值,第一颜色是指视频图像中数量值最大的像素点的颜色;
在第一颜色的像素点的数量值与总数量值的比值,未超过第一比例阈值的情况下,确定视频渲染成功。
关于各名词的解释可以参照前述视频渲染检测方法实施例中的相关描述,在此不再详述。
需要说明的是,具体执行过程可以参见图9至图15所示的实施例的具体说明,在此不进行赘述。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质可以存储有多条指令,上述指令适于由处理器加载并执行如上述图1至图15所示的实施例的方法步骤,具体执行过程可以参见图1至图15所示实施例的具体说明,在此不进行赘述。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“若检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (18)

1.一种图片加载检测方法,其特征在于,所述方法包括:
响应于针对目标图片内容的加载请求,加载第一图片,所述第一图片的图片内容为所述目标图片内容;
在加载所述第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图;
确定所述第一截图的像素点的总数量值和所述第一截图中第一颜色的像素点的数量值,所述第一颜色是指所述第一截图中数量值最大的像素点的颜色;
在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述目标图片内容加载成功。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到打开应用程序的指令的情况下,渲染所述应用程序的首页;
所述响应于针对目标图片内容的加载请求,加载第一图片,包括:
在渲染出所述应用程序的首页的情况下,响应于针对所述目标图片内容的加载请求,加载所述第一图片;
其中,所述目标图片内容被加载完成后显示在所述应用程序的首页的固定区域。
3.根据权利要求1所述的方法,其特征在于,
所述确定所述第一截图的像素点的总数量值和所述第一截图中第一颜色的像素点的数量值,包括:
确定所述第一截图的像素点的所述总数量值、所述第一截图中所述第一颜色的像素点的数量值和所述第一截图的像素点中不同颜色像素点的分布位置;
所述在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述目标图片内容加载成功,包括:
在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过所述第一比例阈值的情况下,获取第一占位图,所述第一占位图是指在所述目标图片内容加载过程中或所述目标图片内容加载失败的情况下显示的图片;
确定所述第一占位图的像素点中不同颜色像素点的分布位置;
在所述第一占位图的像素点中不同颜色像素点的分布位置和所述第一截图的像素点中不同颜色像素点的分布位置之间的相似度,未超过第二比例阈值的情况下,确定所述目标图片内容加载成功。
4.根据权利要求3所述的方法,其特征在于,
所述获取加载所述第一图片得到的第一截图,包括:
获取加载所述第一图片得到的第二截图,所述第二截图是指对所述第一图片加载完成后的加载结果进行截取所形成的图片;
将第一比例值作为缩小比例对所述第二截图进行缩小,得到所述第一截图;
所述获取第一占位图,包括:
获取第二占位图,所述第二占位图是指在所述目标图片内容加载过程中或所述目标图片内容加载失败的情况下显示的图片;
将所述第一比例值作为缩小比例对所述第二占位图进行缩小,得到所述第一占位图。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第一占位图的像素点中不同颜色像素点的分布位置和所述第一截图的像素点中不同颜色像素点的分布位置之间的相似度,超过所述第二比例阈值的情况下,确定所述目标图片内容加载失败。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一颜色的像素点的数量值与所述总数量值的比值,超过所述第一比例阈值的情况下,确定所述目标图片内容加载失败。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在加载所述第一图片时,启动图片加载监控,以监控加载所述第一图片的过程中是否存在导致加载失败的异常情形;
在监控到加载所述第一图片的过程中存在导致加载失败的异常情形的情况下,确定所述目标图片内容加载失败;
所述在加载所述第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图,包括:
在未监控到加载所述第一图片的过程中存在导致加载失败的异常情形的情况下,在加载所述第一图片的加载时长达到所述加载时间阈值时,获取加载所述第一图片得到的第一截图。
8.根据权利要求5至7任一项所述的方法,其特征在于,所述目标图片内容存在至少两种格式;所述方法还包括:
在确定所述目标图片内容加载失败的情况下,加载第二图片;
在所述第二图片加载成功的情况下,确定所述目标图片内容加载成功;
其中,所述第二图片的图片内容为所述目标图片内容,且所述第二图片和所述第一图片的格式不同。
9.一种视频渲染检测方法,其特征在于,所述方法用于检测直播间视频渲染成功,所述方法包括:
在未触发首帧回调的情况下,且播放器渲染所述视频的渲染时长达到渲染时间阈值时,获取渲染后的所述视频的视频图像,其中,所述首帧回调是指播放器完成所述视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在所述视频播放界面显示所述视频的过程,所述视频图像是指对所述视频渲染完成后的渲染结果进行截取所形成的图片;
确定所述视频图像的像素点的总数量值和所述视频图像中第一颜色的像素点的数量值,所述第一颜色是指所述视频图像中数量值最大的像素点的颜色;
在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述视频渲染成功。
10.根据权利要求9所述的方法,其特征在于,所述获取渲染后的所述视频的视频图像,包括:
获取渲染后的所述视频的第一图像,所述第一图像是指对所述视频渲染完成后的渲染结果进行截取所形成的图片;
将第一比例值作为缩小比例对所述第一图像进行缩小,得到所述视频图像。
11.根据权利要求9所述的方法,其特征在于,所述确定所述视频图像的像素点的总数量值和所述视频图像中第一颜色的像素点的数量值,包括:
在遍历所述视频图像的像素点的过程中,对照颜色的RGB数值,计算出所述视频图像的至少一种颜色的像素点的数量值,并计算出所述视频图像的像素点的所述总数量值;
从所述至少一种颜色的像素点的数量值中,确定数量值最大的像素点的颜色为所述第一颜色及确定所述第一颜色的像素点的数量值。
12.根据权利要求9至11任一项所述的方法,其特征在于,所述方法还包括:
在所述第一颜色的像素点的数量值与所述总数量值的比值,超过所述第一比例阈值的情况下,确定所述视频渲染失败。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在确定所述视频渲染失败的情况下,将点位字段上报至服务器,所述点位字段包括直播房间标识、直播主机标识、用户终端类型、用户终端的操作系统类型、所述第一颜色的RGB数值、所述第一颜色的像素点的数量值与所述总数量值的比值、图像存储地址和日志存储地址中的至少一个;
其中,所述图像存储地址和所述日志存储地址是指将所述视频图像和日志上传至内容分发网络后,所述内容分发网络生成并下发的,用于分别存储所述视频图像和所述日志的存储地址,所述日志记录的内容包括获取所述视频图像的时刻、在所述时刻接收到的用户操作指令中的至少一个。
14.一种图片加载检测装置,其特征在于,所述装置包括:
图片加载模块,用于响应于针对目标图片内容的加载请求,加载第一图片,所述第一图片的图片内容为所述目标图片内容;
截图获取模块,用于在加载所述第一图片的加载时长达到加载时间阈值时,获取加载所述第一图片得到的第一截图;
第一确定模块,用于确定所述第一截图的像素点的总数量值和所述第一截图中第一颜色的像素点的数量值,所述第一颜色是指所述第一截图中数量值最大的像素点的颜色;
加载成功确定模块,用于在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述目标图片内容加载成功。
15.一种视频渲染检测装置,其特征在于,所述装置用于检测直播间视频渲染成功,所述装置包括:
图像获取模块,用于在未触发首帧回调的情况下,且播放器渲染所述视频的渲染时长达到渲染时间阈值时,获取渲染后的所述视频的视频图像,其中,所述首帧回调是指播放器完成所述视频的渲染后,发送指示信号,以指示清除显示在视频播放界面的预设背景图像并在所述视频播放界面显示所述视频的过程,所述视频图像是指对所述视频渲染完成后的渲染结果进行截取所形成的图片;
第二确定模块,用于确定所述视频图像的像素点的总数量值和所述视频图像中第一颜色的像素点的数量值,所述第一颜色是指所述视频图像中数量值最大的像素点的颜色;
渲染成功确定模块,用于在所述第一颜色的像素点的数量值与所述总数量值的比值,未超过第一比例阈值的情况下,确定所述视频渲染成功。
16.一种计算机设备,其特征在于,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如权利要求1至13中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1至13中任一项所述的方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令;在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行如权利要求1至13中任一项所述的方法。
CN202311444246.3A 2023-11-01 2023-11-01 图片加载检测方法、视频渲染检测方法及相关产品 Active CN117556162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311444246.3A CN117556162B (zh) 2023-11-01 2023-11-01 图片加载检测方法、视频渲染检测方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311444246.3A CN117556162B (zh) 2023-11-01 2023-11-01 图片加载检测方法、视频渲染检测方法及相关产品

Publications (2)

Publication Number Publication Date
CN117556162A true CN117556162A (zh) 2024-02-13
CN117556162B CN117556162B (zh) 2024-06-25

Family

ID=89822450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311444246.3A Active CN117556162B (zh) 2023-11-01 2023-11-01 图片加载检测方法、视频渲染检测方法及相关产品

Country Status (1)

Country Link
CN (1) CN117556162B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989302A (zh) * 2010-10-22 2011-03-23 西安交通大学 一种基于多层位图颜色特征的图像检索方法
US9478042B1 (en) * 2014-08-12 2016-10-25 Google Inc. Determining visibility of rendered content
US20170185861A1 (en) * 2015-12-28 2017-06-29 Facebook, Inc. Systems and methods for analyzing rendered content
CN110084154A (zh) * 2019-04-12 2019-08-02 北京字节跳动网络技术有限公司 渲染图像的方法、装置、电子设备和计算机可读存储介质
CN111277724A (zh) * 2020-02-10 2020-06-12 Oppo(重庆)智能科技有限公司 异常运行应用的检测方法、装置、电子设备及存储介质
CN112199131A (zh) * 2019-07-08 2021-01-08 腾讯科技(深圳)有限公司 一种页面检测方法、装置及设备
CN113495843A (zh) * 2021-07-07 2021-10-12 北京百度网讯科技有限公司 用于测试视频播放器的起播性能的方法和装置
CN114882126A (zh) * 2022-05-10 2022-08-09 北京有竹居网络技术有限公司 一种图像处理方法、装置、设备及存储介质
CN115222693A (zh) * 2022-07-14 2022-10-21 抖音视界有限公司 一种白屏检测方法、装置、设备及介质
CN116560980A (zh) * 2023-04-14 2023-08-08 广州市动景计算机科技有限公司 应用加载性能的测试方法、设备及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989302A (zh) * 2010-10-22 2011-03-23 西安交通大学 一种基于多层位图颜色特征的图像检索方法
US9478042B1 (en) * 2014-08-12 2016-10-25 Google Inc. Determining visibility of rendered content
US20170185861A1 (en) * 2015-12-28 2017-06-29 Facebook, Inc. Systems and methods for analyzing rendered content
CN110084154A (zh) * 2019-04-12 2019-08-02 北京字节跳动网络技术有限公司 渲染图像的方法、装置、电子设备和计算机可读存储介质
CN112199131A (zh) * 2019-07-08 2021-01-08 腾讯科技(深圳)有限公司 一种页面检测方法、装置及设备
CN111277724A (zh) * 2020-02-10 2020-06-12 Oppo(重庆)智能科技有限公司 异常运行应用的检测方法、装置、电子设备及存储介质
CN113495843A (zh) * 2021-07-07 2021-10-12 北京百度网讯科技有限公司 用于测试视频播放器的起播性能的方法和装置
CN114882126A (zh) * 2022-05-10 2022-08-09 北京有竹居网络技术有限公司 一种图像处理方法、装置、设备及存储介质
CN115222693A (zh) * 2022-07-14 2022-10-21 抖音视界有限公司 一种白屏检测方法、装置、设备及介质
CN116560980A (zh) * 2023-04-14 2023-08-08 广州市动景计算机科技有限公司 应用加载性能的测试方法、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN117556162B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
US10186297B2 (en) Reference and non-reference video quality evaluation
US10911817B2 (en) Information processing system
CN113068040A (zh) 一种图像压缩方法、装置、电子设备及可读存储介质
JP6229067B2 (ja) データアクセス方法及び装置
CN111093079A (zh) 图像处理方法及装置
US20110271307A1 (en) Video data stream evaluation systems and methods
US10033930B2 (en) Method of reducing a video file size for surveillance
CN111263097A (zh) 媒体数据传输方法及相关设备
CN117556162B (zh) 图片加载检测方法、视频渲染检测方法及相关产品
CN111935497B (zh) 一种用于交警系统的视频流管理方法和数据服务器
US8812584B2 (en) Moving picture file transmitting server and method of controlling operation of same
US11323730B2 (en) Temporally-overlapped video encoding, video decoding and video rendering techniques therefor
CN107734278B (zh) 一种视频回放方法及相关装置
US11398091B1 (en) Repairing missing frames in recorded video with machine learning
CN111885417B (zh) Vr视频播放方法、装置、设备以及存储介质
CN115878379A (zh) 一种数据备份方法、主服务器、备份服务器及存储介质
WO2018003685A1 (ja) 画像圧縮方法、画像復元方法、画像圧縮装置、画像復元装置、画像圧縮プログラムプロダクト及び画像復元プログラムプロダクト
US7558429B2 (en) Image processing method and method for detecting differences between different image macro-blocks
CN110602507A (zh) 丢帧处理方法、设备及系统
CN112399173A (zh) 一种通道解码测试方法、系统及可读存储介质
CN112055174A (zh) 一种视频传输方法、装置及计算机可读存储介质
CN110855619A (zh) 播放音视频数据的处理方法、装置、存储介质及终端设备
US20220141469A1 (en) Method and apparatus for constructing motion information list in video encoding and decoding and device
CN117475013B (zh) 一种计算机设备和视频数据处理方法
CN110662060B (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