CN103533454A - 视频播放流畅度的检测方法和装置 - Google Patents

视频播放流畅度的检测方法和装置 Download PDF

Info

Publication number
CN103533454A
CN103533454A CN201310523052.2A CN201310523052A CN103533454A CN 103533454 A CN103533454 A CN 103533454A CN 201310523052 A CN201310523052 A CN 201310523052A CN 103533454 A CN103533454 A CN 103533454A
Authority
CN
China
Prior art keywords
video
duration
buffer status
client
broadcast state
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
CN201310523052.2A
Other languages
English (en)
Other versions
CN103533454B (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 Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum 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 Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201310523052.2A priority Critical patent/CN103533454B/zh
Publication of CN103533454A publication Critical patent/CN103533454A/zh
Application granted granted Critical
Publication of CN103533454B publication Critical patent/CN103533454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • 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是根据本发明第六实施例的视频播放流畅度的检测装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供了一种视频播放流畅度的检测方法。该方法可以运行在计算机处理装置上,以下结合附图对该视频播放流畅度的检测方法进行说明。
图1是根据本发明第一实施例的视频播放流畅度的检测方法的流程图。如图所示,该视频播放流畅度的检测方法包括以下步骤:
步骤S101,客户端检测本地视频处于播放状态的总时长。
步骤S102,客户端检测视频处于缓冲状态的总时长。
步骤S103,客户端根据视频处于播放状态的总时长和缓冲状态的总时长计算视频播放流畅度。
一般地,视频在播放中会有播放状态、缓冲状态和暂停状态。与视频播放流畅度相关的视频状态有播放状态和缓冲状态,由于暂停状态不属于视频本身的播放问题,因此在检测视频播放流畅度时不关心视频处于暂停状态的时长和次数。
在视频播放过程中,可能交替出现视频处于播放状态和缓冲状态的情况,视频在整个播放过程中,由处于播放状态和缓冲状态的多个时间段组成。因此,在计算视频播放流畅度的时候,需要计算本地视频处于播放状态的总时长和处于缓冲状态的总时长。容易理解的是,视频在播放过程中处于缓冲状态的总时长越长,视频播放流畅度越低,视频处于缓冲状态的次数越多,视频播放流畅度越低。
综上所述,通过检测视频处于播放状态的总时长和处于缓冲状态的总时长,能够计算得到视频播放流畅度。而计算视频播放流畅度的方法可以通过视频处于播放状态的总时长和处于缓冲状态的总时长得到,在下面的实施例中会详细说明,在此不做赘述。
由于在客户端检测本地视频的播放状态或者缓冲状态不会受限于网络状态或者用户所使用的播放器,因此直接检测客户端的视频播放状态能够使得检测得到的视频播放流畅度更加准确。
图2是根据本发明第二实施例的视频播放流畅度的检测方法的流程图。该视频播放流畅度的检测方法可以作为图1所示实施例的具体实施方式,如图所示,在客户端检测本地视频处于播放状态的总时长和客户端检测视频处于缓冲状态的总时长之前,该视频播放流畅度的检测方法包括以下步骤:
步骤S201,客户端获取视频的播放信息。视频状态可以是视频播放状态,也可以是视频缓冲状态,为了检测视频处于播放状态的总时长和视频处于缓冲状态的总时长,首先要判断视频处于播放状态或者缓冲状态。
视频的播放信息可以用来表征当前视频触发了视频播放、视频暂停或者视频继续的视频状态。通过获取视频的播放信息判断视频当前处于播放状态或者缓冲状态。
步骤S202,客户端根据播放信息判断视频是否已经开始播放。视频缓冲状态和视频播放状态都是在视频播放过程中才会出现的状态,要判断视频处于视频播放状态或者视频缓冲状态首先要判断视频是否已经开始播放。
步骤S203,客户端根据播放信息判断视频是否已经结束播放。视频缓冲状态和视频播放状态都是在视频播放过程中才会出现的状态,要判断视频处于视频播放状态或者视频缓冲状态首先要判断视频是否已经开始播放,并且视频没有结束播放。
下面以一种常见播放器说明如何判断是否已经开始播放以及判断是否已经结束播放。
对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端可以监听该视频播放组件的NetStatusEvent.NET_STATUS事件。
判断当前播放是否已经触发evt.info.code==″NetStream.Play.Start″,如果已经触发evt.info.code==″NetStream.Play.Start″,则确定视频已经开始播放。
在确定当前视频已经触发evt.info.code==″NetStream.Play.Start″之后,判断当前视频是否触发evt.info.code==″NetStream.Play.Stop″,如果没有触发evt.info.code==″NetStream.Play.Stop″,确定视频没有结束播放,否则视频已经结束播放。
步骤S204,客户端根据播放信息判断视频是否处于暂停状态。在视频播放过程中,通常会产生三种状态,分别为播放、继续和暂停,因此,在播放信息中会存储着三种状态,根据播放信息能够判断视频是否处于暂停状态。
对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端监听该视频播放组件的NetStatusEvent.NET_STATUS事件,判断最近一次调用的命令是播放、继续还是暂停,如果最近一次调用的命令是暂停,则确定视频当前处于暂停状态。
步骤S205,客户端判断本地视频缓冲区的数据是否耗尽。如果本地视频缓冲区的数据已经耗尽,意味着视频播放所需要的数据还没有下载完成,视频播放需要等待数据,即视频处于缓冲状态。
对于上述例子中监听播放组件的NetStatusEvent.NET_STATUS事件,如果evt.info.code==″NetStream.Buffer.Empty″,则确定本地视频缓冲区的数据已经耗尽。
步骤S206,客户端判断本地视频缓冲区的数据是否出错。视频播放过程中如果出错,那么视频既不会处于缓冲状态,也不会处于播放状态。
对于监听播放组件的NetStatusEvent.NET_STATUS事件,如果evt.info.code等于一个表示播放出错值,则确定视频播放出错。
步骤S207,客户端如果判断出视频已经开始播放,视频没有结束播放,视频没有处于暂停状态,本地视频缓冲区的数据没有耗尽且没有出错,则视频状态为播放状态。
对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端可以监听该视频播放组件的NetStatusEvent.NET_STATUS事件。
触发evt.info.code==″NetStream.Play.Start″之后,但未触发evt.info.code==″NetStream.Play.Stop″,判断出最近一次调用的命令是继续或者播放,evt.info.code不是″NetStream.Buffer.Empty″,也不是表示播放出错的值,确定视频处于播放状态。
步骤S208,客户端如果判断出视频已经开始播放,并且没有结束播放,视频没有处于暂停状态,本地视频缓冲区的数据已经耗尽且没有出错,则视频状态为缓冲状态。
对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端可以监听该视频播放组件的NetStatusEvent.NET_STATUS事件。
触发evt.info.code==″NetStream.Play.Start″之后,但未触发evt.info.code==″NetStream.Play.Stop″,判断出最近一次调用的命令是继续或者播放,evt.info.code是″NetStream.Buffer.Empty″,确定视频处于缓冲状态。
对于Silverlight的MediaElement(一种视频播放组件),客户端可以监听该播放组件中的CurrentStateChanged事件来判断视频处于播放状态或者缓冲状态。
当CurrentStateChanged事件被触发时,如果事件当前值是Playing则视频处于播放状态,如果事件当前值是Buffering,则视频处于缓冲状态。
由于播放器的类型有很多种,上述两种常用播放器的判断方法只是用于举例说明本发明视频播放流畅度的检测方法,并不用于限定本发明。应当理解的是,在具体用用的时候,可以根据播放器的类型确定被触发的对象,从而确定视频处于播放状态或者缓冲状态。
图3是根据本发明第三实施例的视频播放流畅度的检测方法的流程图。该视频播放流畅度的检测方法可以作为图1所示实施例的具体实施方式,如图所示,该视频播放流畅度的检测方法中客户端检测本地视频处于播放状态的总时长包括如下步骤:
步骤S301,获取视频处于播放状态的累加播放时长。由于视频在播放过程中会出现播放状态和缓冲状态交替出现的情况,因此,视频处于播放状态是时长是很多不连续的时间段组成的,视频处于播放状态的累加播放时长就是这些不连续的时间段的总和。
步骤S302,获取视频处于播放状态的当前播放时长。判断出当前视频处于播放状态之后,获取视频处于当前播放状态的时长。如果视频当前处于缓冲状态,则当前播放时长为0。
步骤S303,将累加播放时长和当前播放时长的和作为视频处于播放状态的总时长。此时得到的视频处于播放状态的总时长,即从视频开始播放算起,到当前时刻止,视频处于播放状态的总时长。
优选地,获取视频处于播放状态的累加播放时长包括以下步骤:
步骤S3011,记录视频进入播放状态的时刻。视频进入播放状态的时刻可以为从未播放状态进入播放状态,或者从暂停状态进入播放状态,还可以从缓冲状态进入播放状态,无论哪种进入播放状态,记录下进入播放状态的时刻。
步骤S3012,记录视频离开播放状态的时刻。视频离开播放状态可以是从播放状态变为暂停状态,或者从播放状态变为播放结束,或者从播放状态变为缓冲状态。记录视频从播放状态变为上述状态的时刻。
步骤S3013,计算视频进入播放状态的时刻和视频离开播放状态的时刻的差值,得到历史播放时长。视频进入播放状态的时刻和视频离开播放状态的时刻的差值为视频处于播放状态的一个时间段,即历史播放时长。
步骤S3014,获取视频播放过程中的多个历史播放时长。在整个视频播放过程中,视频可能会多次进入视频播放状态、缓冲状态或者暂停状态。获取视频播放过程中当前时刻之前的多个历史播放时长。
步骤S3015,将多个历史播放时长的和作为累加播放时长。
通过步骤S3011至步骤S3015,可以获取播放过程中的每个处于播放状态的历史播放时长,多个历史播放时长的总和作为累加播放时长可以获知当前时刻之前视频处于播放状态的时长。
图4是根据本发明第四实施例的视频播放流畅度的检测方法的流程图。如图所示,该视频播放流畅度的检测方法中客户端检测本地视频处于缓冲状态的总时长包括如下步骤:
步骤S401,获取视频处于缓冲状态的累加缓冲时长。由于视频在播放过程中会出现播放状态和缓冲状态交替出现的情况,因此,视频处于缓冲状态是时长是很多不连续的时间段组成的,视频处于缓冲状态的累加缓冲时长就是这些不连续的时间段的总和。
步骤S402,获取视频处于缓冲状态的当前缓冲时长。判断出当前视频处于缓冲状态之后,获取视频处于当前缓冲状态的时长。如果视频当前处于播放状态,则当前缓冲时长为0。
步骤S403,将累加缓冲时长和当前缓冲时长的和作为视频处于缓冲状态的总时长。此时得到的视频处于缓冲状态的总时长,即从视频开始缓冲算起,到当前时刻止,视频处于缓冲状态的总时长。
优选地,获取视频处于缓冲状态的累加缓冲时长包括以下步骤:
步骤S4011,记录视频进入缓冲状态的时刻。视频进入缓冲状态的时刻可以为从未缓冲状态进入缓冲状态,或者从暂停状态进入缓冲状态,还可以从播放状态进入缓冲状态,无论哪种进入缓冲状态,记录下进入缓冲状态的时刻。
步骤S4012,记录视频离开缓冲状态的时刻。视频离开缓冲状态可以是从缓冲状态变为暂停状态,或者从缓冲状态变为播放结束,或者从缓冲状态变为播放状态。记录视频从缓冲状态变为上述状态的时刻。
步骤S4013,计算视频进入缓冲状态的时刻和视频离开缓冲状态的时刻的差值,得到历史缓冲时长。视频进入缓冲状态的时刻和视频离开缓冲状态的时刻的差值为视频处于缓冲状态的一个时间段,即历史缓冲时长。
步骤S4014,获取视频播放过程中的多个历史缓冲时长。在整个视频播放过程中,视频可能会多次进入视频缓冲状态、缓冲状态或者暂停状态。获取视频播放过程中当前时刻之前的多个历史缓冲时长。
步骤S4015,将多个历缓冲时长进行的和作为累加缓冲时长。
通过步骤S4011至步骤S4015,可以获取播放过程中的每个处于缓冲状态的历史缓冲时长,多个历史缓冲时长的总和作为累加缓冲时长可以获知当前时刻之前视频处于缓冲状态的时长。
图5是根据本发明第五实施例的视频播放流畅度的检测方法的流程图。该图所示的视频播放流畅度的检测方法可以作为图1所示实施例的优选实施方式,如图所述,该视频播放流畅度的检测方法中客户端检测本地视频处于播放状态的总时长包括以下步骤:
步骤S501,获取客户端系统时间单元计算的视频处于播放状态的第一时长信息。客户端系统时间单元计算的第一时长信息为视频进入播放状态之后,离开播放状态之前的时长,例如进入播放状态的时间为18:00,离开播放状态的时间为18:05,则第一时长信息为5分钟。但是,如果在视频播放1分钟后人为调节客户端系统时间,将系统向后调了一个小时变为19:01,则第一时长信息为1小时5分钟。
步骤S502,获取客户端计时器计算的视频处于播放状态的第二时长信息。计时器可以周期性的更新流逝时间的值得到第二时长信息,例如设定计时器的周期为0.1秒触发一次,每次触发时将持续的秒数加0.1秒,那么5.2秒期间将触发52次,最终得到的持续时间就是5.2秒。但是,如果播放器的精度不高时,播放器中设定的周期为0.1秒时,实际触发间隔可能是0.113秒,或者0.092秒。
步骤S503,计算第二时长信息和第一时长信息的差值,并将差值除以第一时长信息的值作为计算结果。为了使得计算的时长更加准确,通过计算第二时长信息和第一时长信息的差值,将差值除以第一时长信息的值作为计算结果来确定准确的时长信息。
步骤S504,比较计算结果与预定值的大小。预定值可以是一个比例阈值。
步骤S505,如果计算结果大于预定值或者小于预定值的负数,则将第二时长信息作为视频处于播放状态的时长。如果计算结果大于预定值或者小于预定值的负数,则认为系统时间被更改,计数器计算的第二时长信息更准确,将第二时长信息作为视频处于播放状态的时长。
步骤S506,如果计算结果大于等于预定值的负数,且小于等于预定值,则将第一时长信息作为视频处于播放状态的时长。
因为计算结果大于预定值或者小于预定值的负数,所以确定认为系统时间没有被更改,将第一时长信息作为视频处于播放状态的时长。
通过比较系统计算时间和计时器计算时间的差值确定视频处于播放状态的总时长,能够提高计算视频处于播放状态的时长的准确性。
图6是根据本发明第六实施例的视频播放流畅度的检测方法的流程图。该图所示的视频播放流畅度的检测方法可以作为图1所示实施例的优选实施方式,如图所述,该视频播放流畅度的检测方法中客户端检测本地视频处于缓冲状态的总时长包括以下步骤:
步骤S601,获取客户端系统时间单元计算的视频处于缓冲状态的第三时长信息。客户端系统时间单元计算的第三时长信息为视频进入缓冲状态之后,离开缓冲状态之前的时长,例如进入缓冲状态的时间为18:00,离开缓冲状态的时间为18:05,则第三时长信息为5分钟。但是,如果在视频缓冲1分钟后人为调节客户端系统时间,将系统向后调了一个小时变为19:01,则第一时长信息为1小时5分钟。
步骤S602,获取客户端计时器计算的视频处于缓冲状态的第四时长信息。计时器可以周期性的更新流逝时间的值得到第四时长信息,例如设定计时器的周期为0.1秒触发一次,每次触发时将持续的秒数加0.1秒,那么5.2秒期间将触发52次,最终得到的持续时间就是5.2秒。但是,如果播放器的精度不高时,播放器中设定的周期为0.1秒时,实际触发间隔可能是0.113秒,或者0.092秒。
步骤S603,计算第四时长信息和第三时长信息的差值,并将差值除以第三时长信息的值作为计算结果。为了使得计算的时长更加准确,通过计算第四时长信息和第三时长信息的差值,将差值除以第三时长信息的值作为计算结果来确定准确的时长信息。
步骤S604,比较计算结果与预定值的大小。预定值可以是一个比例阈值。
步骤S605,如果计算结果大于预定值或者小于预定值的负数,则将第四时长信息作为视频处于缓冲状态的时长。如果计算结果大于预定值或者小于预定值的负数,则认为系统时间被更改,计数器计算的第四时长信息更准确,将第四时长信息作为视频处于播放状态的时长。
步骤S606,如果计算结果大于等于预定值的负数,且小于等于预定值,则将第三时长信息作为视频处于缓冲状态的时长。
因为计算结果大于等于预定值的负数,且小于等于预定值,所以确定认为系统时间没有被更改,将第三时长信息作为视频处于播放状态的时长。
通过比较系统计算时间和计时器计算时间的差值确定视频处于缓冲状态的总时长,能够提高计算视频处于缓冲状态的时长的准确性。
优选地,根据视频处于播放状态的总时长和缓冲状态的总时长计算视频播放流畅度包括:用常数a乘以视频处于缓冲状态的总时长,用常数b乘以视频处于缓冲状态的次数,将上述两个乘积与视频处于播放状态的总时长求和,得到加和C,再用视频处于播放状态的总时长除以该加和C,得到的商可以作为视频播放流畅度。用上述方法计算得到的视频播放流畅度处于0至1之间,数值越大,流畅度越高,数值越小,流畅度越低。用公式表示如下:
Figure BDA0000404420470000111
本发明实施例还提供了一种视频播放流畅度的检测装置。
本发明实施例的视频播放流畅度的检测方法可以通过本发明实施例所提供的视频播放流畅度的检测装置来执行,本发明实施例的视频播放流畅度的检测装置也可以用于执行本发明实施例所提供的视频播放流畅度的检测方法。
图7是根据本发明第一实施例的视频播放流畅度的检测装置的示意图。如图所示,该视频播放流畅度的检测装置包括第一检测单元10、第二检测单元20和计算单元30。
第一检测单元10用于检测客户端本地视频处于播放状态的总时长。
第二检测单元20用于检测客户端的视频处于缓冲状态的总时长。
计算单元30用于根据视频处于播放状态的总时长和缓冲状态的总时长计算视频播放流畅度。
一般地,视频在播放中会有播放状态、缓冲状态和暂停状态。与视频播放流畅度相关的视频状态有播放状态和缓冲状态,由于暂停状态不属于视频本身的播放问题,因此在检测视频播放流畅度时不关心视频处于暂停状态的时长和次数。
在视频播放过程中,可能交替出现视频处于播放状态和缓冲状态的情况,视频在整个播放过程中,由处于播放状态和缓冲状态的多个时间段组成。因此,在计算视频播放流畅度的时候,需要计算本地视频处于播放状态的总时长和处于缓冲状态的总时长。容易理解的是,视频在播放过程中处于缓冲状态的总时长越长,视频播放流畅度越低,视频处于缓冲状态的次数越多,视频播放流畅度越低。
综上所述,通过检测视频处于播放状态的总时长和处于缓冲状态的总时长,能够计算得到视频播放流畅度。而计算视频播放流畅度的方法可以通过视频处于播放状态的总时长和处于缓冲状态的总时长得到,在下面的实施例中会详细说明,在此不做赘述。
由于在客户端检测本地视频的播放状态或者缓冲状态不会受限于网络状态或者用户所使用的播放器,因此直接检测客户端的视频播放状态能够使得检测得到的视频播放流畅度更加准确。
图8是根据本发明第二实施例的视频播放流畅度的检测装置的示意图。如图所述,该视频播放流畅度的检测装置包括第一检测单元10、第二检测单元20和计算单元30,以及获取单元11、第一判断单元22、第二判断单元33、第三判断单元44、第四判断单元55、第一确定单元66和第二确定单元77。
获取单元11用于在检测客户端本地视频处于播放状态的总时长和检测客户端的视频处于缓冲状态的总时长之前,获取客户端的视频信息。视频状态可以是视频播放状态,也可以是视频缓冲状态,为了检测视频处于播放状态的总时长和视频处于缓冲状态的总时长,首先要判断视频处于播放状态或者缓冲状态。
视频的播放信息可以用来表征当前视频触发了视频播放、视频暂停或者视频继续的视频状态。通过获取视频的播放信息判断视频当前处于播放状态或者缓冲状态。
第一判断单元22用于根据视频信息判断视频是否已经开始播放。视频缓冲状态和视频播放状态都是在视频播放过程中才会出现的状态,要判断视频处于视频播放状态或者视频缓冲状态首先要判断视频是否已经开始播放。
第二判断单元33用于根据视频信息判断视频是否已经结束播放。视频缓冲状态和视频播放状态都是在视频播放过程中才会出现的状态,要判断视频处于视频播放状态或者视频缓冲状态首先要判断视频是否已经开始播放,并且视频没有结束播放。
下面以一种常见播放器说明如何判断是否已经开始播放以及判断是否已经结束播放。
对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端可以监听该视频播放组件的NetStatusEvent.NET_STATUS事件。
判断当前播放是否已经触发evt.info.code==″NetStream.Play.Start″,如果已经触发evt.info.code==″NetStream.Play.Start″,则确定视频已经开始播放。
在确定当前视频已经触发evt.info.code==″NetStream.Play.Start″之后,判断当前视频是否触发evt.info.code==″NetStream.Play.Stop″,如果没有触发evt.info.code==″NetStream.Play.Stop″,确定视频没有结束播放,否则视频已经结束播放。
第三判断单元44用于根据视频信息判断视频是否处于暂停状态。在视频播放过程中,通常会产生三种状态,分别为播放、继续和暂停,因此,在播放信息中会存储着三种状态,根据播放信息能够判断视频是否处于暂停状态。
对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端监听该视频播放组件的NetStatusEvent.NET_STATUS事件,判断最近一次调用的命令是播放、继续还是暂停,如果最近一次调用的命令是暂停,则确定视频当前处于暂停状态。
第四判断单元55用于判断本地视频缓冲区的数据是否耗尽。如果本地视频缓冲区的数据已经耗尽,意味着视频播放所需要的数据还没有下载完成,视频播放需要等待数据,即视频处于缓冲状态。
对于上述例子中监听播放组件的NetStatusEvent.NET_STATUS事件,如果evt.info.code==″NetStream.Buffer.Empty″,则确定本地视频缓冲区的数据已经耗尽。
第五判断单元66用于判断本地视频缓冲区的数据是否出错。视频播放过程中如果出错,那么视频既不会处于缓冲状态,也不会处于播放状态。
对于监听播放组件的NetStatusEvent.NET_STATUS事件,如果evt.info.code等于一个表示播放出错值,则确定视频播放出错。
第一确定单元77用于在判断出视频已经开始播放,视频没有结束播放,视频没有处于暂停状态,本地视频缓冲区的数据没有耗尽且没有出错时,确定视频状态为播放状态。对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端可以监听该视频播放组件的NetStatusEvent.NET_STATUS事件。
触发evt.info.code==″NetStream.Play.Start″之后,但未触发evt.info.code==″NetStream.Play.Stop″,判断出最近一次调用的命令是继续或者播放,evt.info.code不是″NetStream.Buffer.Empty″,也不是表示播放出错的值,确定视频处于播放状态。
第二确定单元88用于在判断出视频已经开始播放,并且没有结束播放,视频没有处于暂停状态,本地视频缓冲区的数据已经耗尽且没有出错时,确定视频状态为缓冲状态。
对于Flash ActionScript 3的NetStream(一种视频播放组件),客户端可以监听该视频播放组件的NetStatusEvent.NET_STATUS事件。
触发evt.info.code==″NetStream.Play.Start″之后,但未触发evt.info.code==″NetStream.Play.Stop″,判断出最近一次调用的命令是继续或者播放,evt.info.code是″NetStream.Buffer.Empty″,确定视频处于缓冲状态。
对于Silverlight的MediaElement(一种视频播放组件),客户端可以监听该播放组件中的CurrentStateChanged事件来判断视频处于播放状态或者缓冲状态。
当CurrentStateChanged事件被触发时,如果事件当前值是Playing则视频处于播放状态,如果事件当前值是Buffering,则视频处于缓冲状态。
由于播放器的类型有很多种,上述两种常用播放器的判断方法只是用于举例说明本发明视频播放流畅度的检测方法,并不用于限定本发明。应当理解的是,在具体用用的时候,可以根据播放器的类型确定被触发的对象,从而确定视频处于播放状态或者缓冲状态。
图9是根据本发明第三实施例的视频播放流畅度的检测装置的示意图。如图所示,该视频播放流畅度的检测装置包括:第一检测单元10、第二检测单元20和计算单元30,其中,第一检测单元10包括第一获取模块101、第二获取模块102和第一加和模块103。
该图所示实施例中的第二检测单元20和计算单元30与图7所示实施例中的第二检测单元20和计算单元30的功能相同,在此不做赘述。
第一获取模块101用于获取视频处于播放状态的累加播放时长。由于视频在播放过程中会出现播放状态和缓冲状态交替出现的情况,因此,视频处于播放状态是时长是很多不连续的时间段组成的,视频处于播放状态的累加播放时长就是这些不连续的时间段的总和。
第二获取模块102用于获取视频处于播放状态的当前播放时长。判断出当前视频处于播放状态之后,获取视频处于当前播放状态的时长。如果视频当前处于缓冲状态,则当前播放时长为0。
第一加和模块103用于将累加播放时长和当前播放时长的和作为视频处于播放状态的总时长。此时得到的视频处于播放状态的总时长,即从视频开始播放算起,到当前时刻止,视频处于播放状态的总时长。
优选地,第一获取模块101包括以下子模块:
第一记录子模块1011用于记录视频进入播放状态的时刻。视频进入播放状态的时刻可以为从未播放状态进入播放状态,或者从暂停状态进入播放状态,还可以从缓冲状态进入播放状态,无论哪种进入播放状态,记录下进入播放状态的时刻。
第二记录子模块1012用于记录视频离开播放状态的时刻。视频离开播放状态可以是从播放状态变为暂停状态,或者从播放状态变为播放结束,或者从播放状态变为缓冲状态。记录视频从播放状态变为上述状态的时刻。
第一计算子模块1013用于计算视频进入播放状态的时刻和视频离开播放状态的时刻的差值,得到历史播放时长。视频进入播放状态的时刻和视频离开播放状态的时刻的差值为视频处于播放状态的一个时间段,即历史播放时长。
第一获取子模块1014用于获取视频播放过程中的多个历史播放时长。在整个视频播放过程中,视频可能会多次进入视频播放状态、缓冲状态或者暂停状态。获取视频播放过程中当前时刻之前的多个历史播放时长。
第一累加子模块1015用于将多个历史播放时长的和作为累加播放时长。
通过第一记录子模块1011、第二记录子模块1012、第一计算子模块1013、第一获取子模块1014和第一累加子模块1015,可以获取播放过程中的每个处于播放状态的历史播放时长,多个历史播放时长的总和作为累加播放时长可以获知当前时刻之前视频处于播放状态的时长。
图10是根据本发明第四实施例的视频播放流畅度的检测装置的示意图。如图所示,该视频播放流畅度的检测装置包括第一检测单元10、第二检测单元20和计算单元30,其中,第一检测单元10包括第一检测单元10包括第三获取模块104、第四获取模块105和第二加和模块106。
该图所示实施例中的第二检测单元20和计算单元30与图7所示实施例中的第二检测单元20和计算单元30的功能相同,在此不做赘述。
第三获取模块104用于获取视频处于缓冲状态的累加缓冲时长。由于视频在播放过程中会出现播放状态和缓冲状态交替出现的情况,因此,视频处于缓冲状态是时长是很多不连续的时间段组成的,视频处于缓冲状态的累加缓冲时长就是这些不连续的时间段的总和。
第四获取模块105用于获取视频处于缓冲状态的当前缓冲时长。判断出当前视频处于缓冲状态之后,获取视频处于当前缓冲状态的时长。如果视频当前处于播放状态,则当前缓冲时长为0。
第二加和模块106用于将累加缓冲时长和当前缓冲时长的和作为视频处于缓冲状态的总时长。此时得到的视频处于缓冲状态的总时长,即从视频开始缓冲算起,到当前时刻止,视频处于缓冲状态的总时长。
优选地,第三获取模块104通过以下子模块获取视频处于缓冲状态的累加缓冲时长:
第三记录子模块1041用于记录视频进入缓冲状态的时刻。视频进入缓冲状态的时刻可以为从未缓冲状态进入缓冲状态,或者从暂停状态进入缓冲状态,还可以从播放状态进入缓冲状态,无论哪种进入缓冲状态,记录下进入缓冲状态的时刻。
第四记录子模块1042用于记录视频离开缓冲状态的时刻。视频离开缓冲状态可以是从缓冲状态变为暂停状态,或者从缓冲状态变为播放结束,或者从缓冲状态变为播放状态。记录视频从缓冲状态变为上述状态的时刻。
第二计算子模块1043用于计算视频进入缓冲状态的时刻和视频离开缓冲状态的时刻的差值,得到历史缓冲时长。视频进入缓冲状态的时刻和视频离开缓冲状态的时刻的差值为视频处于缓冲状态的一个时间段,即历史缓冲时长。
第二获取子模块1044用于获取视频播放过程中的多个历史缓冲时长。在整个视频播放过程中,视频可能会多次进入视频缓冲状态、缓冲状态或者暂停状态。获取视频播放过程中当前时刻之前的多个历史缓冲时长。
第二累加子模块1045用于将多个历缓冲时长进行的和作为累加缓冲时长。
通过上述子模块,可以获取播放过程中的每个处于缓冲状态的历史缓冲时长,多个历史缓冲时长的总和作为累加缓冲时长可以获知当前时刻之前视频处于缓冲状态的时长。
图11是根据本发明第五实施例的视频播放流畅度的检测装置的示意图。如图所示,该视频播放流畅度的检测装置包括:第一检测单元10、第二检测单元20和计算单元30,其中,第一检测单元10包括第一状态获取模块107、播放时长获取模块108、第一计算模块109、第一比较模块110、第一确定模块111和第二确定模块112。
该图所示实施例中的第二检测单元20和计算单元30与图7所示实施例中的第二检测单元20和计算单元30的功能相同,在此不做赘述。
第一状态获取模块107用于获取客户端系统时间单元计算的视频处于播放状态的第一时长信息。客户端系统时间单元计算的第一时长信息为视频进入播放状态之后,离开播放状态之前的时长,例如进入播放状态的时间为18:00,离开播放状态的时间为18:05,则第一时长信息为5分钟。但是,如果在视频播放1分钟后人为调节客户端系统时间,将系统向后调了一个小时变为19:01,则第一时长信息为1小时5分钟。
播放时长获取模块108用于获取客户端计时器计算的视频处于播放状态的第二时长信息。计时器可以周期性的更新流逝时间的值得到第二时长信息,例如设定计时器的周期为0.1秒触发一次,每次触发时将持续的秒数加0.1秒,那么5.2秒期间将触发52次,最终得到的持续时间就是5.2秒。但是,如果播放器的精度不高时,播放器中设定的周期为0.1秒时,实际触发间隔可能是0.113秒,或者0.092秒。
第一计算模块109用于计算第二时长信息和第一时长信息的差值,并将差值除以第一时长信息的值作为计算结果。为了使得计算的时长更加准确,通过计算第二时长信息和第一时长信息的差值,将差值除以第一时长信息的值作为计算结果来确定准确的时长信息。
第一比较模块110用于比较计算结果与预定值的大小。
第一确定模块111在计算结果大于预定值或者小于预定值的负数时,将第二时长信息作为视频处于播放状态的时长。如果计算结果大于预定值或者小于预定值的负数,则认为系统时间被更改,计数器计算的第二时长信息更准确,将第二时长信息作为视频处于播放状态的时长。
第二确定模块112在计算结果大于等于预定值的负数,且小于等于预定值时,将第一时长信息作为视频处于播放状态的时长。如果计算结果大于预定值或者小于预定值的负数,则认为系统时间没有被更改,可以将第一时长信息作为视频处于播放状态的时长。
通过比较系统计算时间和计时器计算时间的差值确定视频处于播放状态的总时长,能够提高计算视频处于播放状态的时长的准确性。
图12是根据本发明第六实施例的视频播放流畅度的检测装置的示意图。如图所示,该视频播放流畅度的检测装置包括:第一检测单元10、第二检测单元20和计算单元30,其中,第二检测单元20包括第二状态获取模块201、缓冲时长获取模块202、第二计算模块203、第二比较模块204、第三确定模块205和第四确定模块206。
该图所示实施例中的第一检测单元10和计算单元30与图7所示实施例中的第一检测单元10和计算单元30的功能相同,在此不做赘述。
第二状态获取模块201用于获取客户端系统时间单元计算的视频处于缓冲状态的第三时长信息。客户端系统时间单元计算的第三时长信息为视频进入缓冲状态之后,离开缓冲状态之前的时长,例如进入缓冲状态的时间为18:00,离开缓冲状态的时间为18:05,则第三时长信息为5分钟。但是,如果在视频缓冲1分钟后人为调节客户端系统时间,将系统向后调了一个小时变为19:01,则第一时长信息为1小时5分钟。
缓冲时长获取模块202用于获取客户端计时器计算的视频处于缓冲状态的第四时长信息。计时器可以周期性的更新流逝时间的值得到第四时长信息,例如设定计时器的周期为0.1秒触发一次,每次触发时将持续的秒数加0.1秒,那么5.2秒期间将触发52次,最终得到的持续时间就是5.2秒。但是,如果播放器的精度不高时,播放器中设定的周期为0.1秒时,实际触发间隔可能是0.113秒,或者0.092秒。
第二计算模块203用于计算第四时长信息和第三时长信息的差值,并将差值除以第三时长信息的值作为计算结果。为了使得计算的时长更加准确,通过计算第四时长信息和第三时长信息的差值,将差值除以第三时长信息的值作为计算结果来确定准确的时长信息。
第二比较模块204用于比较计算结果与预定值的大小。预定值可以是一个比例阈值。
第三确定模块205用于在计算结果大于预定值或者小于预定值的负数时,将第四时长信息作为视频处于缓冲状态的时长。如果计算结果大于预定值或者小于预定值的负数,则认为系统时间被更改,计数器计算的第四时长信息更准确,将第四时长信息作为视频处于播放状态的时长。
第四确定模块206用于在计算结果大于等于预定值的负数,且小于等于预定值时,将第三时长信息作为视频处于缓冲状态的时长。如果计算结果大于等于预定值的负数,且小于等于预定值,则认为系统时间没有被更改,将第三时长信息作为视频处于播放状态的时长。
通过比较系统计算时间和计时器计算时间的差值确定视频处于缓冲状态的总时长,能够提高计算视频处于缓冲状态的时长的准确性。
本发明实施例还提供了一种计算机存储介质。该计算机存储介质可存储有程序,该程序用于执行上述的视频播放流畅度的检测方法中的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种视频播放流畅度的检测方法,其特征在于,包括:
客户端检测本地视频处于播放状态的总时长;
所述客户端检测所述视频处于缓冲状态的总时长;以及
所述客户端根据所述视频处于所述播放状态的总时长和所述缓冲状态的总时长计算所述视频播放流畅度。
2.根据权利要求1所述的视频播放流畅度的检测方法,其特征在于,在客户端检测本地视频处于播放状态的总时长和所述客户端检测所述视频处于缓冲状态的总时长之前,所述视频播放流畅度的检测方法包括:
所述客户端获取所述视频的播放信息;
所述客户端根据所述播放信息判断所述视频是否已经开始播放;
所述客户端根据所述播放信息判断所述视频是否已经结束播放;
所述客户端根据所述播放信息判断所述视频是否处于暂停状态;
所述客户端判断本地视频缓冲区的数据是否耗尽;
所述客户端判断本地视频缓冲区的数据是否出错;
所述客户端如果判断出所述视频已经开始播放,所述视频没有结束播放,所述视频没有处于暂停状态,所述本地视频缓冲区的数据没有耗尽且没有出错,则所述视频状态为播放状态;以及
所述客户端如果判断出所述视频已经开始播放,并且没有结束播放,所述视频没有处于暂停状态,所述本地视频缓冲区的数据已经耗尽且没有出错,则所述视频状态为缓冲状态。
3.根据权利要求1所述的视频播放流畅度的检测方法,其特征在于,客户端检测本地视频处于播放状态的总时长包括:
获取所述视频处于所述播放状态的累加播放时长;
获取所述视频处于所述播放状态的当前播放时长;以及
将所述累加播放时长和所述当前播放时长的和作为所述视频处于所述播放状态的总时长。
4.根据权利要求3所述的视频播放流畅度的检测方法,其特征在于,获取所述视频处于所述播放状态的累加播放时长包括:
记录所述视频进入所述播放状态的时刻;
记录所述视频离开所述播放状态的时刻;
计算所述视频进入所述播放状态的时刻和所述视频离开所述播放状态的时刻的差值,得到历史播放时长;
获取所述视频播放过程中的多个所述历史播放时长;以及
将所述多个所述历史播放时长的和作为累加播放时长。
5.根据权利要求1所述的视频播放流畅度的检测方法,其特征在于,所述客户端检测所述视频处于缓冲状态的总时长包括:
获取所述视频处于所述缓冲状态的累加缓冲时长;
获取所述视频处于所述缓冲状态的当前缓冲时长;以及
将所述累加缓冲时长和所述当前缓冲时长的和作为所述视频处于所述缓冲状态的总时长。
6.根据权利要求5所述的视频播放流畅度的检测方法,其特征在于,获取所述视频处于所述缓冲状态的累加缓冲时长包括:
记录所述视频进入所述缓冲状态的时刻;
记录所述视频离开所述缓冲状态的时刻;
计算所述视频进入所述缓冲状态的时刻和所述视频离开所述缓冲状态的时刻的差值,得到历史缓冲时长;
获取所述视频播放过程中的多个所述历史缓冲时长;以及
将所述多个所述历缓冲时长进行的和作为累加缓冲时长。
7.根据权利要求1所述的视频播放流畅度的检测方法,其特征在于,客户端检测本地视频处于播放状态的总时长包括:
获取所述客户端系统时间单元计算的所述视频处于所述播放状态的第一时长信息;
获取所述客户端计时器计算的所述视频处于所述播放状态的第二时长信息;
计算所述第二时长信息和所述第一时长信息的差值,并将所述差值除以第一时长信息的值作为计算结果;
比较所述计算结果与预定值的大小;
如果所述计算结果大于所述预定值或者小于所述预定值的负数,则将所述第二时长信息作为所述视频处于所述播放状态的时长;以及
如果所述计算结果大于等于所述预定值的负数,且小于等于所述预定值,则将所述第一时长信息作为所述视频处于所述播放状态的时长。
8.根据权利要求1所述的视频播放流畅度的检测方法,其特征在于,客户端检测本地视频处于缓冲状态的总时长包括:
获取所述客户端系统时间单元计算的所述视频处于所述缓冲状态的第三时长信息;
获取所述客户端计时器计算的所述视频处于所述缓冲状态的第四时长信息;
计算所述第四时长信息和所述第三时长信息的差值,并将所述差值除以第三时长信息的值作为计算结果;
比较所述计算结果与预定值的大小;
如果所述计算结果大于所述预定值或者小于所述预定值的负数,则将所述第四时长信息作为所述视频处于所述缓冲状态的时长;以及
如果所述计算结果大于等于所述预定值的负数,且小于等于所述预定值,则将所述第三时长信息作为所述视频处于所述缓冲状态的时长。
9.一种视频播放流畅度的检测装置,其特征在于,包括:
第一检测单元,用于检测客户端本地视频处于播放状态的总时长;
第二检测单元,用于检测所述客户端的所述视频处于缓冲状态的总时长;以及
计算单元,用于根据所述视频处于所述播放状态的总时长和所述缓冲状态的总时长计算所述视频播放流畅度。
10.根据权利要求9所述的视频播放流畅度的检测装置,其特征在于,所述视频播放流畅度的检测装置还包括:
获取单元,用于在检测客户端本地视频处于播放状态的总时长和检测所述客户端的所述视频处于缓冲状态的总时长之前,获取所述客户端的所述视频的播放信息;
第一判断单元,用于根据所述播放信息判断所述视频是否已经开始播放;
第二判断单元,用于根据所述播放信息判断所述视频是否已经结束播放;
第三判断单元,用于根据所述播放信息判断所述视频是否处于暂停状态;
第四判断单元,用于判断本地视频缓冲区的数据是否耗尽;
第五判断单元,用于判断本地视频缓冲区的数据是否出错;
第一确定单元,用于在判断出所述视频已经开始播放,所述视频没有结束播放,所述视频没有处于暂停状态,所述本地视频缓冲区的数据没有耗尽且没有出错时,确定所述视频状态为播放状态;以及
第二确定单元,用于在判断出所述视频已经开始播放,并且没有结束播放,所述视频没有处于暂停状态,所述本地视频缓冲区的数据已经耗尽且没有出错时,确定所述视频状态为缓冲状态。
CN201310523052.2A 2013-10-29 2013-10-29 视频播放流畅度的检测方法和装置 Active CN103533454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310523052.2A CN103533454B (zh) 2013-10-29 2013-10-29 视频播放流畅度的检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310523052.2A CN103533454B (zh) 2013-10-29 2013-10-29 视频播放流畅度的检测方法和装置

Publications (2)

Publication Number Publication Date
CN103533454A true CN103533454A (zh) 2014-01-22
CN103533454B CN103533454B (zh) 2016-08-17

Family

ID=49935058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310523052.2A Active CN103533454B (zh) 2013-10-29 2013-10-29 视频播放流畅度的检测方法和装置

Country Status (1)

Country Link
CN (1) CN103533454B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103826158A (zh) * 2014-02-27 2014-05-28 北京六间房科技有限公司 一种网络直播装置和方法
CN104079926A (zh) * 2014-07-04 2014-10-01 南京富士通南大软件技术有限公司 一种远程桌面软件的视频性能测试方法
CN104486092A (zh) * 2014-12-15 2015-04-01 北京国双科技有限公司 数据监控方法及装置
CN106060663A (zh) * 2016-06-24 2016-10-26 武汉斗鱼网络科技有限公司 在视频直播过程中监控视频流畅度的方法及系统
CN106341730A (zh) * 2015-07-14 2017-01-18 北京国双科技有限公司 多媒体状态的识别方法、装置及系统
CN106488256A (zh) * 2015-08-24 2017-03-08 北京国双科技有限公司 一种数据处理方法及装置
CN106658188A (zh) * 2016-12-20 2017-05-10 天脉聚源(北京)传媒科技有限公司 一种智能监测视频卡顿的方法及装置
CN106792163A (zh) * 2016-11-25 2017-05-31 上海乐欢软件有限公司 一种视频播放状态的检测方法及装置
CN106911958A (zh) * 2015-12-23 2017-06-30 北京国双科技有限公司 视频检测方法和装置
CN107087210A (zh) * 2017-03-30 2017-08-22 青岛海信电器股份有限公司 基于缓存时间判断视频播放状态的方法及终端
CN107155129A (zh) * 2017-04-23 2017-09-12 佛山市高明区云大机械科技有限公司 一种视频计时方法
WO2018050115A1 (zh) * 2016-09-18 2018-03-22 中兴通讯股份有限公司 一种视频播放流畅度检测方法和装置和计算机存储介质
CN108270738A (zh) * 2016-12-30 2018-07-10 北京华为数字技术有限公司 一种视频处理方法及网络设备
CN110971916A (zh) * 2018-09-28 2020-04-07 武汉斗鱼网络科技有限公司 一种直播流畅度监控方法及系统
CN113079368A (zh) * 2021-03-26 2021-07-06 深圳创维-Rgb电子有限公司 视频流畅度检测方法、装置、终端设备以及存储介质
CN113453066A (zh) * 2020-03-24 2021-09-28 腾讯科技(深圳)有限公司 一种播放时长确定方法和相关设备
CN113810773A (zh) * 2021-09-17 2021-12-17 北京百度网讯科技有限公司 视频下载方法及装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655547A (zh) * 2004-09-09 2005-08-17 上海川海信息科技有限公司 一种流媒体传输系统中的速率控制方法
US20050235167A1 (en) * 2004-04-16 2005-10-20 Harry Tiotantra Data streaming system with environment sensor
CN103001835A (zh) * 2012-12-29 2013-03-27 电信科学技术第一研究所 基于数据传输的网络带宽测试方法及系统
CN103024446A (zh) * 2012-12-31 2013-04-03 传聚互动(北京)科技有限公司 网络视频的加载缓冲方法和系统
CN103039085A (zh) * 2011-06-07 2013-04-10 华为技术有限公司 用于在数据网络中监视视频会话的监视装置和方法
CN103051498A (zh) * 2012-12-29 2013-04-17 电信科学技术第一研究所 网速测试方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050235167A1 (en) * 2004-04-16 2005-10-20 Harry Tiotantra Data streaming system with environment sensor
CN1655547A (zh) * 2004-09-09 2005-08-17 上海川海信息科技有限公司 一种流媒体传输系统中的速率控制方法
CN103039085A (zh) * 2011-06-07 2013-04-10 华为技术有限公司 用于在数据网络中监视视频会话的监视装置和方法
CN103001835A (zh) * 2012-12-29 2013-03-27 电信科学技术第一研究所 基于数据传输的网络带宽测试方法及系统
CN103051498A (zh) * 2012-12-29 2013-04-17 电信科学技术第一研究所 网速测试方法及系统
CN103024446A (zh) * 2012-12-31 2013-04-03 传聚互动(北京)科技有限公司 网络视频的加载缓冲方法和系统

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103826158A (zh) * 2014-02-27 2014-05-28 北京六间房科技有限公司 一种网络直播装置和方法
CN103826158B (zh) * 2014-02-27 2017-09-26 北京六间房科技有限公司 一种网络直播装置和方法
CN104079926A (zh) * 2014-07-04 2014-10-01 南京富士通南大软件技术有限公司 一种远程桌面软件的视频性能测试方法
CN104486092A (zh) * 2014-12-15 2015-04-01 北京国双科技有限公司 数据监控方法及装置
CN104486092B (zh) * 2014-12-15 2018-04-06 北京国双科技有限公司 数据监控方法及装置
CN106341730A (zh) * 2015-07-14 2017-01-18 北京国双科技有限公司 多媒体状态的识别方法、装置及系统
CN106341730B (zh) * 2015-07-14 2019-06-07 北京国双科技有限公司 多媒体状态的识别方法、装置及系统
CN106488256B (zh) * 2015-08-24 2019-12-10 北京国双科技有限公司 一种数据处理方法及装置
CN106488256A (zh) * 2015-08-24 2017-03-08 北京国双科技有限公司 一种数据处理方法及装置
CN106911958A (zh) * 2015-12-23 2017-06-30 北京国双科技有限公司 视频检测方法和装置
CN106911958B (zh) * 2015-12-23 2019-10-25 北京国双科技有限公司 视频检测方法和装置
CN106060663A (zh) * 2016-06-24 2016-10-26 武汉斗鱼网络科技有限公司 在视频直播过程中监控视频流畅度的方法及系统
CN106060663B (zh) * 2016-06-24 2018-11-27 武汉斗鱼网络科技有限公司 在视频直播过程中监控视频流畅度的方法及系统
WO2018050115A1 (zh) * 2016-09-18 2018-03-22 中兴通讯股份有限公司 一种视频播放流畅度检测方法和装置和计算机存储介质
CN106792163A (zh) * 2016-11-25 2017-05-31 上海乐欢软件有限公司 一种视频播放状态的检测方法及装置
CN106658188A (zh) * 2016-12-20 2017-05-10 天脉聚源(北京)传媒科技有限公司 一种智能监测视频卡顿的方法及装置
CN108270738A (zh) * 2016-12-30 2018-07-10 北京华为数字技术有限公司 一种视频处理方法及网络设备
CN108270738B (zh) * 2016-12-30 2021-11-19 北京华为数字技术有限公司 一种视频处理方法及网络设备
CN107087210A (zh) * 2017-03-30 2017-08-22 青岛海信电器股份有限公司 基于缓存时间判断视频播放状态的方法及终端
CN107087210B (zh) * 2017-03-30 2020-04-14 青岛海信电器股份有限公司 基于缓存时间判断视频播放状态的方法及终端
CN107155129A (zh) * 2017-04-23 2017-09-12 佛山市高明区云大机械科技有限公司 一种视频计时方法
CN107155129B (zh) * 2017-04-23 2020-07-28 台州市诺贝格塑模有限公司 一种视频计时方法
CN110971916A (zh) * 2018-09-28 2020-04-07 武汉斗鱼网络科技有限公司 一种直播流畅度监控方法及系统
CN110971916B (zh) * 2018-09-28 2022-02-08 武汉斗鱼网络科技有限公司 一种直播流畅度监控方法及系统
CN113453066A (zh) * 2020-03-24 2021-09-28 腾讯科技(深圳)有限公司 一种播放时长确定方法和相关设备
CN113079368A (zh) * 2021-03-26 2021-07-06 深圳创维-Rgb电子有限公司 视频流畅度检测方法、装置、终端设备以及存储介质
CN113810773A (zh) * 2021-09-17 2021-12-17 北京百度网讯科技有限公司 视频下载方法及装置、电子设备和存储介质
CN113810773B (zh) * 2021-09-17 2024-03-01 北京百度网讯科技有限公司 视频下载方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN103533454B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
CN103533454A (zh) 视频播放流畅度的检测方法和装置
CN104252527B (zh) 一种确定移动用户的常驻点信息的方法和装置
CN104426885B (zh) 异常账号提供方法及装置
AU2016202094A1 (en) Systems and methods for sentiment detection, measurement, and normalization over social networks
US20150074687A1 (en) Methods and apparatuses of switching applications and adding entry information
CN102542021B (zh) 内容的粒度化标记
CN106529727A (zh) 一种用户流失预测模型生成方法及相关装置
CN106454536B (zh) 信息推荐度的确定方法及装置
CN107770571A (zh) 一种直播间推荐方法、装置和存储介质
US20180071625A1 (en) Information processing system, server, and program
CN104731593B (zh) 一种信息处理方法及电子设备
CN109428910B (zh) 一种数据处理方法、装置及系统
WO2016062220A1 (zh) 视频播放检测方法和装置
CN110633255B (zh) 一种获取用户使用时长的方法和装置
CN107734352A (zh) 一种信息确定方法、装置和存储介质
CN104318140A (zh) 一种终端解锁的方法
CN112365367A (zh) 一种基于设备电量的区域画像方法、设备及存储介质
CN109034867A (zh) 点击流量检测方法、装置及存储介质
CN107395872B (zh) 应用启动方法、装置、存储介质及电子设备
US20160359990A1 (en) Media content consumption analytics
CN102480381B (zh) 一种校验网络业务运营数据的方法及装置
CN112364222B (zh) 一种用户年龄的区域画像方法、计算机设备及存储介质
CN110830809B (zh) 视频内容热度确定方法、电子设备及存储介质
CN103685750A (zh) 一种联系人提醒系统及方法
CN104318141A (zh) 一种终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Detection method and device for video playing fluency

Effective date of registration: 20190531

Granted publication date: 20160817

Pledgee: Shenzhen Black Horse World Investment Consulting Co.,Ltd.

Pledgor: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

PP01 Preservation of patent right

Effective date of registration: 20240604

Granted publication date: 20160817