用于播放器起播的方法和装置制造方法及图纸

技术编号:22260618 阅读:18 留言:0更新日期:2019-10-10 13:54
本公开涉及用于播放器起播的方法和装置。该方法包括:当第一线程执行至第一任务并且所述第一任务是阻塞任务时,基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,其中,所述阻塞任务是在起播阶段必须执行的任务;当第一线程执行至第二任务并且所述第二任务是非阻塞任务时,基于当前起播阶段所处状态确定所述第二任务的执行策略,其中,所述状态是基于所述阻塞任务划分的,所述非阻塞任务是在起播阶段非必须执行的、并且与所述状态具有对应关系的任务。应用本公开,有利于减少播放器起播阶段的线程切换,从而提高播放器起播速度。

Method and device for player broadcasting

【技术实现步骤摘要】
用于播放器起播的方法和装置
本公开涉及视频播放领域,尤其涉及用于播放器起播的方法和装置。
技术介绍
播放器起播速度是衡量视频类应用的重要技术指标。起播通常指触发播放请求到播放页面上的播放器开始播放相应视频这一阶段。提高播放器起播速度,能够降低用户的等待时间,改善用户体验。从部分视频类应用的统计数据能够看出,随着起播速度的提高,用户主动退出播放页面的概率随之降低。现有技术中通常通过预加载数据来提高播放器的起播速度,但其效果仍不能令人满意。
技术实现思路
有鉴于此,本公开提出了一种新的用于提高播放器起播速度的方法,本公开还提出了相应的装置和计算机可读存储介质。根据本公开的一方面,公开了一种用于播放器起播的方法,包括:当第一线程执行至第一任务并且所述第一任务是阻塞任务时,基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,其中,所述阻塞任务是在起播阶段必须执行的任务;当第一线程执行至第二任务并且所述第二任务是非阻塞任务时,基于当前起播阶段所处状态确定所述第二任务的执行策略,其中,所述状态是基于所述阻塞任务划分的,所述非阻塞任务是在起播阶段非必须执行的、并且与所述状态具有对应关系的任务。在一种可能的实现方式中,所述第一线程为UI线程。在一种可能的实现方式中,所述方法还包括:如果所述前置阻塞任务由第二线程执行,在所述前置阻塞任务完成时,将对应的标识位设置为第一值,以表示所述前置阻塞任务已完成。在一种可能的实现方式中,所述基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,包括:如果所述前置阻塞任务已完成,执行所述第一任务;如果所述前置阻塞任务未完成,定时查询所述前置阻塞任务是否完成,直至所述前置阻塞任务完成。在一种可能的实现方式中,所述基于当前起播阶段所处状态确定所述第二任务的执行策略,包括:如果当前所处状态是所述第二任务的对应状态,执行所述第二任务;如果当前所处状态未到达所述第二任务的所述对应状态,定时查询所述对应状态是否到达,直至到达所述对应状态;如果当前所处状态已经度过所述第二任务的所述对应状态,基于所述第二任务的业务场景确定补执行所述第二任务或放弃执行所述第二任务。在一种可能的实现方式中,起播阶段的所处状态包括:请求播放数据、解析播放数据、初始化播放器、渲染播放器组件、起播结束。根据本公开的一方面,公开了一种用于播放器起播的装置,包括:第一执行单元,用于当第一线程执行至第一任务并且所述第一任务是阻塞任务时,基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,其中,所述阻塞任务是在起播阶段必须执行的任务;第二执行单元,用于当第一线程执行至第二任务并且所述第二任务是非阻塞任务时,基于当前起播阶段所处状态确定所述第二任务的执行策略,其中,所述状态是基于所述阻塞任务划分的,所述非阻塞任务是在起播阶段非必须执行的、并且与所述状态具有对应关系的任务。在一种可能的实现方式中,所述第一线程为UI线程。在一种可能的实现方式中,所述装置还包括:标志位设置单元,如果所述前置阻塞任务由第二线程执行,在所述前置阻塞任务完成时,用于将对应的标识位设置为第一值,以表示所述前置阻塞任务已完成。在一种可能的实现方式中,所述基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,包括:如果所述前置阻塞任务已完成,执行所述第一任务;如果所述前置阻塞任务未完成,定时查询所述前置阻塞任务是否完成,直至所述前置阻塞任务完成。在一种可能的实现方式中,所述基于当前起播阶段所处状态确定所述第二任务的执行策略,包括:如果当前所处状态是所述第二任务的对应状态,执行所述第二任务;如果当前所处状态未到达所述第二任务的所述对应状态,定时查询所述对应状态是否到达,直至到达所述对应状态;如果当前所处状态已经度过所述第二任务的所述对应状态,基于所述第二任务的业务场景确定补执行所述第二任务或放弃执行所述第二任务。在一种可能的实现方式中,起播阶段的所处状态包括:请求播放数据、解析播放数据、初始化播放器、渲染播放器组件、起播结束。根据本公开的另一方面,提供了一种用于播放器起播的装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。通过基于起播阶段各个任务的必要性将其分为阻塞任务和非阻塞任务,其中阻塞任务基于其前置阻塞任务的完成情况来确定相应执行策略,而不关心非阻塞任务是否被执行,同时非阻塞任务可基于播放器当前的状态确定相应执行策略,从而使得起播串行链路完全由阻塞任务组成,非阻塞任务被剔除出该串行链路,大大减少了起播阶段的线程切换次数,有利于提高视频类应用的起播速度。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出某现有播放器的起播阶段的示意图。图2示出某视频类应用的某线程切换的延时示意图。图3示出根据本公开的一个实施例的用于播放器起播的方法的流程图。图4示出根据本公开的一个示例性实施例的播放器起播阶段示意图。图5示出根据本公开的一个实施例的用于播放器起播的装置的结构框图。图6示出根据本公开的一个实施例的用于播放器起播的装置的结构框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。如上所述,现有技术中通常通过预加载数据来提高播放器的起播速度。专利技术人对现有起播阶段的逻辑和时序进行深入分析,关注到影响起播速度的另一个重要因素:线程切换耗时。在视频起播阶段,通常需要完成以下两类事务。(1)播放页面的渲染。对于大部分视频类应用,播放页面是用户的核心使用场景。播放页面可能不仅显示播放视频的播放器页面,还可以显示诸如弹幕、封面页、缓冲提示、播控条、推荐卡片等。(2)播放器初始化。这又可以分为两个部分,分别是:i)获取播放数据,主要包括构造用于请求播放数据的请求、通过网络发送所述请求至服务器以及解析获取的播放数据。需要特别说明地是,此处的播放数据通常包括播放地址,根据情况还可以包括视频的标题、花絮、上下集简介等等。在一些描述中,也用播放地址来指代此处的播放数据,以便于更好地区分于后续的播放分片数据。ii)准备播放器,主要包括底层(例如安卓系统的native层)播放器初始化、播放分片数据下载。在实际场景中,这两类事务通常在不同的线程中进行。其中(1)涉及大量UI操作,主要在UI线程(通常也称为主线程)中本文档来自技高网...

