网络卡顿判断方法、装置及在线课程直播系统与流程

文档序号:14914468发布日期:2018-07-11 00:20阅读:262来源:国知局

本发明实施例涉及互联网技术领域,尤其涉及一种网络卡顿判断方法、装置及在线课程直播系统。



背景技术:

在线教育或称远程教育、在线学习,以网络为介质的教学方式,通过网络,学员与教师即使相隔万里也可以开展教学活动;此外,借助网络课件,学员还可以随时随地进行学习,真正打破了时间和空间的限制。在线教育可以尽可能的摆脱时空、人力、物力等限制,可以实现资源利用最大化。

现有技术中,教育培训机构可通过互联网远程教学平台,运用视频、语音等教学软件,使老师和学生之间进行沟通,使得整个培训过程更具有互动性;另外,也使得老师、学生尽享足不出户却犹如面对面交流的感觉;同时也可以让教育培训机构与学生节省更多时间和人力物力的支出,得学生能够在短时间内学到更多需要的专业知识,让培训机构招纳更多的学员。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:由于目前的在线教育主要依赖于互联网,尤其其中通过互联网来进行基于课件的互动,而现有技术中并没有提供切实可靠的监控网络卡顿的机制,以对在线直播课程的网络情况进行实时监控,进一步保证课堂互动的有效性。



技术实现要素:

有鉴于此,本发明实施例所解决的技术问题之一在于提供一种网络卡顿判断方法、装置及在线课程直播系统,用以克服现有技术中缺陷。

本发明实施例提供一种网络卡顿判断方法,其包括:

确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器;

在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳;

若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿。

可选地,在发明的一实施例中,确定当前时刻加载到客户端上播放的直播数据流包括:确定当前时刻通过终端本地预先下载的方式加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器,所述终端上安装有所述客户端。

可选地,在发明的一实施例中,所述直播数据流为的占用空间超过设定阈值的直播数据流;对应地,所述方法还包括:将占用空间超过设定阈值的直播数据流存储在安装有客户端的终端本地;获取存储在安装有客户端的终端本地上占用空间超过设定阈值的直播数据流。

可选地,在发明的一实施例中,获取存储在安装有客户端的终端本地上占用空间超过设定阈值的直播数据流包括:通过搭建的软件工具包,从终端本地获取存储的直播数据流,并将获取的直播数据流加载到所述直播课程客户端上进行播放。

可选地,在发明的一实施例中,通过搭建的软件工具包,从终端本地获取存储的直播数据流,并将获取的直播数据流加载到所述直播课程客户端上进行播放包括:通过搭建的软件工具包,从终端本地的用户沙盒中获取占用空间超过设定阈值的直播数据流。

可选地,在发明的一实施例中,在所述直播数据流的播放过程中,为未连续播放发生时的直播数据流和连续播放重新开始的直播数据流分配不同的时间戳包括:

将所述直播数据流映射在一时间轴上,每一帧直播数据流与时间轴的每一个时间节点一一对应;

在所述播放器播放直播数据流的过程中,记录每一帧已播放的直播数据流在所述时间轴上对应的时间节点;

在所述播放器播放直播数据流的过程中,为在时间轴的每个时间节点上对应的直播数据流分配不同的时间戳。

可选地,在发明的一实施例中,判定网络出现卡顿之后还包括:以相邻直播数据流分配的时间戳之间的时间戳差值生成网络卡顿的上报数据,并发送给服务器。

本发明实施例还提供一种网络卡顿判断装置,其包括:

直播数据确定单元,确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器;

时间戳分配单元,用于在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳;

网络卡顿判断单元,用于若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿。

本发明实施例还提供一种在线直播课程系统,其包括:终端,所述终端上安装有客户端,所述客户端用于确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器,在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳,若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿。

可选地,在发明的一实施例中,还包括服务器,客户端判定网络出现卡顿之后以相邻直播数据流分配的时间戳之间的时间戳差值生成网络卡顿的上报数据,并发送给服务器。

