CN113115074B - 视频卡顿的处理方法及设备 - Google Patents

视频卡顿的处理方法及设备 Download PDF

Info

Publication number
CN113115074B
CN113115074B CN202110482610.XA CN202110482610A CN113115074B CN 113115074 B CN113115074 B CN 113115074B CN 202110482610 A CN202110482610 A CN 202110482610A CN 113115074 B CN113115074 B CN 113115074B
Authority
CN
China
Prior art keywords
time
pause
information
last
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110482610.XA
Other languages
English (en)
Other versions
CN113115074A (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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110482610.XA priority Critical patent/CN113115074B/zh
Publication of CN113115074A publication Critical patent/CN113115074A/zh
Application granted granted Critical
Publication of CN113115074B publication Critical patent/CN113115074B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例提供一种视频卡顿的处理方法及设备,该视频卡顿的处理方法包括:对一视频进行处理;在对上述视频进行处理的过程中,按照预设时间周期统计卡顿信息,该卡顿信息包括以下至少一种:卡顿时长、卡顿次数。本公开实施例可以周期性的统计卡顿信息,避免遗漏本次卡顿。

Description

视频卡顿的处理方法及设备
技术领域
本公开实施例涉及视频处理技术领域,尤其涉及一种视频卡顿的处理方法及设备。
背景技术
随着终端设备的功能越来越强大,人们对终端设备的使用日益广泛。人们在使用终端设备的过程中可以对视频进行处理,包括:在线播放视频、对视频进行解码、对视频进行编码、对视频进行录制。在对视频进行处理的过程中,如果处理相邻两帧图像之间的时间差较大时,说明该视频出现卡顿。
从而,在统计视频的卡顿过程中,如何避免遗漏视频卡顿是亟待解决的问题。
发明内容
本公开实施例提供一种视频卡顿的处理方法及设备,以避免遗漏视频卡顿的及时性。
第一方面,本公开实施例提供一种视频卡顿的处理方法,包括:
对一视频进行处理;
在对所述视频进行处理的过程中,按照预设时间周期统计卡顿信息,所述卡顿信息包括以下至少一种:卡顿时长、卡顿次数。
第二方面,本公开实施例提供一种卡顿信息的处理方法,包括:
获取至少一组卡顿信息,所述卡顿信息中包括卡顿时长;
从所述至少一组卡顿信息中确定目标卡顿信息,所述目标卡顿信息包括的卡顿时长小于或等于预设时间间隔和预设时长阈值之和,所述预设时间间隔是确定视频是否处于卡顿状态的预设时间周期对应的时间间隔,所述预设时长阈值是所述视频未处于卡顿状态下,处理相邻两帧图像之间的最大时间差。
第三方面,本公开实施例提供一种终端设备,包括:
视频处理模块,用于对一视频进行处理;
第一卡顿信息统计模块,用于在对所述视频进行处理的过程中,按照预设时间周期统计卡顿信息,所述卡顿信息包括以下至少一种:卡顿时长、卡顿次数。
第四方面,本公开实施例提供一种服务器,包括:
卡顿信息获取模块,用于获取至少一组卡顿信息,所述卡顿信息中包括卡顿时长;
目标卡顿信息确定模块,用于从所述至少一组卡顿信息中确定目标卡顿信息,所述目标卡顿信息包括的卡顿时长小于或等于预设时间间隔和预设时长阈值之和,所述预设时间间隔是确定视频是否处于卡顿状态的预设时间周期对应的时间间隔,所述预设时长阈值是所述视频未处于卡顿状态下,处理相邻两帧图像之间的最大时间差。
第五方面,本公开实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述终端设备实现如上第一方面所述的方法。
第六方面,本公开实施例提供一种服务器,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述服务器实现如上第二方面所述的方法。
第七方面,本公开实施例提供了一种视频卡顿的处理系统,包括:第三方面或第五方面所述的终端设备、和第四方面或第六方面所述的服务器。
第八方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如上述第一方面或第二方面所述的方法。
第九方面,本公开实施例提供一种计算机程序,所述计算机程序用于实现如上述第一方面或第二方面所述的方法。
本实施例提供的视频卡顿的处理方法及设备,该方法包括:对一视频进行处理;在对上述视频进行处理的过程中,按照预设时间周期统计卡顿信息,该卡顿信息包括以下至少一种:卡顿时长、卡顿次数。本公开实施例可以周期性的统计卡顿信息,从而在对视频进行处理的进程出现卡顿时,若到达统计周期,则可以将本次卡顿统计上,此时,即使该进程由于卡顿被关闭,也可以避免遗漏本次卡顿。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本公开实施例应用的在线视频播放场景的示意图;
图2示例性示出了本公开实施例提供的一种视频卡顿的处理方法的步骤流程图;
图3示例性示出了本公开实施例提供的一种统计卡顿信息的过程示意图;
图4示例性示出了本公开实施例提供的统计卡顿信息过程中的变量更新流程图;
图5示例性示出了本公开实施例提供的一种卡顿信息的处理方法的步骤流程图;
图6示例性示出了本公开实施例提供的一种终端设备的结构框图;
图7示例性示出了本公开实施例提供的一种服务器的结构框图;
图8、图9示例性示出了本公开实施例提供的两种电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例可以应用于对视频的处理过程中。对视频的处理过程可以包括但不限于:在线播放、录制、发送、接收、编码、解码。
在对上述视频进行处理的过程中,视频可能出现卡顿,即相邻两帧图像之间的处理时间差大于预设时长阈值时,确定视频出现卡顿;否则,确定视频不出现卡顿。
视频可以存储在服务器中,一个或多个客户端可以访问服务器以从服务器中获取视频,获取到的视频可以在客户端上进行在线播放或进行其余处理。图1示例性示出了本公开实施例应用的在线视频播放场景的示意图。参照图1所示,图1示例性的给出了一个服务器和四个客户端:CT1(client1)、CT2、CT3和CT4,CT1、CT2、CT3和CT4为安装于不同终端设备的应用程序。当客户端上的一视频标识被点击时,该客户端从服务器中获取视频以播放。例如,当CT1上的一视频标识被点击时,CT1从服务器中获取视频。当然,图1中的CT1、CT2、CT3、CT4中的至少两个客户端可以在同一时间从服务器中获取同一视频或不同视频,也可以在不同时间从服务器中获取同一视频或不同视频。
在对视频进行在线播放的过程中,服务器将视频中的多帧图像连续发送给终端设备,以使终端设备对视频进行在线播放,从而相邻两帧图像之间的处理时间差可以为播放相邻两帧图像的时间差。
在对视频进行录制的过程中,通过一个设备录制多帧连续的图像形成视频,从而相邻两帧图像之间的处理时间差可以为相邻两帧图像之间的录制时间差。
在对视频进行发送的过程中,一个设备将视频按照帧连续发送给另一设备,从而相邻两帧图像之间的处理时间差可以为相邻两帧图像之间的发送时间差。
同理,在对视频进行接收的过程中,一个设备从另一设备接收视频的多帧图像,从而相邻两帧图像之间的处理时间差可以为相邻两帧图像之间的接收时间差。
在对视频进行编码的过程中,一个设备可以对视频中的每帧图像按照顺序进行编码,从而相邻两帧图像之间的处理时间差可以为相邻两帧图像之间的开始编码时间差。
在对视频进行解码的过程中,一个设备可以对视频中的每帧图像按照顺序进行解码,从而相邻两帧图像之间的处理时间差可以为相邻两帧图像之间的开始解码时间差。
上述对视频进行处理的过程可以由一进程执行,在视频出现卡顿时,该进程可以被关闭,如此会漏掉本次卡顿。
为了解决上述技术问题,可以周期性的统计卡顿信息,从而在对视频进行处理的进程出现卡顿时,若到达统计周期,则可以将本次卡顿统计上,此时,即使该进程由于卡顿被关闭,也可以避免遗漏本次卡顿。
下面以具体地实施例对本公开实施例的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开实施例进行描述。
图2示例性示出了本公开实施例提供的一种视频卡顿的处理方法的步骤流程图。图2所示的方法可以应用在终端设备中,由终端设备执行视频卡顿的处理方法的步骤。参照图2所示,该视频卡顿的处理方法包括:
S101:对一视频进行处理。
S102:在对上述视频进行处理的过程中,按照预设时间周期统计卡顿信息,该卡顿信息包括以下至少一种:卡顿时长、卡顿次数。
其中,在按照预设时间周期统计卡顿信息时,可以采用两种方式。
方式一,在到达预设时间周期时,若发生卡顿,则统计卡顿信息,若未发生卡顿,则不统计卡顿信息。
方式二,在到达预设时间周期时,若发生卡顿,则统计卡顿信息,若未发生卡顿,则将卡顿时长确定为0,卡顿次数确定为0。
上述卡顿时长为本次卡顿的时长。在本时间周期内未处理图像时,该卡顿时长为预设时间周期对应的时长。在本时间周期内处理至少一帧图像时,该卡顿时长为当前时间和处理最后一帧图像的时间之间的时间差。其中,本时间周期的结束时间为当前时间,起始时间为比当前时间早预设时长的时间,该预设时长是预设时间周期对应的时长。
上述卡顿次数可以代表当前时间发生的卡顿是否为一次新的卡顿。当该卡顿为一次新的卡顿时,卡顿次数为1。当该卡顿不为一次新的卡顿时,卡顿次数为0。
图3示例性示出了本公开实施例提供的一种统计卡顿信息的过程示意图。参照图3所示,t1、t4、t5、t6、t7、t8、t9是视频中的图像的到达时间,t2、t3、t10、t11为按照预设时间周期到达的4个时间,t2、t3、t10、t11中任意两个相邻的时间之间的时间差为预设时间周期对应的时长。
上述图3中,预设时间周期对应的时长和预设时长阈值可以根据实际应用场景进行设定,本公开实施例对其不加以限制。下面详细说明在预设时间周期为2秒和预设时长阈值为500毫秒的情况下,每到达一个时间时统计卡顿信息的过程。
在到达时间t2时,由于t2之前2秒内的时间t1处理一帧图像,并且t2和t1之间的时间差600毫秒大于预设时长阈值500毫秒,从而确定视频在当前时间t2发生卡顿。此时,可以统计一次卡顿信息,卡顿时长可以为t2-t1=600毫秒。由于t2之前2秒内的时间t1处理一帧图像,从而表示上次卡顿已结束,本次卡顿是一次新的卡顿,卡顿次数为1。
在到达时间t3时,由于t3之前2秒内未到达一帧图像,从而确定视频在当前时间t3发生卡顿,此时,可以统计一次卡顿信息,卡顿时长可以为t3-t2=2秒。由于t3之前2秒内未到达一帧图像,从而表示本次卡顿不是一次新的卡顿,是上次卡顿未结束,卡顿次数可以为0。
在到达时间t10时,由于t10之前2秒内的时间t5到达一帧图像,并且t10和t5之间的时间差300毫秒小于预设时长阈值500毫秒,从而确定视频在当前时间t10未发生卡顿,此时,可以统计一次卡顿信息,卡顿时长和卡顿次数可以为0;当然,还可以不统计卡顿信息,不统计卡顿信息即代表未发生卡顿。
在到达时间t11时,由于t11之前2秒内的时间t9到达一帧图像,并且t11和t9之间的时间差300毫秒小于预设时长阈值500毫秒,从而确定视频在当前时间t11未发生卡顿,此时,可以统计一次卡顿信息,卡顿时长和卡顿次数可以为0;当然,还可以不统计卡顿信息。
可选地,还可以在处理上述视频的一帧图像时,统计卡顿信息。
具体地,在处理一帧图像时,若发生卡顿,则统计卡顿信息;若未发生卡顿,则可以不统计卡顿信息,或统计卡顿信息,但卡顿时长和卡顿次数均为0。
如图3所示,在时间t4处理一帧图像时,由于t4与t3之间的时间差510毫秒大于或等于预设时长阈值500毫秒,从而确定视频在当前时间t4发生卡顿,并且统计卡顿信息。卡顿时长可以为t4-t3=510毫秒,卡顿次数为0,代表本次卡顿不是一次新的卡顿,在时间t1发生的卡顿还未结束。
在时间t5处理一帧图像时,由于t5与处理上一帧图像的时间t4之间的时间差1000毫秒大于预设时长阈值500毫秒,从而确定视频在当前时间t5发生卡顿,并统计卡顿信息。卡顿时长为t5-t4=1000毫秒,卡顿次数为1,代表本次卡顿为一次新的卡顿,在时间t4发生的卡顿已结束。
在到达时间t6时,到达一帧图像,由于t6与t5之间的时间差700毫秒大于预设时长阈值500毫秒,从而确定视频在当前时间t6发生卡顿,统计卡顿信息。卡顿时长为t6-t5=700毫秒,卡顿次数均为1。
在达到时间t7时,由于t7与t6之间的时间差450毫秒小于预设时长阈值500毫秒,从而确定视频在当前时间t7未发生卡顿,可以不统计卡顿信息,或统计卡顿信息,但卡顿时长和卡顿次数均为0。
在达到时间t8时,由于t8与t7之间的时间差450毫秒小于预设时长阈值500毫秒,从而确定视频在当前时间t8未发生卡顿,可以不统计卡顿信息,或统计卡顿信息,但卡顿时长和卡顿次数均为0。
在达到时间t9时,由于t9与t8之间的时间差400毫秒小于预设时长阈值500毫秒,从而确定视频在当前时间t9未发生卡顿,可以不统计卡顿信息,或统计卡顿信息,但卡顿时长和卡顿次数均为0。
可以理解的是,上述统计卡顿信息之后,终端设备可以向服务器发送卡顿信息。具体地,可以每统计一次卡顿信息即发送,也可以在多次统计之后发送,发送卡顿信息和统计卡顿信息的过程可以不相关,也可以相关。当然,若每统计一次卡顿信息即发送一次卡顿信息,则可以提高发送卡顿信息的及时性,避免卡顿已发生但由于未开始处理下一帧图像导致未及时发送卡顿信息。
可选地,当上述卡顿信息包括卡顿次数时,上述按照预设时间周期统计卡顿信息,包括:
在当前时间到达预设时间周期时,若当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,该卡顿次数用于表示本次卡顿是新增的一次卡顿。
相应地,上述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理视频的一帧图像时,若当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,该卡顿次数用于表示本次卡顿是新增的一次卡顿。
其中,上述上次时间用于表示上一帧图像的到达时间,或,按照预设时间周期确定视频在存在卡顿的时间。上次时间在初始状态下为0,上次时间会进行如下两种更新:第一种更新,在到达一帧图像时,更新为该图像的到达时间;第二种更新,在到达预设时间周期时,若当前时间与上次时间的时间差大于预设时长阈值,则将上次时间更新为该当前时间。
上述卡顿标记用于表示上次卡顿是否已结束,在上次卡顿已结束的情况下,若当前时间存在卡顿,则更新卡顿次数;在上次卡顿未结束的情况下,若当前时间存在卡顿,也不更新卡顿次数。在初始状态下卡顿标记代表上次卡顿已结束,在处理一帧图像之后,若当前时间发生了卡顿,则无论该卡顿是上次卡顿未结束导致的,还是当前时间距离上次时间之间的时间差大于预设时长阈值导致的,卡顿标记均被更新为上次卡顿已结束;在当前时间到达预设时间周期之后,若当前时间和上次时间之间的时间差大于预设时长阈值,则将卡顿标记更新为上次卡顿未结束。
具体地,当卡顿次数用于表示本次卡顿时新增的一次卡顿时,卡顿次数可以为1。
可以理解的是,若当前时间与上次时间之间的时间差大于预设时长阈值,则代表视频在当前时间发生了卡顿。又由于卡顿标记代表上次卡顿已结束,从而视频在当前时间的这次卡顿是一次新的卡顿。例如,图3中,在到达时间t2时,由于上一次在时间t1处理一帧图像,从而确定视频在当前时间t2发生卡顿,并且时间t1的上次卡顿已结束。此时,在时间t2统计的卡顿是一次新的卡顿,时间t2的卡顿次数可以为1。又例如,图3中,在到达时间t3时,由于上一次在时间t2确定视频发生了一次卡顿,但t2至t3之间未到达一帧图像,从而代表时间t2的那次卡顿未结束,在时间t3确定的卡顿并不是一次新的卡顿,此时,在时间t3统计的卡顿次数可以为0。
在本公开实施例中,可以通过卡顿标记确定本次卡顿是否为一次新的卡顿,从而避免在上一次卡顿未结束的情况下多统计一次卡顿次数,有助于提高卡顿次数的准确度。
可选地,当卡顿信息包括卡顿时长时,上述按照预设时间周期统计卡顿信息,包括:
在当前时间到达预设时间周期时,若当前时间与上次时间之间的时间差大于预设时长阈值,则将时间差作为卡顿时长。
相应地,上述在处理所述视频的一帧图像时,统计卡顿信息,包括下面两种情况:
第一种情况,在处理视频的一帧图像时,若卡顿标记代表上次卡顿已结束,且当前时间和上次时间之间的时间差大于预设时长阈值,则将时间差确定为卡顿时长。
第二种情况,在处理视频的一帧图像时,若卡顿标记代表上次卡顿未结束,则将当前时间和上次时间之间的时间差确定为卡顿时长。
可以理解的是,在当前时间到达预设时间周期时,若时间差大于预设时长阈值,则确定视频在当前时间发生卡顿,此时,无论本次卡顿是否为一次新的卡顿,卡顿时长均需要统计。例如,如图3所示,在时间t3,t3和t2之间的时间差2000毫秒为卡顿时长。
然而,在处理一帧图像时,若卡顿标记代表上次卡顿已结束,则需要根据时间差判断视频在当前时间是否卡顿。若时间差大于预设时长阈值,则确定视频在当前时间发生卡顿,并且由于上次卡顿已结束,从而该卡顿为一次新的卡顿。此时需要将该时间差作为这次新的卡顿的卡顿时长。例如,如图3所示,卡顿标记在时间t4被更新为上次卡顿已结束,在时间t5,由于t5和t4之间的时间差1000毫秒大于预设时长阈值500毫秒,从而500毫秒是这次新的卡顿的卡顿时长。
另外,在处理一帧图像时,若卡顿标记代表上次卡顿未结束,则无论视频在当前时间是否发生卡顿,处理该帧图像均代表上次卡顿在当前时间结束,从而该当前时间和上次时间之间的时间差是上次卡顿的剩余卡顿时长,此时可以将这个时间差作为卡顿时长。如图3所示,在时间t4时处理一帧图像,由于在时间t3处理一帧图像之后卡顿标记被更新为上次卡顿未结束,从而确定卡顿时长为时间t4和t3之间的时间差。
可选地,在当前时间到达预设时间周期时,可以首先根据当前时间和上次时间确定时间差,若该时间差大于预设时长阈值,将上次时间更新为当前时间。
相应地,在处理一帧图像之后,首先确定时间差,然后将上次时间更新为处理一帧图像的时间。
可以看出,上次时间可以代表上次处理一帧图像的时间。
可选地,在当前时间到达预设时间周期时,可以首先根据当前时间和上次时间之间的时间差确定视频在当前时间是否发生卡顿。在确定视频在当前时间发生卡顿时,根据卡顿标记确定上次卡顿是否已结束。在根据卡顿标记确定上次卡顿是否已结束之后,可以对卡顿标记进行第一更新,第一更新后的卡顿标记代表上次卡顿未结束。
相应地,在到达一帧图像时,在根据卡顿标记确定上次卡顿是否已结束之后,在当前时间发生卡顿的情况下,可以对卡顿标记进行第二更新,第二更新后的卡顿标记代表上次卡顿已结束。具体可以包括以下两种情况:
第一种情况,确定卡顿标记是否代表上次卡顿已结束,若卡顿标记代表上次卡顿未结束,则对卡顿标记进行第二更新。
第二种情况,若卡顿标记代表上次卡顿已结束,且时间差大于预设时长阈值,则对卡顿标记进行第二更新。
可以理解的是,在当前时间到达预设时间周期时,若当前时间和上次时间之间的时间差大于预设时长阈值,则代表上次时间至当前时间之间未处理一帧图像,从而代表本次卡顿未结束。在下次处理一帧图像或下次到达预设时间周期时,卡顿标记用于代表上次卡顿未结束。
在处理一帧图像时,将卡顿标记更新为卡顿已结束,在下次处理一帧图像或下次到达预设时间周期时,卡顿标记用于代表上次卡顿已结束。
本公开实施例可以对卡顿标记进行更新,以使卡顿标记准确的代表上次卡顿是否结束,有助于提高卡顿次数的准确度。
图4示例性示出了本公开实施例提供的统计卡顿信息过程中的变量更新流程图。从图4中可以看出上次时间、卡顿标记等变量的更新过程。如图4所示,在开始播放视频以后,随着时间的推移,存在两种场景下的更新。第一种场景为当前时间处理一帧图像时的更新,第二种场景为当前时间到达预设时间周期时的更新。
在第一种场景下,处理一帧图像之后,首先,计算当前时间和上次时间之间的时间差,并将上次时间更新为当前时间;然后,若上次卡顿未结束,则将时间差作为卡顿时长;若上次卡顿已结束,并且时间差大于预设时长阈值,则将1作为卡顿次数,将时间差作为卡顿时长,并将卡顿次数和卡顿时长;最后,确定卡顿时长和/或卡顿次数之后,对卡顿标记进行第二更新。
在第二种场景下,当前时间到达预设时间周期之后,首先,计算当前时间和上次时间之间的时间差,若该时间差大于预设时长阈值,则将上次时间更新为当前时间;然后,在将上次时间更新为当前时间之后,判断上次卡顿是否已结束,若已结束,则将1作为卡顿次数,将时间差作为卡顿时长;若未结束,则将时间差作为卡顿时长;最后,在确定卡顿时长和/或卡顿次数之后,对卡顿标记进行第一更新。
可选地,上述按照预设时间周期统计卡顿信息的步骤可以由第一线程执行,即:调用第一线程按照预设时间周期统计卡顿信息。相应地,上述在处理视频的一帧图像时,统计卡顿信息的步骤可以由第二线程执行,即:在处理视频的一帧图像时,调用第二线程统计卡顿信息。
其中,第一线程和第二线程并行运行,第二线程可以是视频线程,第一线程是不同于第二线程的另一线程。可以理解的是,第一线程和第二线程在同时启动并且同时结束时,可以尽可能的避免遗漏统计视频的卡顿信息。
图5示例性示出了本公开实施例提供的一种卡顿信息的处理方法的步骤流程图。图5所示的方法可以应用在服务器中,由服务器执行该方法的步骤。
参照图5所示,该卡顿信息的处理方法包括:
S201:获取至少一组卡顿信息,该卡顿信息中包括卡顿时长。
S202:从至少一组卡顿信息中确定目标卡顿信息,该目标卡顿信息包括的卡顿时长小于或等于预设时间间隔和预设时长阈值之和,该预设时间间隔是确定视频是否处于卡顿状态的预设时间周期对应的时间间隔,预设时长阈值是该视频未处于卡顿状态下,处理相邻两帧图像之间的最大时间差。
可以理解的是,这里的卡顿信息是图2所示方法终端设备执行的,终端设备可以将卡顿信息发送给服务器。服务器可以根据卡顿时长从终端设备发送的卡顿信息中获取正常卡顿信息,剔除异常卡顿信息。
从图2所示方法的详细说明中可知,终端设备发送的卡顿时长最大为预设时间间隔和预设时长阈值之和,从而卡顿时长小于或等于该和的卡顿信息为正常卡顿信息,也就是目标卡顿信息,卡顿时长大于该和的卡顿信息为异常卡顿信息。
本公开实施例可以根据不同终端设备发送的目标卡顿信息,统计视频的综合卡顿信息,综合卡顿信息中包括的总卡顿时长可以为所有目标卡顿信息中包括的卡顿时长之和,综合卡顿信息中的总卡顿次数可以为所有目标卡顿信息中包括的卡顿次数之和。由于目标卡顿信息是正常卡顿信息,从而可以避免异常卡顿信息对综合卡顿信息的准确度的影响,有助于提高综合卡顿信息的准确度。
对应于上文实施例的视频卡顿的处理方法,图6示例性示出了本公开实施例提供的一种终端设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图6,上述终端设备300包括:视频处理模块301和第一卡顿信息统计模块302。
其中,视频处理模块301,用于对一视频进行处理。
第一卡顿信息统计模块302,用于在对所述视频进行处理的过程中,按照预设时间周期统计卡顿信息,所述卡顿信息包括以下至少一种:卡顿时长、卡顿次数。
可选地,所述终端设备300还包括:
第二卡顿信息统计模块,用于在处理所述视频的一帧图像时,统计卡顿信息。
可选地,当所述卡顿信息包括卡顿次数时,所述第一卡顿信息统计模块302还用于:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
可选地,当所述卡顿信息包括卡顿时长时,所述第一卡顿信息统计模块302还用于:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述时间差作为所述卡顿时长;所述上次时间在初始状态下为0。
可选地,上述终端设备300还包括:
第一上次时间更新模块,用于若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述上次时间更新为所述当前时间。
可选地,上述终端设备300还包括:
第一卡顿标记更新模块,用于对所述卡顿标记进行第一更新,所述第一更新后的所述卡顿标记代表上次卡顿未结束。
可选地,当所述卡顿信息包括卡顿次数时,所述第二卡顿信息统计模块还用于:
在处理所述视频的一帧图像时,若当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
可选地,当所述卡顿信息包括卡顿时长时,所述第二卡顿信息统计模块还用于:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿已结束,且当前时间和上次时间之间的时间差大于预设时长阈值,则将所述时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
可选地,当所述卡顿信息包括卡顿时长时,所述第二卡顿信息统计模块还用于:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿未结束,则将当前时间和上次时间之间的时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
可选地,上述终端设备还包括:
第二上次时间更新模块,用于在确定所述时间差之后,将所述上次时间更新为处理所述一帧图像的时间。
可选地,上述终端设备300还包括:
第二卡顿标记更新模块,用于对所述卡顿标记进行第二更新,所述第二更新后的所述卡顿标记代表上次卡顿已结束。
可选地,所述第一卡顿信息统计模块302,还用于:
调用第一线程按照预设时间周期统计卡顿信息;
所述第二卡顿信息统计模块,还用于:
在处理所述视频的一帧图像时,调用第二线程统计卡顿信息,所述第一线程和所述第二线程并行运行。
本实施例提供的终端设备,可用于执行上述图2所示的方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
对应于上文实施例的卡顿信息的处理方法,图7示例性示出了本公开实施例提供的一种服务器的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图7,上述服务器400包括卡顿信息获取模块401和目标卡顿信息确定模块402。
其中,卡顿信息获取模块401,用于获取至少一组卡顿信息,所述卡顿信息中包括卡顿时长。
目标卡顿信息确定模块402,用于从所述至少一组卡顿信息中确定目标卡顿信息,所述目标卡顿信息包括的卡顿时长小于或等于预设时间间隔和预设时长阈值之和,所述预设时间间隔是确定视频是否处于卡顿状态的预设时间周期对应的时间间隔,所述预设时长阈值是所述视频未处于卡顿状态下,处理相邻两帧图像之间的最大时间差。
本实施例提供的服务器,可用于执行上述图5所示的方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
上述终端设备和服务器均为电子设备,图8示例性示出了本公开实施例提供的一种电子设备的结构框图。该电子设备600包括存储器602和至少一个处理器601;
其中,存储器602存储计算机执行指令;
当该电子设备600为终端设备时,至少一个处理器601执行存储器602存储的计算机执行指令,使得终端设备实现前述图2中的视频卡顿的处理方法;
当该电子设备600为服务器时,至少一个处理器601执行存储器602存储的计算机执行指令,使得服务器实现前述图5中的卡顿信息的处理方法;
此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,发给处理器601,发送器604用于将信息发送到其余装置或设备。
进一步地,图9示例性示出了本公开实施例提供的另一种电子设备的结构框图,该电子设备900可以为终端设备。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(Read Only Memory,简称ROM)902中的程序或者从存储装置908加载到随机访问存储器(Random Access Memory,简称RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本公开实施例还提供了一种计算机程序,计算机程序用于实现前述视频卡顿的处理方法或卡顿信息的处理方法。
本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如前述视频卡顿的处理方法或卡顿信息的处理方法。
本公开实施例还提供了一种视频卡顿的处理系统,该系统可以包括前述终端设备和服务器。
在第一方面的第一种示例中,本公开实施例提供了一种视频卡顿的处理方法,包括:
对一视频进行处理;
在对所述视频进行处理的过程中,按照预设时间周期统计卡顿信息,所述卡顿信息包括以下至少一种:卡顿时长、卡顿次数。
基于第一方面的第一种示例,在第一方面的第二种示例中,还包括:
在处理所述视频的一帧图像时,统计卡顿信息。
基于第一方面的第二种示例,在第一方面的第三种示例中,当所述卡顿信息包括卡顿次数时,所述按照预设时间周期统计卡顿信息,包括:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第一方面的第二种示例,在第一方面的第四种示例中,当所述卡顿信息包括卡顿时长时,所述按照预设时间周期统计卡顿信息,包括:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述时间差作为所述卡顿时长,并统计所述卡顿时长;所述上次时间在初始状态下为0。
基于第一方面的第三或第四种示例,在第一方面的第五种示例中,还包括:
若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述上次时间更新为所述当前时间。
基于第一方面的第三种示例,在第一方面的第六种示例中,所述统计卡顿次数之后,还包括:
对所述卡顿标记进行第一更新,所述第一更新后的所述卡顿标记代表上次卡顿未结束。
基于第一方面的第二种示例,在第一方面的第七种示例中,当所述卡顿信息包括卡顿次数时,所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,若当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第一方面的第二种示例,在第一方面的第八种示例中,当所述卡顿信息包括卡顿时长时,所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿已结束,且当前时间和上次时间之间的时间差大于预设时长阈值,则将所述时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第一方面的第二种示例,在第一方面的第九种示例中,当所述卡顿信息包括卡顿时长时,所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿未结束,则将当前时间和上次时间之间的时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第一方面的第七至第九任一种示例,在第一方面的第十种示例中,还包括:
在确定所述时间差之后,将所述上次时间更新为处理所述一帧图像的时间。
基于第一方面的第七至第九任一种示例,在第一方面的第十一种示例中,所述在处理所述视频的一帧图像时,统计卡顿信息之后,还包括:
对所述卡顿标记进行第二更新,所述第二更新后的所述卡顿标记代表上次卡顿已结束。
基于第一方面的第二种示例,在第一方面的第十二种示例中,所述按照预设时间周期统计卡顿信息,包括:
调用第一线程按照预设时间周期统计卡顿信息;
所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,调用第二线程统计卡顿信息,所述第一线程和所述第二线程并行运行。
在第二方面的第一种示例中,提供了一种卡顿信息的处理方法,包括:
获取至少一组卡顿信息,所述卡顿信息中包括卡顿时长;
从所述至少一组卡顿信息中确定目标卡顿信息,所述目标卡顿信息包括的卡顿时长小于或等于预设时间间隔和预设时长阈值之和,所述预设时间间隔是确定视频是否处于卡顿状态的预设时间周期对应的时间间隔,所述预设时长阈值是所述视频未处于卡顿状态下,处理相邻两帧图像之间的最大时间差。
在第三方面的第一种示例中,提供了一种终端设备,包括:
视频处理模块,用于对一视频进行处理;
第一卡顿信息统计模块,用于在对所述视频进行处理的过程中,按照预设时间周期统计卡顿信息,所述卡顿信息包括以下至少一种:卡顿时长、卡顿次数。
基于第三方面的第一种示例,在第三方面的第二种示例中,所述终端设备还包括:
第二卡顿信息统计模块,用于在处理所述视频的一帧图像时,统计卡顿信息。
基于第三方面的第二种示例,在第三方面的第三种示例中,当所述卡顿信息包括卡顿次数时,所述第一卡顿信息统计模块还用于:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第三方面的第二种示例,在第三方面的第四种示例中,当所述卡顿信息包括卡顿时长时,所述第一卡顿信息统计模块还用于:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述时间差作为所述卡顿时长;所述上次时间在初始状态下为0。
基于第三方面的第三或第四种示例,在第三方面的第五种示例中,所述终端设备还包括:
第一上次时间更新模块,用于若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述上次时间更新为所述当前时间。
基于第三方面的第三种示例,在第三方面的第六种示例中,所述终端设备还包括:
第一卡顿标记更新模块,用于对所述卡顿标记进行第一更新,所述第一更新后的所述卡顿标记代表上次卡顿未结束。
基于第三方面的第二种示例,在第三方面的第七种示例中,当所述卡顿信息包括卡顿次数时,所述第二卡顿信息统计模块还用于:
在处理所述视频的一帧图像时,若当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第三方面的第二种示例,在第三方面的第八种示例中,当所述卡顿信息包括卡顿时长时,所述第二卡顿信息统计模块还用于:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿已结束,且当前时间和上次时间之间的时间差大于预设时长阈值,则将所述时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第三方面的第二种示例,在第三方面的第九种示例中,当所述卡顿信息包括卡顿时长时,所述第二卡顿信息统计模块还用于:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿未结束,则将当前时间和上次时间之间的时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
基于第三方面的第七至第九任一种示例,在第三方面的第十种示例中,所述终端设备还包括:
第二上次时间更新模块,用于在确定所述时间差之后,将所述上次时间更新为处理所述一帧图像的时间。
基于第三方面的第七至第九任一种示例,在第三方面的第十一种示例中,所述终端设备还包括:
第二卡顿标记更新模块,用于对所述卡顿标记进行第二更新,所述第二更新后的所述卡顿标记代表上次卡顿已结束。
基于第三方面的第二种示例,在第三方面的第十二种示例中,所述第一卡顿信息统计模块还用于:
调用第一线程按照预设时间周期统计卡顿信息;
所述第二卡顿信息统计模块,还用于:
在处理所述视频的一帧图像时,调用第二线程统计卡顿信息,所述第一线程和所述第二线程并行运行。
在第四方面的第一种示例中,提供了一种服务器,包括:
卡顿信息获取模块,用于获取至少一组卡顿信息,所述卡顿信息中包括卡顿时长。
目标卡顿信息确定模块,用于从所述至少一组卡顿信息中确定目标卡顿信息,所述目标卡顿信息包括的卡顿时长小于或等于预设时间间隔和预设时长阈值之和,所述预设时间间隔是确定视频是否处于卡顿状态的预设时间周期对应的时间间隔,所述预设时长阈值是所述视频未处于卡顿状态下,处理相邻两帧图像之间的最大时间差。
第五方面,根据本公开的一个或多个实施例,提供了一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述终端设备实现如第一方面任一项所述的方法。
第六方面,根据本公开的一个或多个实施例,提供了一种服务器,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述服务器实现如第二方面任一项所述的方法。
第七方面,根据本公开的一个或多个实施例,提供了一种视频卡顿的处理系统,所述系统包括:第三方面或第五方面所述的终端设备、和第四方面或第六方面所述的服务器。
第八方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面或第二方面所述的方法。
第九方面,根据本公开的一个或多个实施例,提供了一种计算机程序,所述计算机程序用于实现如上第一方面或第二方面所述的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (14)

1.一种视频卡顿的处理方法,其特征在于,所述方法包括:
对一视频进行处理;
在对所述视频进行处理的过程中,按照预设时间周期统计卡顿信息,所述卡顿信息包括以下至少一种:卡顿时长、卡顿次数;
当所述卡顿信息包括卡顿次数时,所述按照预设时间周期统计卡顿信息,包括:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束;
在统计卡顿次数之后,对所述卡顿标记进行第一更新,所述第一更新后的所述卡顿标记代表上次卡顿未结束。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
在处理所述视频的一帧图像时,统计卡顿信息。
3.根据权利要求2所述的方法,其特征在于,当所述卡顿信息包括卡顿时长时,所述按照预设时间周期统计卡顿信息,包括:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述时间差作为所述卡顿时长;所述上次时间在初始状态下为0。
4.根据权利要求1或3所述的方法,其特征在于,还包括:
若所述当前时间与上次时间之间的时间差大于预设时长阈值,则将所述上次时间更新为所述当前时间。
5.根据权利要求2所述的方法,其特征在于,当所述卡顿信息包括卡顿次数时,所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,若当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
6.根据权利要求2所述的方法,其特征在于,当所述卡顿信息包括卡顿时长时,所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿已结束,且当前时间和上次时间之间的时间差大于预设时长阈值,则将所述时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
7.根据权利要求2所述的方法,其特征在于,当所述卡顿信息包括卡顿时长时,所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,若所述卡顿标记代表上次卡顿未结束,则将当前时间和上次时间之间的时间差确定为所述卡顿时长;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束。
8.根据权利要求5至7任一项所述的方法,其特征在于,还包括:
在确定所述时间差之后,将所述上次时间更新为处理所述一帧图像的时间。
9.根据权利要求5至7任一项所述的方法,其特征在于,所述在处理所述视频的一帧图像时,统计卡顿信息之后,还包括:
对所述卡顿标记进行第二更新,所述第二更新后的所述卡顿标记代表上次卡顿已结束。
10.根据权利要求2所述的方法,其特征在于,所述按照预设时间周期统计卡顿信息,包括:
调用第一线程按照预设时间周期统计卡顿信息;
所述在处理所述视频的一帧图像时,统计卡顿信息,包括:
在处理所述视频的一帧图像时,调用第二线程统计卡顿信息,所述第一线程和所述第二线程并行运行。
11.一种终端设备,其特征在于,包括:
视频处理模块,用于对一视频进行处理;
第一卡顿信息统计模块,用于在对所述视频进行处理的过程中,按照预设时间周期统计卡顿信息,所述卡顿信息包括以下至少一种:卡顿时长、卡顿次数;
当所述卡顿信息包括卡顿次数时,所述第一卡顿信息统计模块还用于:
在当前时间到达预设时间周期时,若所述当前时间与上次时间之间的时间差大于预设时长阈值,且卡顿标记代表上次卡顿已结束,则统计卡顿次数,所述卡顿次数用于表示本次卡顿是新增的一次卡顿;所述上次时间在初始状态下为0,所述卡顿标记在初始状态下代表上次卡顿已结束;
所述终端设备还包括:
第一卡顿标记更新模块,用于在所述统计卡顿次数之后,对所述卡顿标记进行第一更新,所述第一更新后的所述卡顿标记代表上次卡顿未结束。
12.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述终端设备实现如权利要求1至10任一项所述的方法。
13.一种视频卡顿的处理系统,包括:权利要求11或12所述的终端设备。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如权利要求1至10任一项所述的方法。
CN202110482610.XA 2021-04-30 2021-04-30 视频卡顿的处理方法及设备 Active CN113115074B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110482610.XA CN113115074B (zh) 2021-04-30 2021-04-30 视频卡顿的处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110482610.XA CN113115074B (zh) 2021-04-30 2021-04-30 视频卡顿的处理方法及设备

Publications (2)

Publication Number Publication Date
CN113115074A CN113115074A (zh) 2021-07-13
CN113115074B true CN113115074B (zh) 2022-11-22

Family

ID=76720934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110482610.XA Active CN113115074B (zh) 2021-04-30 2021-04-30 视频卡顿的处理方法及设备

Country Status (1)

Country Link
CN (1) CN113115074B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401447B (zh) * 2021-12-20 2024-08-23 北京字节跳动网络技术有限公司 一种视频卡顿预测方法、装置、设备和介质
CN118694915A (zh) * 2023-03-24 2024-09-24 中兴通讯股份有限公司 一种确定视频卡顿的方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015145939A (ja) * 2014-02-03 2015-08-13 山本 一郎 構音訓練用録画・録音装置
CN108076386A (zh) * 2017-12-22 2018-05-25 广州酷狗计算机科技有限公司 视频卡顿检测方法及装置、存储介质
CN110545451A (zh) * 2018-05-29 2019-12-06 阿里巴巴集团控股有限公司 一种流媒体卡顿识别方法、服务器和系统
CN110990243A (zh) * 2019-11-29 2020-04-10 天津网之易创新科技有限公司 卡顿分析方法、装置、存储介质和计算设备
CN112019873A (zh) * 2020-09-08 2020-12-01 北京金山云网络技术有限公司 视频码率调整方法、装置和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015145939A (ja) * 2014-02-03 2015-08-13 山本 一郎 構音訓練用録画・録音装置
CN108076386A (zh) * 2017-12-22 2018-05-25 广州酷狗计算机科技有限公司 视频卡顿检测方法及装置、存储介质
CN110545451A (zh) * 2018-05-29 2019-12-06 阿里巴巴集团控股有限公司 一种流媒体卡顿识别方法、服务器和系统
CN110990243A (zh) * 2019-11-29 2020-04-10 天津网之易创新科技有限公司 卡顿分析方法、装置、存储介质和计算设备
CN112019873A (zh) * 2020-09-08 2020-12-01 北京金山云网络技术有限公司 视频码率调整方法、装置和电子设备

Also Published As

Publication number Publication date
CN113115074A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
CN113115074B (zh) 视频卡顿的处理方法及设备
CN111163336B (zh) 视频资源推送方法、装置、电子设备及计算机可读介质
CN111629251A (zh) 视频播放方法、装置、存储介质和电子设备
CN109618216B (zh) 显示视频加载状态标识的方法、装置、设备及存储介质
CN112135169A (zh) 一种媒体内容加载方法、装置、设备和介质
CN112351222A (zh) 图像特效处理方法、装置、电子设备和计算机可读存储介质
CN112199174A (zh) 消息发送的控制方法、装置、电子设备及计算机可读存储介质
CN112969075A (zh) 直播过程中的补帧方法、装置及计算设备
CN113542856B (zh) 在线录像的倒放方法、装置、设备和计算机可读介质
CN113364767B (zh) 一种流媒体数据显示方法、装置、电子设备及存储介质
CN115878242A (zh) 媒体内容显示方法、装置、设备、可读存储介质及产品
CN113144620B (zh) 帧同步游戏的检测方法、装置、平台、可读介质和设备
CN114257870A (zh) 短视频播放方法、装置、设备及存储介质
CN112351221A (zh) 图像特效处理方法、装置、电子设备和计算机可读存储介质
CN112929240A (zh) 获取通信延迟时间的方法、装置、终端和非暂时性存储介质
CN111783632B (zh) 针对视频流的人脸检测方法、装置、电子设备及存储介质
CN111225255B (zh) 目标视频推送播放方法、装置、电子设备及存储介质
CN110809166B (zh) 视频数据处理方法、装置和电子设备
CN114979762B (zh) 视频下载、传输方法、装置、终端设备、服务器及介质
CN110960857A (zh) 一种游戏数据监控方法、装置、电子设备及存储介质
CN114339402B (zh) 视频播放完成率预测方法、装置、介质及电子设备
CN112287171A (zh) 信息处理方法、装置和电子设备
CN112637668B (zh) 一种视频播放方法、装置、设备及介质
CN112040328B (zh) 数据交互方法、装置和电子设备
CN113556352B (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