CN115361585B - 视频播放卡顿预测方法、装置、设备及存储介质 - Google Patents
视频播放卡顿预测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115361585B CN115361585B CN202211001005.7A CN202211001005A CN115361585B CN 115361585 B CN115361585 B CN 115361585B CN 202211001005 A CN202211001005 A CN 202211001005A CN 115361585 B CN115361585 B CN 115361585B
- Authority
- CN
- China
- Prior art keywords
- video
- speed
- frame group
- data
- playing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000000903 blocking effect Effects 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- NFEIBWMZVIVJLQ-UHFFFAOYSA-N mexiletine hydrochloride Chemical compound [Cl-].CC([NH3+])COC1=C(C)C=CC=C1C NFEIBWMZVIVJLQ-UHFFFAOYSA-N 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例公开了一种视频播放卡顿预测方法、装置、设备及存储介质,该方法包括:获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;确定缓冲区的视频流出速度以及视频流入速度;根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿。本方案,能够合理准确的进行视频播放卡顿的预测,可以更好的应对网络状况复杂多样的特性,使得基于该卡顿预测情况确定出的码率更加合理。
Description
技术领域
本申请实施例涉及视频播放技术领域,尤其涉及一种视频播放卡顿预测方法、装置、设备及存储介质。
背景技术
随着网络技术的发展,用户使用终端设备进行在线视频的观看已成为了时下主流的视频观看方式。为了适应变化的网络环境,用户观看的在线视频一般会提供多种码率可选,通过码率自适应技术来选择当前合适的码率进行数据的传输和播放,其目的在于提高用户在线观看时的体验,保证观看视频的流畅和清晰。
相关技术中,可通过码率自适应算法实时调节推送视频的码率,如基于带宽情况、视频播放缓冲区大小等进行码率的调节,以此来提高用户体验,但是不同用户网络状况差异较大,观测到同样的状态时,其未来的网络状况、带宽走向可能相差较大,同一个码率自适应算法难以同时应对不同场景。如同样是网络突然变差,部分用户可能只是网络抖动,很快即可恢复,可以维持较高码率视频推送;而部分用户则是会在接下来一段较长的时间下都处于较差网络下,需要及时降档来避免卡顿。因此,在复杂多变的网络状况下,如何能够合理、准确的进行视频播放卡顿的预测成为了主要难题。
发明内容
本申请实施例提供了一种视频播放卡顿预测方法、装置、设备及存储介质,能够合理准确的进行视频播放卡顿的预测,可以更好的应对网络状况复杂多样的特性,使得基于该卡顿预测情况确定出的码率更加合理,使网络较差、不稳定的用户视频观看更为流畅,提升网络较好的用户视频清晰度,从而提升整体用户的观看体验。
第一方面,本申请实施例提供了一种视频播放卡顿预测方法,该方法包括:
获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;
确定缓冲区的视频流出速度以及视频流入速度;
根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿。
第二方面,本申请实施例还提供了一种视频播放卡顿预测装置,包括:
数据获取模块,配置为获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;
速度获取模块,配置为确定缓冲区的视频流出速度以及视频流入速度;
卡顿预测模块,配置为根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿。
第三方面,本申请实施例还提供了一种视频播放卡顿预测设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所述的视频播放卡顿预测方法。
第四方面,本申请实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请实施例所述的视频播放卡顿预测方法。
第五方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行本申请实施例所述的视频播放卡顿预测方法。
本申请实施例中,通过获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组,确定缓冲区的视频流出速度以及视频流入速度,根据第一视频帧组和第二视频帧组的长度以及视频流出速度和视频流入速度确定视频播放是否出现卡顿,能够合理准确的进行视频播放卡顿的预测,可以更好的应对网络状况复杂多样的特性,使得基于该卡顿预测情况确定出的码率更加合理,使网络较差、不稳定的用户视频观看更为流畅,提升网络较好的用户视频清晰度,从而提升整体用户的观看体验。
附图说明
图1为本申请实施例提供的一种视频播放卡顿预测方法的流程图;
图2为本申请实施例提供的一种当前播放帧组包含待接收数据的卡顿预测方法的流程图;
图3为本申请实施例提供的一种视频帧组的示意图;
图4为本申请实施例提供的另一种播放卡顿预测的方法的流程图;
图5为本申请实施例提供的另一种视频帧组的示意图;
图6为本申请实施例提供的一种预测卡顿时间的方法的流程图;
图7为本申请实施例提供的一种码率挡位调整的方法的流程图;
图8为本申请实施例提供的一种视频播放卡顿预测装置的结构框图;
图9为本申请实施例提供的一种视频播放卡顿预测设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请实施例提供的一种视频播放卡顿预测方法的流程图,可用于对视频播放是否出现卡顿进行预测,该方法可以由计算设备如服务器、笔记本电脑、平板电脑和智能手机等来执行,具体包括如下步骤:
步骤S101、获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组。
在一个实施例中,为了提高视频传输效率以及稳定性,采用视频帧组的方式进行视频传输。可选的,视频推流端以GOP为传输单位进行视频播放内容的推流,其中一个GOP指一组完整的视频帧,单独的每个GOP均可完整播放。
在一个实施例中,视频流播放端对接收到的视频帧组进行缓存,视频播放过程中,从缓存中进行存储数据的读取并完成解码播放。其中,该第一视频帧组为当前正在播放的帧组,第二视频帧组为包含待接收数据的帧组。其中,该第一视频帧组和第二视频帧组可以同一个帧组,也即当前正在播放的帧组还存在一定的待接收数据;该第一视频帧组和第二视频帧组也可以是不同的帧组,即正在播放的第一视频帧组为完整接收的帧组,而另一个帧组即第二视频帧组包含待接收数据。其中,该待接收数据包括正在传输链路中传输的还未到达视频流播放端的数据,也可以是视频推流端正在推送还未发出的数据。
示例性的,该第一视频帧组和第二视频帧组二者的总长度可以相同也可以不同,如每个视频帧组的总长度为1秒、2秒或3秒播放时长的视频长度。
在一个实施例中,以第一视频帧组为接收完毕的完整的帧组为例,其在播放过程中随着时间的推移待播放内容逐渐减少。可选的,该正在播放的第一视频帧组可通过设置的播放指针确定,即通过播放指针定位到该第一视频帧组。其中,该第二视频帧组的数量可以是一个或多个。每个第二视频帧组包含待接收数据的部分以及已经接收到并缓存的数据部分,也即每个第二视频帧组并非完整的缓存数据的帧组。该第二视频帧组可通过数据接收指针定位。
可选的,该方案可在视频流播放端执行,即视频流播放端可获取服务器确定出的相关数据以进行卡顿预测,并将预测结果反馈至服务器;或者由服务器执行,其获取视频流播放端确定的数据,如帧组的播放、接收情况,视频流出速度等,以进行播放是否卡顿的预测。
步骤S102、确定缓冲区的视频流出速度以及视频流入速度。
在一个实施例中,视频流播放端的缓冲区缓存有帧组数据。该缓冲区缓存的数据以视频流出速度减少,并以视频流入速度增加。其中,该视频流出速度可以是第一视频帧组的播放速度,视频流入速度可以是根据当前带宽等网络情况评估得到的向缓冲区存入数据的速度。
步骤S103、根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿。
在一个实施例中,进行卡顿预测时,结合第一视频帧组也即正在播放的视频帧组和包含待接收的第二视频帧组的长度,与视频流入速度和视频流出速度进行综合判断,以预测是否出现卡顿。
在一个实施例中,在进行卡顿预测试时,获取到第一视频帧组和第二视频帧组后,首先判断二者是否为同一个帧组。如果二者为同一个帧组,则预测过程如图2所示,图2为本申请实施例提供的一种当前播放帧组包含待接收数据的卡顿预测方法的流程图,如图2所示,具体包括:
步骤S1031、根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间。
在一个实施例中,在进行是否会出现播放卡顿的预测时,当缓冲区的缓存数据为0也即没有可以解码播放的缓存数据时,相应的被认定为出现卡顿。故针对缓冲区中的缓存数据,基于该视频流出速度和视频流入速度确定其缓存数据的播放完成时间,也即缓冲区的缓存数据为0的时间。
在一个实施例中,以第一视频帧组和第二视频帧组为同一个帧组为例,如图3所示,图3为本申请实施例提供的一种视频帧组的示意图,其中,通过播放指针和数据接收指针定位出第一视频帧组和第二视频帧组为同一个帧组,同时确定出该帧组中待播放数据和待接收数据的长度,如图3所示,虚线位置001为数据接收指针指向的位置,其右侧为待接收数据,实线位置002为播放指针指向的位置,其和虚线之间的部分为已经缓存的待播放数据。可选的,该视频帧组可以是固定2秒播放时长对应的连续帧图像,根据该播放指针和数据接收指针指向的具体位置,可以确定待播放数据和待接收数据的长度。
可选的,确定播放完成时间时,具体方式可以是:基于第一视频帧组中缓存的待播放数据的长度,当以视频流出速度进行数据流出,以视频流入速度进行数据流入时,确定缓冲区中缓存数据的播放完成时间。示例性的,假定待播放数据的长度为a兆,视频流入速度为b兆/秒,视频流出速度为c兆/秒,则播放完成时间t1=a/(c-b)。
步骤S1032、根据所述视频流入速度以及所述第一视频帧组中待接收数据的长度确定待接收时间。
在一个实施例中,假定视频流入速度为b兆/秒,如图4示例所示,假定待接收数据的长度为d兆,则待接收时间t2=d/b。
步骤S1033、根据所述播放完成时间和所述待接收时间确定视频播放是否出现卡顿。
在一个实施例中,确定出播放完成时间和待接收时间后,通过二者的比对以预测是否出现卡顿。具体的,如果播放完成时间小于或等于待接收时间,则确定视频播放出现卡顿,如果播放完成时间大于待接收时间,则确定视频播放不出现卡顿。可选的,在进行预测过程中,如果确定出播放完成时间小于或等于待接收时间,进一步的确认出在视频流入速度小于视频流出速度时,确定视频播放会出现卡顿。
在一个实施例中,在预测不出现卡顿的情况下,进一步的:根据视频流入速度和视频流出速度计算视频流入流出比,根据视频流入流出比以及待接收数据的长度计算缓存数据的长度,以及根据视频流入速度和视频流出速度的比值与待接收数据的长度的乘积确定播放时间点,以用于后续进行视频播放是否卡顿的预测。其中,视频流入流出比的计算方式可以是(视频流出速度-视频流入速度)/视频流出速度。其中,缓存数据的长度可通过视频流入流出比与待接收数据的长度的乘积计算得到。
在另一个实施例中,在进行卡顿预测试时,获取到第一视频帧组和第二视频帧组后,首先判断二者是否为同一个帧组。如果二者不为同一个帧组,则预测过程如图4所示,图4为本申请实施例提供的另一种播放卡顿预测的方法的流程图,如图4所示,具体包括:
步骤S1034、根据所述第一视频帧组的未播放的缓存数据的长度,对所述第二视频帧组的待接收数据的长度进行更新。
在一个实施例中,如图5所示,图5为本申请实施例提供的另一种视频帧组的示意图,缓冲区的缓存数据包含两个帧组即第一视频帧组和第二视频帧组,其中,该第一视频帧组为完整缓存的正在播放的帧组,第二视频帧组为包含待接收数据的帧组。该第一视频帧组示例性的可通过播放指针003定位,并相应确定未播放的缓存数据的长度,如图5中播放指针003右侧区域。此时模拟该第一视频帧组播放完成后,第二视频帧组缓存数据的变化情况,假设第一视频帧组未播放的缓存数据的长度为m兆,视频流出速度为a兆/秒,则该m兆播放完毕的时间t3=m/a,此时第二视频帧组流入的数据长度为n兆=t3*b,其中,b为视频流入速度。示例性的,由数据接收指针由位置004移动至位置005。
步骤S1035、根据所述视频流入速度以及更新后的待接收数据的长度确定待接收时间。
此时,在第二视频帧组的待接收数据的长度更新后,基于视频流入速度以及更新后的待接收数据的长度确定待接收时间。即将更新后的待接收数据的长度除以视频流入速度以得到待接收时间t4。
步骤S1036、根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间,根据所述播放完成时间和所述待接收时间确定视频播放是否出现卡顿。
可选的,计算过程中,基于第二视频帧组中缓存的待播放数据的长度,当以视频流出速度进行数据流出,以视频流入速度进行数据流入时,确定缓冲区中缓存数据的播放完成时间。以前述图5所示示例为例,此时缓冲区缓存数据为指针005左侧部分数据,即假定模拟的已经接收并缓存的数据,此时将该部分数据的长度除以视频流出速度可以得到缓冲区中缓存数据的播放完成时间t5。在得到播放完成时间和待接收时间后通过二者的比对可进行是否出现卡顿的预测。具体的比对判断条件可参见前述步骤S1033的解释部分,此处不再赘述。
由上述方案可知,在进行视频播放是否出现卡顿的预测过程中,模拟当前已开始发送的视频帧组全部数据被接收时,进行是否卡顿的预测,同时缓冲区的内容变更以视频流出速度和视频流入速度分别单独计算,可以显著提高卡顿预测的精度,解决了现有技术中只能针对正在播放的视频帧组进行卡顿预测,且未考虑传输过程中的数据导致的卡顿预测准确度低的问题。
图6为本申请实施例提供的一种预测卡顿时间的方法的流程图,如图6所示,具体包括:
步骤S201、获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组。
步骤S202、确定缓冲区的视频流出速度以及视频流入速度。
步骤S203、在所述第一视频帧组和所述第二视频帧组为同一个帧组的情况下,根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间。
步骤S204、根据所述视频流入速度以及所述第一视频帧组中待接收数据的长度确定待接收时间,如果所述播放完成时间小于或等于所述待接收时间,则确定视频播放出现卡顿。
步骤S205、在所述第一视频帧组和所述第二视频帧组不为同一个帧组的情况下,根据所述第一视频帧组的未播放的缓存数据的长度,对所述第二视频帧组的待接收数据的长度进行更新。
步骤S206、根据所述视频流入速度以及更新后的待接收数据的长度确定待接收时间。
步骤S207、根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间,如果所述播放完成时间小于或等于所述待接收时间,则确定视频播放出现卡顿。
步骤S208、根据视频流入速度、视频流出速度、播放完成时间以及待接收时间确定卡顿时间。
在一个实施例中,如果预测到视频播放会出现卡顿的情况,则进一步的对卡顿时间进行确定。示例性的,假定视频流入速度x,视频流出速度为y,播放完成时间为p,待接收时间为q,则卡顿时间为(q-p)*x/y。
由上述可知,通过分别统计正在播放的视频帧组和包含待接收数据的视频帧组的播放和待接收数据情况,并基于视频流入速度和视频流出速度以精确计算卡顿时间,便于后续的码率挡位切换,有助于提升用户观看视频的整体体验。
图7为本申请实施例提供的一种码率挡位调整的方法的流程图,如图7所示,具体包括:
步骤S301、获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组。
步骤S302、确定缓冲区的视频流出速度以及视频流入速度。
步骤S303、在所述第一视频帧组和所述第二视频帧组为同一个帧组的情况下,根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间。
步骤S304、根据所述视频流入速度以及所述第一视频帧组中待接收数据的长度确定待接收时间,如果所述播放完成时间小于或等于所述待接收时间,则确定视频播放出现卡顿。
步骤S305、在所述第一视频帧组和所述第二视频帧组不为同一个帧组的情况下,根据所述第一视频帧组的未播放的缓存数据的长度,对所述第二视频帧组的待接收数据的长度进行更新。
步骤S306、根据所述视频流入速度以及更新后的待接收数据的长度确定待接收时间。
步骤S307、根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间,如果所述播放完成时间小于或等于所述待接收时间,则确定视频播放出现卡顿。
步骤S308、根据视频流入速度、视频流出速度、播放完成时间以及待接收时间确定卡顿时间。
步骤S309、获取视频发送码率以及视频发送堆积时长,根据所述卡顿时间、所述视频发送码率和所述视频发送堆积时长确定是否进行码率挡位的调整。
在一个实施例中,视频播放端可设置多种不同的码率,以保证视频在网络较差时可以流畅播放,并在网络环境较好时以较高清晰度播放,来使得用户的观看体验最佳。在进行码率选择的过程中,可分别对不同码率下具体的码率值、视频发送堆积时长以及卡顿时间进行加权求和得到该码率的具体评分值,选择评分值最高的码率作为切换码率,该切换码率可作用于视频推流端,即视频推流端根据该确定出的最佳码率进行推流,以保证视频播放端的播放效果是最优的。一种示例性的计算方式可以是:评分值QoE=f*码率+g*卡顿时间+h*堆积时长,其中,f取值示例性的为1,g取值示例性的为-10,h取值示例性的为-5。不同码率预先对应不同的堆积时长的计算方式,卡顿时间可由前述实施例的计算方式进行计算,由此得到合理的评分值QoE以用于进行码率调整。
由上述可知,通过更为准确的卡顿预测和卡顿时间的计算,可以更加精准的对码率调整进行控制,可以更好的应对网络状况复杂多样的特性,使得基于该卡顿预测情况确定出的码率更加合理,使网络较差、不稳定的用户视频观看更为流畅,提升网络较好的用户视频清晰度,从而提升整体用户的观看体验。
图8为本申请实施例提供的一种视频播放卡顿预测装置的结构框图,该装置用于执行上述实施例提供的视频播放卡顿预测方法,具备执行方法相应的功能模块和有益效果。如图8所示,该装置具体包括:数据获取模块101、速度获取模块102和卡顿预测模块103,其中,
数据获取模块101,配置为获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;
速度获取模块102,配置为确定缓冲区的视频流出速度以及视频流入速度;
卡顿预测模块103,配置为根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿。
由上述方案可知,通过获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;确定缓冲区的视频流出速度以及视频流入速度;根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿。本方案,能够合理准确的进行视频播放卡顿的预测,可以更好的应对网络状况复杂多样的特性,使得基于该卡顿预测情况确定出的码率更加合理。
在一个可能的实施例中,所述卡顿预测模块103配置为:
在所述第一视频帧组和所述第二视频帧组为同一个帧组的情况下,根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间;
根据所述视频流入速度以及所述第一视频帧组中待接收数据的长度确定待接收时间;
根据所述播放完成时间和所述待接收时间确定视频播放是否出现卡顿。
在一个可能的实施例中,所述卡顿预测模块103配置为:
基于所述第一视频帧组中缓存的待播放数据的长度,当以所述视频流出速度进行数据流出,以所述视频流入速度进行数据流入时,确定所述缓冲区中缓存数据的播放完成时间。
在一个可能的实施例中,所述卡顿预测模块103配置为:
在所述第一视频帧组和所述第二视频帧组不为同一个帧组的情况下,根据所述第一视频帧组的未播放的缓存数据的长度,对所述第二视频帧组的待接收数据的长度进行更新;
根据所述视频流入速度以及更新后的待接收数据的长度确定待接收时间;
根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间;
根据所述播放完成时间和所述待接收时间确定视频播放是否出现卡顿。
在一个可能的实施例中,所述卡顿预测模块103配置为:
基于所述第二视频帧组中缓存的待播放数据的长度,当以所述视频流出速度进行数据流出,以所述视频流入速度进行数据流入时,确定所述缓冲区中缓存数据的播放完成时间。
在一个可能的实施例中,所述卡顿预测模块103配置为:
如果所述播放完成时间小于或等于所述待接收时间,则确定视频播放出现卡顿;
如果所述播放完成时间大于所述待接收时间,则确定视频播放不出现卡顿。
在一个可能的实施例中,该装置还包括卡顿时间计算模块,配置为在所述确定视频播放出现卡顿之后,根据所述视频流入速度、所述视频流出速度、所述播放完成时间以及所述待接收时间确定卡顿时间。
在一个可能的实施例中,码率自适应调节模块,配置为在所述确定卡顿时间之后,获取视频发送码率以及视频发送堆积时长;
根据所述卡顿时间、所述视频发送码率和所述视频发送堆积时长确定是否进行码率挡位的调整。
在一个可能的实施例中,所述卡顿预测模块103还配置为:
在所述确定视频播放不出现卡顿之后,根据所述视频流入速度和所述视频流出速度计算视频流入流出比;
根据所述视频流入流出比以及所述待接收数据的长度计算缓存数据的长度,以及根据所述视频流入速度和所述视频流出速度的比值与所述待接收数据的长度的乘积确定播放时间点,以用于后续进行视频播放是否卡顿的预测。
图9为本申请实施例提供的一种视频播放卡顿预测设备的结构示意图,如图9所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图9中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图9中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的视频播放卡顿预测方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的视频播放卡顿预测方法。输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种上述实施例描述的视频播放卡顿预测方法,其中,包括:
获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;
确定缓冲区的视频流出速度以及视频流入速度;
根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿。
值得注意的是,上述视频播放卡顿预测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本申请实施例所记载的视频播放卡顿预测方法。所述程序产品可以采用一个或多个可读介质的任意组合实现。
Claims (11)
1.一种视频播放卡顿预测方法,其特征在于,包括:
获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;
确定缓冲区的视频流出速度以及视频流入速度;
根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿,其中,包括:在所述第一视频帧组和所述第二视频帧组为同一个帧组的情况下,根据所述视频流入速度以及所述第一视频帧组中待接收数据的长度确定待接收时间,根据所述缓冲区中缓存数据的播放完成时间和所述待接收时间确定视频播放是否出现卡顿,所述播放完成时间基于所述视频流出速度和所述视频流入速度确定。
2.根据权利要求1所述的视频播放卡顿预测方法,其特征在于,所述根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间,包括:
基于所述第一视频帧组中缓存的待播放数据的长度,当以所述视频流出速度进行数据流出,以所述视频流入速度进行数据流入时,确定所述缓冲区中缓存数据的播放完成时间。
3.根据权利要求1所述的视频播放卡顿预测方法,其特征在于,所述根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿,包括:
在所述第一视频帧组和所述第二视频帧组不为同一个帧组的情况下,根据所述第一视频帧组的未播放的缓存数据的长度,对所述第二视频帧组的待接收数据的长度进行更新;
根据所述视频流入速度以及更新后的待接收数据的长度确定待接收时间;
根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间;
根据所述播放完成时间和所述待接收时间确定视频播放是否出现卡顿。
4.根据权利要求3所述的视频播放卡顿预测方法,其特征在于,在所述第一视频帧组和所述第二视频帧组不为同一个帧组的情况下,所述根据所述视频流出速度和所述视频流入速度确定所述缓冲区中缓存数据的播放完成时间,包括:
基于所述第二视频帧组中缓存的待播放数据的长度,当以所述视频流出速度进行数据流出,以所述视频流入速度进行数据流入时,确定所述缓冲区中缓存数据的播放完成时间。
5.根据权利要求1或3所述的视频播放卡顿预测方法,其特征在于,所述根据所述播放完成时间和所述待接收时间确定视频播放是否出现卡顿,包括:
如果所述播放完成时间小于或等于所述待接收时间,则确定视频播放出现卡顿;
如果所述播放完成时间大于所述待接收时间,则确定视频播放不出现卡顿。
6.根据权利要求5所述的视频播放卡顿预测方法,其特征在于,在所述确定视频播放出现卡顿之后,还包括:
根据所述视频流入速度、所述视频流出速度、所述播放完成时间以及所述待接收时间确定卡顿时间。
7.根据权利要求6所述的视频播放卡顿预测方法,其特征在于,在所述确定卡顿时间之后,还包括:
获取视频发送码率以及视频发送堆积时长;
根据所述卡顿时间、所述视频发送码率和所述视频发送堆积时长确定是否进行码率挡位的调整。
8.根据权利要求5所述的视频播放卡顿预测方法,其特征在于,在所述确定视频播放不出现卡顿之后,还包括:
根据所述视频流入速度和所述视频流出速度计算视频流入流出比;
根据所述视频流入流出比以及所述待接收数据的长度计算缓存数据的长度,以及根据所述视频流入速度和所述视频流出速度的比值与所述待接收数据的长度的乘积确定播放时间点,以用于后续进行视频播放是否卡顿的预测。
9.一种视频播放卡顿预测装置,其特征在于,包括:
数据获取模块,配置为获取正在播放的第一视频帧组以及包含待接收数据的第二视频帧组;
速度获取模块,配置为确定缓冲区的视频流出速度以及视频流入速度;
卡顿预测模块,配置为根据所述第一视频帧组和所述第二视频帧组的长度以及所述视频流出速度和所述视频流入速度确定视频播放是否出现卡顿,其中,具体配置为:在所述第一视频帧组和所述第二视频帧组为同一个帧组的情况下,根据所述视频流入速度以及所述第一视频帧组中待接收数据的长度确定待接收时间,根据所述缓冲区中缓存数据的播放完成时间和所述待接收时间确定视频播放是否出现卡顿,所述播放完成时间基于所述视频流出速度和所述视频流入速度确定。
10.一种视频播放卡顿预测设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-8中任一项所述的视频播放卡顿预测方法。
11.一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行权利要求1-8中任一项所述的视频播放卡顿预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211001005.7A CN115361585B (zh) | 2022-08-19 | 2022-08-19 | 视频播放卡顿预测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211001005.7A CN115361585B (zh) | 2022-08-19 | 2022-08-19 | 视频播放卡顿预测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115361585A CN115361585A (zh) | 2022-11-18 |
CN115361585B true CN115361585B (zh) | 2023-11-07 |
Family
ID=84002770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211001005.7A Active CN115361585B (zh) | 2022-08-19 | 2022-08-19 | 视频播放卡顿预测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115361585B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724585A (zh) * | 2012-06-29 | 2012-10-10 | Tcl集团股份有限公司 | 一种用于终端设备网络视频播放预加载的方法及装置 |
CN105100876A (zh) * | 2015-08-28 | 2015-11-25 | 北京奇艺世纪科技有限公司 | 一种流媒体的播放方法及装置 |
WO2016090665A1 (zh) * | 2014-12-09 | 2016-06-16 | 深圳Tcl数字技术有限公司 | 流媒体数据的播放方法及装置 |
CN106658049A (zh) * | 2016-12-31 | 2017-05-10 | 深圳市优必选科技有限公司 | 一种视频播放缓冲方法及系统 |
WO2018050115A1 (zh) * | 2016-09-18 | 2018-03-22 | 中兴通讯股份有限公司 | 一种视频播放流畅度检测方法和装置和计算机存储介质 |
CN109391847A (zh) * | 2017-08-08 | 2019-02-26 | 中国电信股份有限公司 | 流媒体卡顿的监测方法及监测装置 |
CN110300326A (zh) * | 2018-03-22 | 2019-10-01 | 杭州萤石软件有限公司 | 一种视频卡顿的检测方法及装置 |
CN114222194A (zh) * | 2021-12-17 | 2022-03-22 | 浙江大华技术股份有限公司 | 一种视频码流调整方法、装置及系统 |
-
2022
- 2022-08-19 CN CN202211001005.7A patent/CN115361585B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724585A (zh) * | 2012-06-29 | 2012-10-10 | Tcl集团股份有限公司 | 一种用于终端设备网络视频播放预加载的方法及装置 |
WO2016090665A1 (zh) * | 2014-12-09 | 2016-06-16 | 深圳Tcl数字技术有限公司 | 流媒体数据的播放方法及装置 |
CN105100876A (zh) * | 2015-08-28 | 2015-11-25 | 北京奇艺世纪科技有限公司 | 一种流媒体的播放方法及装置 |
WO2018050115A1 (zh) * | 2016-09-18 | 2018-03-22 | 中兴通讯股份有限公司 | 一种视频播放流畅度检测方法和装置和计算机存储介质 |
CN106658049A (zh) * | 2016-12-31 | 2017-05-10 | 深圳市优必选科技有限公司 | 一种视频播放缓冲方法及系统 |
CN109391847A (zh) * | 2017-08-08 | 2019-02-26 | 中国电信股份有限公司 | 流媒体卡顿的监测方法及监测装置 |
CN110300326A (zh) * | 2018-03-22 | 2019-10-01 | 杭州萤石软件有限公司 | 一种视频卡顿的检测方法及装置 |
CN114222194A (zh) * | 2021-12-17 | 2022-03-22 | 浙江大华技术股份有限公司 | 一种视频码流调整方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115361585A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102470106B1 (ko) | 동영상 재생 방법, 장치, 전자기기와 저장매체 | |
CN108079578B (zh) | 一种基于云游戏的码率调整方法、装置及存储介质 | |
AU2011101152A4 (en) | System and method for displaying information related to video programs in a graphical user interface | |
CN110730387B (zh) | 视频播放控制方法和装置、存储介质及电子装置 | |
WO2022052624A1 (zh) | 一种视频数据处理方法、装置、计算机设备及存储介质 | |
CN109257631B (zh) | 视频轮播播放方法、装置、计算机设备及存储介质 | |
WO2018000624A1 (zh) | 视频播放控制方法及装置 | |
CN104581407A (zh) | 一种视频预览的方法和装置 | |
CN112887795A (zh) | 视频播放方法、装置、设备和介质 | |
CN113569150B (zh) | 媒体内容预加载方法、模型构建方法及相关设备 | |
EP3748983A1 (en) | Video playback method, terminal apparatus, and storage medium | |
CN108259998B (zh) | 播放器及播放控制方法、装置、电子设备及播放系统 | |
JP2023521199A (ja) | ビデオストリーム再生制御方法、機器及び記憶媒体 | |
US20230199278A1 (en) | Systems and methods for providing optimized time scales and accurate presentation time stamps | |
CN110740374B (zh) | 一种多媒体数据的处理方法、装置、计算机设备和存储介质 | |
US20090113466A1 (en) | System, Method and Computer Program Product for Evaluating Media Streams | |
CN108989905B (zh) | 媒体流控制方法、装置、计算设备及存储介质 | |
CN115361585B (zh) | 视频播放卡顿预测方法、装置、设备及存储介质 | |
US20230138238A1 (en) | Methods, systems, and media for streaming video content using adaptive buffers | |
CN112843677A (zh) | 一种系统延时确定方法、装置、设备和存储介质 | |
CN118075517A (zh) | 用于选择流送媒体内容项的格式的方法、系统和介质 | |
CN1937749A (zh) | 视频播放系统、视频播放装置、及其控制方法与存储媒体 | |
US20170364372A1 (en) | Online video playback analysis and assistance | |
CN110807106A (zh) | 一种多媒体数据的处理方法、装置、计算机设备和存储介质 | |
CN110505501A (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 |