由以上技术方案可见,本发明实施例中,通过确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器;在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳;若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿,从而提供了一中切实可靠的网络卡顿监测机制,以对在线直播课程的网络情况进行实时监控,进一步保证课堂互动的有效性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例一中网络卡顿判断方法流程示意图;

图2为本发明实施例二中网络卡顿判断方法流程示意图;

图3为本发明实施例三中网络卡顿判断装置结构示意图;

图4为本发明实施例四中在线直播课程系统结构示意图。

具体实施方式

当然,实施本发明实施例的任一技术方案必不一定需要同时达到以上的所有优点。

为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

本发明实施例中,通过确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器;在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳;若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿,从而提供了一中切实可靠的网络卡顿监测机制,以对在线直播课程的网络情况进行实时监控,进一步保证课堂互动的有效性。

图1为本发明实施例一中网络卡顿判断方法流程示意图;如图1所示,其包括:

S101、确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器;

本实施例中,步骤S101中,在确定当前时刻加载到客户端上直播的直播数据流以及直播所述直播数据流的播放器时,可以首先确定当前时刻从服务器加载到客户端上直播的直播数据流,之后再确定按照设定的播放模式直播所述直播数据流的播放器。设定的播放模式可以包括主动模式和被动模式,所述主动模式比如包括通过授权使得学员可主动对客户端上直播的直播数据流进行操作,比如暂停当前正在直播的直播数据流等,暂停时,直播内容会存储在客户端;所述被动模式比如学员被动的观看客户端上直播的直播数据流而无权对播放的直播数据流进行操作。

本实施例中,步骤S101中,在确定当前时刻加载到客户端上播放的直播数据流时,可以确定当前时刻通过远程教学端实时加载到客户端上播放的直播数据流,具体地,如果忽略网络对播放流畅性的影响或者网络情况较好,则可通过实时加载的方式获取正在直播的直播数据流。实时加载具体可以是远程教学端主动将直播数据流通过互联网实时推送到客户端上,也可以是客户端主动从服务器上实时拉取直播数据流来实现。

本实施例中,为了可直接利用现有播放器进行直播数据流的播放,采用html5开发对应的客户端,并通过现有播放器播放直播数据流,因此,对现有播放器中设置的操作菜单栏隐藏处理,以在隐藏了所述操作菜单栏的现有播放器中设置所述缓冲机制。现有播放器的操作菜单栏可以包括控制播放进度、播放内容切换等常规操作按键,具体的,通过在第三方播放器中设置操作菜单栏之上设置定制的皮肤,以对第三方播放器中设置的操作菜单栏隐藏处理。

S102、在所述直播数据流的播放过程中,为播放的直播数据流分配不同的时间戳;

本实施例中,具体地,步骤S102可以包括:

S112、将所述直播数据流映射在一时间轴上,在所述播放器播放直播数据流的过程中,每一帧直播数据流与时间轴的每一个时间节点一一对应。

S122、在所述播放器播放直播数据流的过程中,记录每一帧已播放的直播数据流在所述时间轴上对应的时间节点;

本实施例中,在步骤S112中,将所述直播数据流映射到一时间轴上,从而可以使得每一帧直播数据流在时间轴上均可以对应到一个唯一的时间节点,具体地,比如直播课程中起始时间节点的直播数据流、直播课程中结束时间节点的直播数据流,以及起始时间节点与结束时间节点之间的直播数据流,从而在S122中对每一帧已播放的直播数据流在所述时间轴上对应的时间节点进行记录。

S132、在所述播放器播放直播数据流的过程中,为在时间轴的每个时间节点上对应的直播数据流分配不同的时间戳

根据在播放器在播放过程中播放的不同所述时间点的直播数据流分配不同的时间戳。

本实施例中,考虑如果要实现在线直播的流畅性,直播数据流在播放过程中对应到所述时间轴上的时间节点具有连续性,当出现网络卡顿时,则在直播数据流对应到时间轴上的时间节点会出现停滞不变,而当网络卡顿消失后,直播数据流继续从停滞不变时对应的时间节点开始继续进行播放,因此,为了记录由网络卡顿导致的这种后果,本实施例中,在播放时播放的直播数据流分配不同的时间戳。

