CN114793278A - 卡顿检测方法及装置、设备、存储介质 - Google Patents
卡顿检测方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN114793278A CN114793278A CN202210439735.9A CN202210439735A CN114793278A CN 114793278 A CN114793278 A CN 114793278A CN 202210439735 A CN202210439735 A CN 202210439735A CN 114793278 A CN114793278 A CN 114793278A
- Authority
- CN
- China
- Prior art keywords
- multimedia data
- memory
- stuck
- playing
- equal
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 230000015654 memory Effects 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 9
- 239000000872 buffer Substances 0.000 description 21
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (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为发生卡顿的音频示意图;
图10为音频数据的处理流程示意图;
图11为两次调用写接口的时间间隔示意图;
图12为音频数据的生产和消费示意图;
图13为本申请实施例提供的一种卡顿检测装置的结构示意图;
图14为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
本申请实施例提供一种卡顿检测方法,应用于电子设备,该电子设备在实施的过程中可以为各种类型的具有多媒体数据播放能力的设备,例如所述电子设备可以包括手机、平板电脑、电视机、投影仪或个人计算机等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
图1为本申请实施例提供的卡顿检测方法的实现流程示意图,如图1所示,该方法可以包括以下步骤101至步骤102:
步骤101,在播放多媒体数据的过程中,获取与第一存储器相关的工作参数;其中,所述第一存储器用以缓存待播放的多媒体数据;
步骤102,根据所述工作参数,预测多媒体数据播放的卡顿情况。
在本申请实施例中,一方面,基于获取的与第一存储器相关的工作参数进行卡顿情况的检测,相比于仅基于多媒体数据帧的丢帧情况来预测多媒体数据播放的卡顿情况,不仅能够检测到因丢帧而引起的卡顿,还能够检测到因其它因素而引起的卡顿。比如,能够检测到因应用阻塞、系统调度、应用层没有及时响应等而引起的卡顿,因此能够获得更高的卡顿检测准确率。另一方面,由于与第一存储器相关的工作参数的获取,不需要复杂的算法来实现,因此,在提高卡顿检测准确率的同时不会增加负载和开销,成本更低。
在本申请实施例中,多媒体数据可以是各种类型的数据。例如,多媒体数据包括音频数据和/或视频帧数据。
可以理解地,所谓与第一存储器相关的工作参数,是指与第一存储器直接和/或间接相关的工作参数。比如,该工作参数包括相邻两次调用写接口的时间信息,由于写接口用于将第一存储器中缓存的多媒体数据写入第二存储器,因此相邻两次调用写接口的时间信息是与第一存储器间接相关的工作参数。又如,该工作参数包括第一存储器缓存的多媒体数据的数据量,这是与第一存储器直接相关的工作参数。
在本申请实施例中,对于所述工作参数不做限定,工作参数可以包括相邻两次调用写接口的时间信息和/或第一存储器缓存的多媒体数据的数据量。
对于实现步骤102的方法也不做限定。在一些实施例中,可以通过查询历史记录信息,预测该工作参数对应的卡顿情况。例如,表1所示为历史记录信息,该信息中包括了工作参数的历史值和对应的卡顿情况。
表1
工作参数的历史值 | 卡顿情况 |
数值1 | 卡顿 |
数值2 | 不卡顿 |
······ | |
数值N | 卡顿 |
在另一些实施例中,也可以将所述工作参数输入至预先训练得到的神经网络模型中,由神经网络模型基于输入的工作参数预测多媒体数据播放的卡顿情况。其中,预先训练得到的神经网络模型是基于工作参数的历史值和对应的真实卡顿情况训练得到的。
在又一些实施例中,电子设备也可以通过图2、图6或图7分别对应的卡顿检测的实施例中的步骤实现步骤102,此处不再展开描述。
本申请实施例再提供一种卡顿检测方法,图2为本申请实施例提供的另一卡顿检测的方法实现流程示意图,如图2所示,所述方法可以包括如下步骤201至步骤204:
步骤201,在播放多媒体数据的过程中,获取与第一存储器相关的工作参数;其中,所述第一存储器用以缓存待播放的多媒体数据;所述工作参数包括相邻两次调用写接口的时间信息;所述写接口用以将所述第一存储器中缓存的多媒体数据写入第二存储器。
在本申请实施例中,第一存储器和第二存储器可以是多媒体数据处理过程中所使用的任何存储器。在一些实施例中,第一存储器用以缓存解码器输出的待播放的多媒体数据,第二存储器为操作系统层的存储器。
步骤202,根据所述时间信息,确定所述相邻两次调用所述写接口的时间间隔;
步骤203,确定所述时间间隔是否大于或等于第一阈值;如果是,执行步骤204;否则,返回执行步骤201;
步骤204,确定多媒体数据播放发生卡顿。
在一种多媒体数据的处理流程中,如图3所示,电子设备30的接收器(Receiver)301从网络侧(network)接收码流,然后缓存在抖动缓存器(jitter buffer)302中,解码器(decoder)303将抖动缓存器302中缓存的码流进行解码,将解码后的多媒体数据输出给缓存器(buffer)304中,然后应用层调用操作系统的音轨(AudioTrack)的写接口,从而将缓存器304中的多媒体数据写入操作系统的缓存器305中,进而实现多媒体数据的播放。这里的缓存器304为所述第一存储器的一种示例,缓存器305为所述第二存储器的一种示例。
可以理解地,如果相邻两次调用所述写接口的时间间隔大于第一阈值,说明缓存器304中的多媒体数据没有及时地被输送到系统层的缓存器305中,那么此时可能会导致多媒体数据播放发生卡顿。
基于此,在本申请实施例中,基于相邻两次调用写接口的时间间隔进行卡顿检测,其中,写接口用于将第一存储器中缓存的解码器输出的待播放的多媒体数据写入第二存储器;如此,一方面,由于调用写接口的时间信息在应用层就可以获取,无需通过应用程序编程接口(Application Programming Interface,API)从底层获取,因此,该方法实现起来比较简单,从而能够在节约功耗等资源的前提下提高卡顿检测的效率;另一方面,由于调用写接口的时间信息的获取和基于该信息的卡顿检测方法无需复杂的算法来实现,因此,在提高卡顿检测准确率的同时不会增加负载和开销,成本更低。
在一些实施例中,可以基于第二存储器能够缓存的最大数据量对应的时间长度设置第一阈值。进一步地,在一些实施例中,第一阈值大于或等于第二存储器能够缓存的最大数据量对应的时间长度。举例而言,假设第二存储器能够缓存的最大数据量对应的时间长度为100ms的数据,那么可以将第一阈值设置为200ms,当然,也可以将第一阈值设置为大于或等于100ms的任意值,总之能够满足卡顿检测准确率的检测要求即可。
进一步地,在一些实施例中,第一阈值的大小是可以适应性调整的。例如图4所示,所述方法还包括如下步骤401至步骤403:
步骤401,显示一个或多个反映不同卡顿程度的选项。
在本申请实施例中,对于何时显示一个或多个反映不同卡顿程度的选项不做限定。在一些实施例中,可以在基于确定发生卡顿则触发步骤401;在另一些实施例中,也可以在表征卡顿频繁程度的参数满足显示条件的情况下,显示一个或多个反映不同卡顿程度的选项。
对于表征卡顿频繁程度的参数不做限定。但是用以表征卡顿频繁程度的参数类型的不同,相应的显示条件也不同。例如下表2所示:在示例1中,该参数包括特定时长内卡顿的次数,相应的显示条件为特定时长内卡顿的次数大于次数阈值;在示例2中,该参数包括卡顿频率(即单位时间内卡顿的次数),相应的显示条件为卡顿频率大于频率阈值;在示例3中,该参数包括相邻两次卡顿的时间间隔,相应的显示条件为相邻两次卡顿的时间间隔小于第一间隔阈值;在示例4中,该参数包括特定时长内卡顿的平均时间间隔,相应的显示条件为特定时长内卡顿的平均时间间隔大于第二间隔阈值;其中,第一间隔阈值和第二间隔阈值可以相同,也可以不同。特定时长内卡顿的平均时间间隔可以基于两两相邻的卡顿的时间间隔的均值。
表2
可以理解地,在该实施例中,不是每次发生卡顿都显示这些选项,而是在表征卡顿频繁程度的参数满足显示条件的情况下,才显示所述一个或多个反映不同卡顿程度的选项;如此,一方面可以避免频繁干扰到用户;另一方面可以在与用户交互尽可能少的次数的情况下,也就是相应节约显示器的功耗和处理器的功耗等资源的前提下,获得准确的反馈信息,从而基于此适应性调整第一阈值,进而提高卡顿检测的准确度。
步骤402,接收对所述一个或多个选项的选中操作;其中,所述选中操作用于指示反馈的卡顿程度;
步骤403,响应于所述选中操作,根据所述选中操作选中的卡顿程度,调整所述第一阈值。
对于选项的数目以及选项对应的卡顿程度不做限定。例如,如图5所示,在当前显示的界面501上显示矩形提示框502,该框502中包括非常卡顿、有点卡顿和不卡顿这三个选项。用户可以通过点击其中任一选项所在的区域,从而反馈个人的使用体验。
可以理解地,不同的卡顿程度,针对第一阈值的调整是不同的。举例而言,在确定多媒体数据发生卡顿或者表征卡顿频繁程度的参数满足显示条件的情况下,显示一个或多个反映不同卡顿程度的选项。如表3所示,假设用户点击的是“不卡顿”这一选项,则说明基于当前的第一阈值出现了误检的情况,将不卡顿误判为卡顿,因此,可以按照预设的步长将第一阈值调大;假设用户点击的是“非常卡顿”这一选项,则说明基于当前的第一阈值也可能出现误检的情况,将卡顿误判为不卡顿,因此,可以按照预设的步长将第一阈值调小;又如用户点击的是“有点卡顿”这一选项,说明当前的第一阈值设置的是合适的,因此第一阈值不变,例如将当前的第一阈值调整为该值本身。
表3
卡顿程度 | 第一阈值 |
不卡顿 | 调大 |
非常卡顿 | 调小 |
有点卡顿 | 不变 |
在本申请实施例中,显示一个或多个反映不同卡顿程度的选项,从而能够得到用户反馈的真实卡顿感受,进而基于用户的真实卡顿感受适应性地调整第一阈值;如此,使得调整后的第一阈值更加逼近用户真实感知卡顿的情况,从而提高卡顿检测的准确率。
本申请实施例再提供一种卡顿检测方法,图6为本申请实施例提供的另一卡顿检测的方法实现流程示意图,如图6所示,所述方法可以包括如下步骤601至步骤603:
步骤601,在播放多媒体数据的过程中,获取所述第一存储器缓存的待播放的多媒体数据的数据量;其中,所述第一存储器包括多媒体数据处理流程中所使用的任一存储器;
步骤602,确定所述数据量是否小于或等于第二阈值;如果是,执行步骤603;否则,返回执行步骤601。
第二阈值可以设置为0或大于0的值。在第二阈值设置为0的情况下,则确定所述数据量是否等于0;如果是,则执行步骤603;否则,返回执行步骤601,继续获取第一存储器缓存的待播放的多媒体数据的数据量。
在第二阈值设置为大于0的值的情况下,则确定所述数据量是否小于或等于第二阈值;如果是,则执行步骤603;否则,返回执行步骤601。
需要说明的是,电子设备可以在确定所述数据量小于或等于第二阈值时就返回执行步骤601,也可以在等待预设时长之后再返回执行步骤601。
步骤603,基于确定所述数据量小于或等于第二阈值,预测多媒体数据播放的卡顿情况。
在一些实施例中,电子设备可以这样实现步骤603:在所述数据量小于或等于第二阈值的情况下,确定多媒体数据播放发生卡顿;如此,能够提高卡顿检测的效率。
在另一些实施例中,电子设备也可以这样实现步骤603:确定所述数据量小于或等于第二阈值的状态持续时长;以及在所述状态持续时长大于或等于第三阈值的情况下,确定多媒体数据播放发生卡顿;其中,所述第三阈值大于0。
可以理解地,数据量小于或等于第二阈值的状态持续时长小于第三阈值的情况,其引起的卡顿可能对于用户而言是无感的。因此,在该实施例中,确定多媒体数据播放发生卡顿的条件为所述状态持续时长大于或等于第三阈值,如此,可以降低卡顿检测的误检率,从而提高卡顿检测的准确率。
在本申请实施例中,基于第一存储器中缓存的待播放的多媒体数据的数据量进行卡顿检测;而第一存储器中缓存的待播放的多媒体数据的数据量的多少直接影响了多媒体数据的播放的流畅度。比如,第一存储器中缓存的待播放的多媒体数据的数据量为0,或者不能满足下一时刻的播放量要求,那么可能将造成播放卡顿。因此,一方面,基于第一存储器中缓存的待播放的多媒体数据的数据量进行卡顿检测,能够获得更为准确的卡顿检测结果;另一方面,由于基于第一存储器中缓存的待播放的多媒体数据的数据量进行卡顿检测,无需复杂的算法即可实现,因此,在提高卡顿检测准确率的同时不会增加负载和开销,成本更低。
本申请实施例再提供一种卡顿检测方法,图7为本申请实施例提供的另一卡顿检测的方法实现流程示意图,如图7所示,所述方法可以包括如下步骤701至步骤705:
步骤701,在播放多媒体数据的过程中,获取与第一存储器相关的工作参数;其中,所述工作参数包括相邻两次调用写接口的时间信息和所述第一存储器缓存的多媒体数据的数据量;所述写接口用以将所述第一存储器中缓存的多媒体数据写入第二存储器。
在一些实施例中,所述第一存储器用以缓存解码器输出的待播放的多媒体数据。当然,第一存储器也可以是多媒体数据的处理过程中所用到的其它存储器。
步骤702,根据所述时间信息,确定所述相邻两次调用所述写接口的时间间隔;
步骤703,确定所述时间间隔是否大于或等于第一阈值;如果是,执行步骤704;否则,返回执行步骤701。
需要说明的是,电子设备可以在确定所述时间间隔大于或等于第一阈值时就返回执行步骤701,也可以等待预设时长之后再返回执行步骤701。
步骤704,确定所述数据量是否小于或等于第二阈值;如果是,执行步骤705;否则,返回执行步骤701。
需要说明的是,电子设备可以在确定所述数据量小于或等于第二阈值时就返回执行步骤701,也可以等待预设时长之后再返回执行步骤701。
在本申请实施例中,也可以先执行步骤704,在确定所述数据量小于或等于第二阈值的情况下再执行步骤703。也可以并行执行步骤703和步骤704。总之,在该实施例中,多媒体数据播放发生卡顿的条件为所述时间间隔大于或等于第一阈值且所述数据量小于或等于第二阈值。
步骤705,确定多媒体数据播放发生卡顿。
在另一些实施例中,在所述时间间隔大于或等于第一阈值以及所述数据量小于或等于第二阈值的状态持续时长大于或等于第三阈值的情况下,确定多媒体数据播放发生卡顿。
在本申请实施例中,不仅基于相邻两次调用写接口的时间间隔,还基于所述第一存储器缓存的多媒体数据的数据量,即结合这两个参数信息进行卡顿检测,从而能够进一步地提高检测卡顿的准确率。
在一些实施例中,在确定多媒体数据播放发生卡顿之后,所述方法还包括:执行用于改善所述卡顿的预设操作。例如,电子设备可以执行如下步骤:判断该设备除了已连接的网络,是否还能够连接至其它网络;若能够连接至其它网络,则获取所述其它网络的性能参数;根据所述性能参数,确定所述其它网络的性能是否优于所述已连接的网络;若优于所述已连接的网络,则将网络连接切换至所述其它网络。又如,电子设备关闭其它与所述多媒体数据处理和播放无关的进程。总之,所述预设操作均是为了改善所述卡顿而采取的措施。
在本申请实施例中,提供一种实时音视频(webrtc)场景中用于统计音频卡顿率的方法。音频卡顿率指的是在一定的时间内声音卡顿的次数,而声音卡顿指的是:声音中断了一段时间后又恢复的现象。这个是由声音的特性来决定的,声音的传输像流水一样川流不息。因此,当发生异常导致声音中断了一段时间然后又恢复,这就是音频卡顿。如图8所示为一个正常的音频图,图9为一个发生卡顿的音频图。
对比图8可以看出,在图9中,A与B原本是相接的,只是中间有20ms的静音数据,这是由于传输中断而导致系统填充的零数据,输出的表现就是卡顿。因此可以这样定义:当AB之间中断时间超过200ms,则认为发生音频异常卡顿现象,通过统计一段时间内发生的AB卡顿次数定义为音频卡顿率。
如图10所示,接收器从网络侧接收码流,将码流送入抖动缓存器,解码器对抖动缓存器中的码流进行解码,并将解码后的音频数据写入缓存器1001。Webrtc音频数据的渲染,实际上就是应用端从缓存器1001(在NetEQ模块)中读取解码后的音频数据,然后调用Android系统的音轨的写接口(API AudioTrack write),从而通过该写接口将音频数据写到Android系统中,从而通过本地音轨实现对音频数据的播放。整个写过程就是不断从缓存器1001中读取解码后的音频数据给Android系统输出。当调用音轨.写接口(AudioTrack.write)接口将音频数据写到Android系统层后,就不受应用端控制,如果应用端的数据写得及时不中断,那么系统层原因引起的卡顿概率极小,因此可以重点聚焦于应用端写数据不及时导致的音频卡顿。
当两次调用写接口的时间间隔超过200ms,则定义为一次卡顿,而时间间隔则为卡顿时长。
如图11所示,时间1是第n次调用写接口的时间,时间2是第n+1次调用写接口的时间。时间2-时间1就是两次调用写接口的时间间隔,记为freezeTimeMs,如果freezeTimeMs>200ms,则为一次卡顿,卡顿时长为freezeTimeMs。而影响freezeTimeMs时长的因素有多种,但是从音轨线程的流程来看,至少有两个因素:一是能否从缓存器1001中取到数据,二是写接口是否及时返回。
(1)能否从缓存器1001中取到数据:
这受视频通话框架影响,影响因素包括:网络、对方编码、对方发送、我方接收、我方解码等,如果一切正常,那可以不断续地从缓存器1001取到数据,可以及时将音频数据写到Android系统层。如果取不到数据,就会等待直到有足够的数据,在等待的过程中如果发生超过200ms就发生一次音频卡顿。
(2)写接口是否及时返回:
写数据和消耗数据的流程如图12所示,写数据的过程是闭塞(blocking)的,没写完就会一直等待,直到写完。那么写数据不能及时返回的原因大多是共享缓存1201满了,需要等待消耗数据,直到缓存有空间可以写。
在本申请实施例中,通过提供了一种webrtc场景下音频卡顿率的统计方法来判断当前webrtc通话的视频质量并对其进行监控,当监控到数据异常的时候,可以通过这种统计方法进行异常定位和问题修复。
上述技术方案是监测webrtc场景下音频卡顿率,这种统计方法实际上可以扩展到其它的流媒体播放场景中。另外,可以基于音频卡顿率的检测,进一步通过卡顿检测后进行卡顿优化,从而改善音频卡顿问题,进而提高视频通话质量。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等;或者,将不同实施例中步骤组合为新的技术方案。
基于前述的实施例,本申请实施例提供一种卡顿检测装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图13为本申请实施例卡顿检测装置的结构示意图,如图13所示,卡顿检测装置130包括:
获取模块1301,配置成在播放多媒体数据的过程中,获取与第一存储器相关的工作参数;
预测模块1302,配置成根据所述工作参数,预测多媒体数据播放的卡顿情况。
在一些实施例中,所述第一存储器用以缓存解码器输出的待播放的多媒体数据;所述工作参数包括相邻两次调用写接口的时间信息;其中,所述写接口用以将所述第一存储器中缓存的多媒体数据写入第二存储器;预测模块1302,配置成:根据所述时间信息,确定所述相邻两次调用所述写接口的时间间隔;在所述时间间隔大于或等于第一阈值的情况下,确定多媒体数据播放发生卡顿。
在一些实施例中,卡顿检测装置130还包括:显示模块,配置成显示一个或多个反映不同卡顿程度的选项;接收模块,配置成接收对所述一个或多个选项的选中操作;其中,所述选中操作用于指示反馈的卡顿程度;响应模块,配置成响应于所述选中操作,根据所述选中操作选中的卡顿程度,调整所述第一阈值。
进一步地,在一些实施例中,所述显示模块,配置成在表征卡顿频繁程度的参数满足显示条件的情况下,显示一个或多个反映不同卡顿程度的选项。
在一些实施例中,所述第一存储器包括多媒体数据处理流程中所使用的任一存储器;所述工作参数包括所述第一存储器缓存的多媒体数据的数据量;预测模块1302,配置成基于确定所述数据量小于或等于第二阈值,预测多媒体数据播放的卡顿情况。
进一步地,在一些实施例中,预测模块1302,配置成:在所述数据量小于或等于第二阈值的情况下,确定多媒体数据播放发生卡顿;或者,预测模块1302,配置成:确定所述数据量小于或等于第二阈值的状态持续时长;以及在所述状态持续时长大于或等于第三阈值的情况下,确定多媒体数据播放发生卡顿。
在一些实施例中,所述第一存储器用以缓存解码器输出的待播放的多媒体数据;所述工作参数包括相邻两次调用写接口的时间信息和所述第一存储器缓存的多媒体数据的数据量;所述写接口用以将所述第一存储器中缓存的多媒体数据写入第二存储器;预测模块1302,配置成在所述时间间隔大于或等于第一阈值以及所述数据量小于或等于第二阈值的情况下,确定多媒体数据播放发生卡顿;或者,预测模块1302,配置成确定所述数据量小于或等于第二阈值的状态持续时长;以及在所述时间间隔大于或等于第一阈值以及所述状态持续时长大于或等于第三阈值的情况下,确定多媒体数据播放发生卡顿。
在一些实施例中,预测模块1302,配置成通过查询历史记录信息,确定该工作参数对应的卡顿情况;其中,所述历史记录信息中包括所述工作参数的历史值和对应的卡顿情况。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图13所示的卡顿检测装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种电子设备,图14为本申请实施例的电子设备的硬件实体示意图,如图14所示,所述电子设备140包括存储器141和处理器142,所述存储器141存储有可在处理器142上运行的计算机程序,所述处理器142执行所述程序时实现上述实施例中提供的方法中的步骤。
需要说明的是,存储器141配置为存储由处理器142可执行的指令和应用,还可以缓存在处理器142以及电子设备140中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(RandomAccess Memory,RAM)实现。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种卡顿检测方法,其特征在于,所述方法包括:
在播放多媒体数据的过程中,获取与第一存储器相关的工作参数;其中,所述第一存储器用以缓存待播放的多媒体数据;
根据所述工作参数,预测多媒体数据播放的卡顿情况。
2.根据权利要求1所述的方法,其特征在于,所述工作参数包括相邻两次调用写接口的时间信息;其中,所述写接口用以将所述第一存储器中缓存的多媒体数据写入第二存储器;相应地,
所述根据所述工作参数,预测多媒体数据播放的卡顿情况,包括:
根据所述时间信息,确定所述相邻两次调用所述写接口的时间间隔;
在所述时间间隔大于或等于第一阈值的情况下,确定多媒体数据播放发生卡顿。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
显示一个或多个反映不同卡顿程度的选项;
接收对所述一个或多个选项的选中操作;其中,所述选中操作用于指示反馈的卡顿程度;
响应于所述选中操作,根据所述选中操作选中的卡顿程度,调整所述第一阈值。
4.根据权利要求3所述的方法,其特征在于,所述显示一个或多个反映不同卡顿程度的选项,包括:
在表征卡顿频繁程度的参数满足显示条件的情况下,显示一个或多个反映不同卡顿程度的选项。
5.根据权利要求1所述的方法,其特征在于,所述工作参数包括所述第一存储器缓存的多媒体数据的数据量;相应地,
所述根据所述工作参数,预测多媒体数据播放的卡顿情况,包括:
基于确定所述数据量小于或等于第二阈值,预测多媒体数据播放的卡顿情况。
6.根据权利要求5所述的方法,其特征在于,所述基于确定所述数据量小于或等于第二阈值,预测多媒体数据播放的卡顿情况,包括:
在所述数据量小于或等于第二阈值的情况下,确定多媒体数据播放发生卡顿;或者,
确定所述数据量小于或等于第二阈值的状态持续时长;以及在所述状态持续时长大于或等于第三阈值的情况下,确定多媒体数据播放发生卡顿。
7.根据权利要求1所述的方法,其特征在于,所述工作参数包括相邻两次调用写接口的时间信息和所述第一存储器缓存的多媒体数据的数据量;所述写接口用以将所述第一存储器中缓存的多媒体数据写入第二存储器;相应地,
所述根据所述工作参数,预测多媒体数据播放的卡顿情况,包括:
根据所述时间信息,确定所述相邻两次调用所述写接口的时间间隔;在所述时间间隔大于或等于第一阈值以及所述数据量小于或等于第二阈值的情况下,确定多媒体数据播放发生卡顿;或者,
确定所述数据量小于或等于第二阈值的状态持续时长;在所述时间间隔大于或等于第一阈值以及所述状态持续时长大于或等于第三阈值的情况下,确定多媒体数据播放发生卡顿。
8.根据权利要求1所述的方法,其特征在于,所述根据所述工作参数,预测多媒体数据播放的卡顿情况,包括:
通过查询历史记录信息,预测所述工作参数对应的卡顿情况;其中,所述历史记录信息中包括所述工作参数的历史值和对应的卡顿情况。
9.一种卡顿检测装置,其特征在于,包括:
获取模块,配置成在播放多媒体数据的过程中,获取与第一存储器相关的工作参数;
预测模块,配置成根据所述工作参数,预测多媒体数据播放的卡顿情况。
10.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210439735.9A CN114793278A (zh) | 2022-04-25 | 2022-04-25 | 卡顿检测方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210439735.9A CN114793278A (zh) | 2022-04-25 | 2022-04-25 | 卡顿检测方法及装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114793278A true CN114793278A (zh) | 2022-07-26 |
Family
ID=82460890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210439735.9A Pending CN114793278A (zh) | 2022-04-25 | 2022-04-25 | 卡顿检测方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114793278A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116400871A (zh) * | 2023-06-09 | 2023-07-07 | Tcl通讯科技(成都)有限公司 | 碎片整理方法、装置、存储介质及电子设备 |
CN117745664A (zh) * | 2023-12-15 | 2024-03-22 | 苏州智华汽车电子有限公司 | 图像动态检测方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107293316A (zh) * | 2016-04-13 | 2017-10-24 | 青岛海信电器股份有限公司 | 一种音频数据处理方法及装置 |
CN109089137A (zh) * | 2018-09-27 | 2018-12-25 | 广州酷狗计算机科技有限公司 | 卡顿检测方法及装置 |
CN109634809A (zh) * | 2018-12-05 | 2019-04-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频播放监控方法及相关设备 |
CN110221922A (zh) * | 2018-03-02 | 2019-09-10 | 网易(杭州)网络有限公司 | 程序产品的卡顿定位方法及装置、介质及计算设备 |
CN110300326A (zh) * | 2018-03-22 | 2019-10-01 | 杭州萤石软件有限公司 | 一种视频卡顿的检测方法及装置 |
CN113055745A (zh) * | 2021-03-30 | 2021-06-29 | 脸萌有限公司 | 视频播放的处理方法、装置、设备及存储介质 |
CN113407344A (zh) * | 2021-06-25 | 2021-09-17 | 北京字节跳动网络技术有限公司 | 一种处理卡顿的方法及装置 |
CN114064431A (zh) * | 2021-11-11 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 卡顿检测方法、装置、可读介质及电子设备 |
CN114077529A (zh) * | 2022-01-19 | 2022-02-22 | 荣耀终端有限公司 | 日志上传方法、装置、电子设备及计算机可读存储介质 |
-
2022
- 2022-04-25 CN CN202210439735.9A patent/CN114793278A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107293316A (zh) * | 2016-04-13 | 2017-10-24 | 青岛海信电器股份有限公司 | 一种音频数据处理方法及装置 |
CN110221922A (zh) * | 2018-03-02 | 2019-09-10 | 网易(杭州)网络有限公司 | 程序产品的卡顿定位方法及装置、介质及计算设备 |
CN110300326A (zh) * | 2018-03-22 | 2019-10-01 | 杭州萤石软件有限公司 | 一种视频卡顿的检测方法及装置 |
CN109089137A (zh) * | 2018-09-27 | 2018-12-25 | 广州酷狗计算机科技有限公司 | 卡顿检测方法及装置 |
CN109634809A (zh) * | 2018-12-05 | 2019-04-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频播放监控方法及相关设备 |
CN113055745A (zh) * | 2021-03-30 | 2021-06-29 | 脸萌有限公司 | 视频播放的处理方法、装置、设备及存储介质 |
CN113407344A (zh) * | 2021-06-25 | 2021-09-17 | 北京字节跳动网络技术有限公司 | 一种处理卡顿的方法及装置 |
CN114064431A (zh) * | 2021-11-11 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 卡顿检测方法、装置、可读介质及电子设备 |
CN114077529A (zh) * | 2022-01-19 | 2022-02-22 | 荣耀终端有限公司 | 日志上传方法、装置、电子设备及计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116400871A (zh) * | 2023-06-09 | 2023-07-07 | Tcl通讯科技(成都)有限公司 | 碎片整理方法、装置、存储介质及电子设备 |
CN116400871B (zh) * | 2023-06-09 | 2023-09-19 | Tcl通讯科技(成都)有限公司 | 碎片整理方法、装置、存储介质及电子设备 |
CN117745664A (zh) * | 2023-12-15 | 2024-03-22 | 苏州智华汽车电子有限公司 | 图像动态检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114793278A (zh) | 卡顿检测方法及装置、设备、存储介质 | |
US7707485B2 (en) | System and method for dynamic transrating based on content | |
US20190220889A1 (en) | Information sending method, apparatus, and system | |
US8510763B2 (en) | Changing streaming media quality level based on current device resource usage | |
EP3846020A1 (en) | Sound effect adjusting method and apparatus, electronic device, and storage medium | |
US9300997B2 (en) | Consumption likelihood of linear content streams | |
EP4395337A1 (en) | Video playing grade determination method, video playing method, and related apparatuses | |
US7673088B2 (en) | Multi-tasking interference model | |
CN115883899B (zh) | 图像同屏播放方法、系统、电子设备及可读存储介质 | |
CN104753929A (zh) | 推送内容的方法、服务器、终端及系统 | |
US20120053937A1 (en) | Generalizing text content summary from speech content | |
US20240251131A1 (en) | Video pushing method, video pushing device and storage medium | |
US20240244098A1 (en) | Content completion detection for media content | |
CN109587555B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
US12079235B2 (en) | Systems and methods for automatically recommending content | |
CN112672405B (zh) | 功耗计算方法、装置、存储介质、电子设备以及服务器 | |
CN103581744B (zh) | 获取数据的方法及电子设备 | |
CN112689165B (zh) | 视频播放方法及装置 | |
CN114222147B (zh) | 直播布局调整方法、装置、存储介质及计算机设备 | |
CN113099250B (zh) | 信息处理方法及电子设备 | |
CN113411672A (zh) | 通信质量评估方法、装置、可读存储介质及电子设备 | |
CN113873278A (zh) | 播放内容审核方法、装置及电子设备 | |
CN111669539A (zh) | 一种视频播放方法、装置及电子设备 | |
CN113938712B (zh) | 一种视频播放方法、装置及电子设备 | |
US20230007276A1 (en) | Encoding Device and Method for Video Analysis and Composition |
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 |