【技术保护点】
1.一种用于播放器起播的方法,其特征在于,包括:当第一线程执行至第一任务并且所述第一任务是阻塞任务时,基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,其中,所述阻塞任务是在起播阶段必须执行的任务;当第一线程执行至第二任务并且所述第二任务是非阻塞任务时,基于当前起播阶段所处状态确定所述第二任务的执行策略,其中,所述状态是基于所述阻塞任务划分的,所述非阻塞任务是在起播阶段非必须执行的、并且与所述状态具有对应关系的任务。

【技术特征摘要】
1.一种用于播放器起播的方法,其特征在于,包括:当第一线程执行至第一任务并且所述第一任务是阻塞任务时,基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,其中,所述阻塞任务是在起播阶段必须执行的任务;当第一线程执行至第二任务并且所述第二任务是非阻塞任务时,基于当前起播阶段所处状态确定所述第二任务的执行策略,其中,所述状态是基于所述阻塞任务划分的,所述非阻塞任务是在起播阶段非必须执行的、并且与所述状态具有对应关系的任务。2.根据权利要求1所述的方法,其特征在于,所述第一线程为UI线程。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所述前置阻塞任务由第二线程执行,在所述前置阻塞任务完成时,将对应的标识位设置为第一值,以表示所述前置阻塞任务已完成。4.根据权利要求1所述的方法,其特征在于,所述基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行策略,包括:如果所述前置阻塞任务已完成,执行所述第一任务;如果所述前置阻塞任务未完成,定时查询所述前置阻塞任务是否完成,直至所述前置阻塞任务完成。5.根据权利要求1所述的方法,其特征在于,所述基于当前起播阶段所处状态确定所述第二任务的执行策略,包括:如果当前所处状态是所述第二任务的对应状态,执行所述第二任务;如果当前所处状态未到达所述第二任务的所述对应状态,定时查询所述对应状态是否到达,直至到达所述对应状态;如果当前所处状态已经度过所述第二任务的所述对应状态,基于所述第二任务的业务场景确定补执行所述第二任务或放弃执行所述第二任务。6.根据权利要求1所述的方法,其特征在于,起播阶段的所处状态包括:请求播放数据、解析播放数据、初始化播放器、渲染播放器组件、起播结束。7.一种用于播放器起播的装置,其特征在于,包括:第一执行单元,用于当第一线程执行至第一任务并且所述第一任务是阻塞任务时,基于所述第一任务的前置阻塞任务是否完成确定所述第一任务的执行...

【专利技术属性】
技术研发人员:吴寒潇
申请(专利权)人:优酷网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1