S103、若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿。

本实施例中,通过计算相邻时间戳的时间戳差值,判断该时间戳差值是否超过设定的阈值范围,如果超过设定的阈值,则得知所述直播数流的播放未连续进而判定网络出现卡顿,否则表示当前网络正常未出现卡顿。具体地,该设定的阈值可以是20ms或者30ms,或者是两个具体阈值形成的阈值范围。

需要说明的是,在网络卡顿消除后,直播数据流的播放仍然是按照与时间轴上时间节点的映射关系进行播放,而非上述时间戳进行播放,比如,在时间轴上第8帧直播数据流时出现时间点的未连续情形,其对应的时间节点为第40ms,而第8帧直播数据流对应的时间戳比如为17:26,与第8帧直播数据流相邻的下一帧直播数据流为第9帧直播数据流,第9帧直播数据流对应在时间轴上对应的时间节点为第41ms,第9帧直播数据流对应的时间戳为17:28,则这两个时间戳之差大于20ms,判定网络出现卡顿。进一步地,当网络卡顿消除后,从第9帧对应的第41ms开始直播数据流的继续播放。

图2为本发明实施例二中网络卡顿判断方法流程示意图;如图2所示,其包括:

S201、确定当前时刻通过终端本地预先下载的方式加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器,所述终端上安装有所述客户端。

本实施例中,考虑到网路状态的局限,如果所述直播数据流为占用空间超过设定阈值的直播数据流,则将该直播数据流预先下载到学员端的终端本地;因此,在步骤S201中确定直播数据流时,可以获取存储在安装有客户端的终端本地上占用空间超过设定阈值的直播数据流。比如,可将占用空间超过设定阈值的直播数据流统称为大数据,该大文件可以包括:音视频内容、动画字体等。

进一步地,本实施例中,通过搭建的软件工具包,从终端本地获取存储的直播数据流,并将获取的直播数据流加载到所述直播课程客户端上进行播放。如果直接将大文件存储在客户端的用户沙盒中,则可以通过搭建的软件工具包,从终端本地的用户沙盒中获取占用空间超过设定阈值的直播数据流。

S202、在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳;

本实施例中,本步骤S202可参见上述实施例一中的相关记载,在此不再赘述。

S203、若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿。

S204、生成网络卡顿的上报数据,并发送给服务器,经服务器推送给远程教师端。

以相邻直播数据流分配的时间戳之间的时间戳差值生成网络卡顿的上报数据。网络卡顿的数据推送给远程教师端后,使得远程教师端可以及时掌握当前网络状况,控制在线直播课程的进度,同时有针对性的调整课堂互动的过程。在生成网络卡顿的上报数据时,还可以附带发生了网络卡顿的客户端I D,以使得远程教师端实时掌握发生了网络卡顿的严重程度。

图3为本发明实施例三中网络卡顿判断装置结构示意图;如图3所示,其包括:

直播数据确定单元301,确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器;

时间戳分配单元302,用于在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳;

网络卡顿判断单元303,用于若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿。

图4为本发明实施例四中在线直播课程系统结构示意图;如图4所示,其包括:终端401,所述终端401上安装有客户端,所述客户端用于确定当前时刻从服务器加载到客户端上播放的直播数据流以及播放所述直播数据流的播放器,在所述播放器播放直播数据流的过程中,为播放的直播数据流分配不同的时间戳,若为相邻直播数据流分配的时间戳之间的时间戳差值超过设定的阈值范围,则得知所述直播数流的播放未连续进而判定网络出现卡顿。

针对一具体的在线直播课程,可能有多个学员进行在线学习,此时,对应的终端可能有多个,对应的客户端也可能有多个。

可选地,在本发明一实施例中,还包括:服务器402,客户端判定网络出现卡顿之后生成网络卡顿的上报数据,并发送给所述服务器402。

可选地,在本发明一实施例中,还包括:远程教学端403,用于通过所述服务器402向所述客户端411实时传输或者预先下载所述在线直播课程中的直播数据流,同时接收服务器推送的网络卡顿的上报数据。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

本领域的技术人员应明白,本发明实施例的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1