用于直播回放的弹幕下发方法和直播视频弹幕回放方法与流程

文档序号:23552300发布日期:2021-01-05 21:11阅读:377来源:国知局
本申请实施例涉及视频
技术领域
:,尤其涉及一种用于直播回放的弹幕下发方法、系统、设备及计算机可读存储介质,以及一种直播视频回放方法。
背景技术
::随着视频直播技术的快速发展,越来越多的用户可以通过网络观看各种直播视频节目。在观看直播视频节目的过程中,用户可以通过发送弹幕的方式,与主播和其他用户进行互动。所述弹幕,是通过网络观看视频时弹出的并沿预定方向移动的字幕,是一种纯交流信息。弹幕在英文中还没有固定词汇,其通常称之为:comment、danmaku、barrage、bulletscreen、bullet-screencomment等。弹幕允许用户发表评论或感想,但与普通视频分享网站只在播放器下专用点评区显示不同,其会以滑动字幕的方式实时出现在视频画面上,保证所有观看者都能注意到。然而,由于直播存的特殊性,用户无法在视频直播过程中回看已经错过的视频片段,只能在视频直播结束之后,通过录制的直播视频以直播回放的方式观看错过的视频片段。目前,直播回放一般是将整个直播过程中所有的文字性弹幕与录制的直播视频的时间轴进行绑定,以实现直播回放时同时观看直播弹幕。但是,通过该直播回放的方式,用户虽然可以重新观看直播视频内容,但是录制的直播视频只能在对应的时间轴看到大家发出的文字性弹幕,不能完全还原当时直播场景时的弹幕,用户的代入感较差;且将所有文字性弹幕同时与录制的直播视频进程绑定会在占用较大的内存,可能导致直播回放出现卡顿不流畅的问题。因此,如何在用户回放直播视频情况下减少直播弹幕对内存的消耗,成为了当前要解决的技术问题之一。技术实现要素:本申请实施例的目的是提供一种用于直播回放的弹幕下发方法、系统、计算机设备及计算机可读存储介质,以及一种直播视频回放方法,用于解决在用户回放直播视频时直播弹幕占用较大的内存等技术问题。本申请实施例的一个方面提供了一种直播视频弹幕回放方法,用于服务器,所述方法包括:接收客户端在直播回放时发送的弹幕拉取请求,所述弹幕拉取请求携带有时间戳;及响应于所述弹幕拉取请求,将n个弹幕分片文件中与所述时间戳对应的弹幕分片文件下发到所述客户端;其中,所述n个弹幕分片文件是通过切分与目标直播回放视频相对应的直播弹幕数据得到的,n为正整数。可选的,还包括:预先生成所述n个弹幕分片文件:获取与所述目标直播回放视频关联的直播视频时间轴数据和所述直播弹幕数据;根据所述直播视频时间轴数据对所述直播弹幕数据进行分片处理,以生成n个直播弹幕分片数据;将所述n个直播弹幕分片数据和所述直播视频时间轴数据进行绑定,以得到绑定后的n个直播弹幕分片数据;及对所述绑定后的n个直播弹幕分片数据进行格式转换,以得到所述n个弹幕分片文件。可选的,所述根据所述直播视频时间轴数据对所述直播弹幕数据进行分片处理,以生成n个直播弹幕分片数据,包括:根据所述直播视频时间轴数据确定所述目标直播回放视频的总时长;及根据所述目标直播回放视频的总时长和预设分片时间对所述直播弹幕数据进行分片处理,以得到n个直播弹幕分片数据。可选的,还包括:在对所述目标直播回放视频进行回放的过程中,接收所述客户端或其他客户端发送的实时弹幕数据,所述实时弹幕数据包括与直播视频时间轴数据对应的实时弹幕时间数据和实时弹幕内容数据;根据所述实时弹幕时间数据从所述n个弹幕分片文件中,确定与所述实时弹幕内容数据对应的目标弹幕分片文件;根据所述实时弹幕时间数据和实时弹幕内容数据更新所述目标弹幕分片文件,以得到更新后的目标弹幕分片文件;及将所述更新后的目标弹幕分片文件保存到所述数据库中。可选的,所述时间戳为预设的时间间隔与所述目标直播回放视频在回放过程中的回放进度之和。可选的,接收所述客户端发送的弹幕拉取请求,包括:判断所述弹幕拉取请求中携带的时间戳是否等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和;及如果所述弹幕拉取请求中携带的时间戳不等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和,则确定所述弹幕拉取请求为回放进度条发生拖动事件后的弹幕拉取请求。可选的,所述弹幕拉取请求携带所述目标直播回放视频的回放进度;所述方法还包括:根据所述弹弹幕拉取请求携带所述目标直播回放视频的回放进度,获取与该回放进度对应的弹幕分片文件;及将与该回放进度对应的弹幕分片文件下发到所述客户端。本申请实施例的一个方面又提供了一种直播视频弹幕回放方法,用于客户端,所述方法包括:回放目标直播回放视频;向服务器发送关联于该目标直播回放视频的弹幕请求,以使所述服务器根据所述弹幕请求返回相应的弹幕分片文件;接收所述弹幕分片文件,并将所述弹幕分片文件载入到内存中;及从所述内存中读取所述弹幕分片文件,并将弹幕分片文件中的弹幕数据在弹幕显示区进行弹幕显示。可选的,所述弹幕请求包括目标弹幕回放请求,目标弹幕回放请求用于获取初始弹幕分片文件;向服务器发送关联于该目标直播回放视频的弹幕请求,包括:向所述服务器发送所述目标弹幕回放请求,以使所述服务器根据所述目标弹幕回放请求返回所述初始弹幕分片文件。可选的,所述弹幕请求包括携带有时间戳的弹幕拉取请求;向服务器发送关联于该目标直播回放视频的弹幕请求,包括:向所述服务器发送所述弹幕拉取请求,以使所述服务器根据所述弹幕拉取请求返回与所述时间戳对应的弹幕分片文件。可选的,还包括:获取所述目标直播回放视频的回放进度;判断所述回放进度是否到达与上一个时间节点相邻的下一个时间节点;及如果所述回放进度到达所述下一个时间节点,则根据所述回放进度生成携带有相应的时间戳的弹幕拉取请求。可选的,还包括:判断所述目标直播回放视频的回放进度条是否发生拖动事件;及如果所述回放进度条发生所述拖动事件,则清除所述弹幕显示区的全部弹幕,并更新所述弹幕显示区的全部弹幕。可选的,所述更新所述弹幕显示区的全部弹幕,包括:查询所述内存中是否缓存与当前回放进度对应的弹幕分片文件;如果所述内存中存在与当前回放进度对应的弹幕分片文件,则将所述与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示;及如果所述内存中不存在与当前回放进度对应的弹幕分片文件,则根据当前回放进度生成拖动后的弹幕拉取请求;向所述服务器发送所述拖动后的弹幕拉取请求,以使所述服务器返回与所述当前回放进度对应的弹幕分片文件,并将所述与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示。可选的,所述更新所述弹幕显示区的全部弹幕,还包括:判断所述内存中是否存在与所述当前回放进度相邻的时间区间对应的m个弹幕;如果所述内存中存在所述m个弹幕,则将所述m个弹幕在所述弹幕显示区进行弹幕显示;及如果所述内存中不存在所述m个弹幕,则根据所述当前回放进度相邻的时间区间生成弹幕回溯请求,将所述弹幕回溯请求发送到所述服务器,以使所述服务器返回包括所述m个弹幕的弹幕分片文件,并将所述弹幕分片文件在所述弹幕显示区进行弹幕显示。可选的,所述弹幕显示区包括互动弹幕区和文本弹幕区;所述接收所述弹幕分片文件,并将所述弹幕分片文件载入到内存中,包括:解析所述弹幕分片文件,以得到所述弹幕解析数据;对所述弹幕解析数据进行分类操作,以得到互动弹幕解析数据和文本弹幕解析数据;及将所述互动弹幕解析数据和所述文本弹幕解析数据载入到内存中;所述从所述内存中读取所述弹幕分片文件,并将弹幕分片文件中的弹幕数据在弹幕显示区进行弹幕显示,包括:从所述内存中读取所述互动弹幕解析数据和所述文本弹幕解析数据;将所述互动弹幕解析数据在所述互动弹幕区进行弹幕显示;及将所述文本弹幕解析数据在所述文本弹幕区进行弹幕显示。可选的:所述将所述互动弹幕解析数据在所述互动弹幕区进行弹幕显示,包括:获取所述目标直播回放视频的当前回放进度;确定所述当前回放进度对应的当前互动弹幕解析数据;对所述当前互动弹幕解析数据进行渲染,以得到渲染后的当前互动弹幕解析数据;及将所述渲染后的当前互动弹幕解析数据在所述互动弹幕区进行弹幕显示;所述将所述文本弹幕解析数据在所述文本弹幕区进行弹幕显示,包括:获取所述目标直播回放视频的当前回放进度;确定所述当前所述回放进度对应的当前文本弹幕解析数据;对所述当前文本弹幕解析数据进行渲染,以得到渲染后的当前文本弹幕解析数据;及将所述渲染后的当前文本弹幕解析数据在所述文本弹幕区进行弹幕显示。可选的,还包括:接收目标用户输入的实时弹幕数据,并将所述实时弹幕数据在弹幕显示区进行弹幕展示。本申请实施例的一个方面又提供了一种用于直播回放的弹幕下发系统,包括:第一接收模块,接收模块,用于接收客户端在直播回放时发送的弹幕拉取请求,所述弹幕拉取请求携带有时间戳;及响应模块,用于响应于所述弹幕拉取请求,将n个弹幕分片文件中与所述时间戳对应的弹幕分片文件下发到所述客户端;其中,所述n个弹幕分片文件是通过切分与目标直播回放视频相对应的直播弹幕数据得到的,n为正整数。本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现上述的用于直播回放的弹幕下发方法的步骤。本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的用于直播回放的弹幕下发方法的步骤。本申请实施例提供的用于直播回放的弹幕下发方法、系统、设备及计算机可读存储介质,通过切分与目标直播回放视频相对应的直播弹幕数据,并通过分片的方式将弹幕分片文件下发到所述客户端,实现了直播时用户行为数据(各种类型的弹幕数据)的复现,且减少了弹幕数据对内存的占用率,提高了直播弹幕的播放流畅度。附图说明图1示意性示出了根据本申请实施例的环境应用示意图;图2示意性示出了根据本申请实施例一的用于直播回放的弹幕下发方法的流程示意图;图3示意性示出了根据本申请实施例二的用于直播回放的弹幕下发方法的流程示意图;图4示意性示出了图3中步骤s206的具体流程示意图;图5示意性示出了根据本申请实施例二的用于直播回放的弹幕下发方法的流程示意图;图6示意性示出了根据本申请实施例三的用于直播视频弹幕回放方法的流程示意图;图7示意性示出了根据本申请实施例四的用于直播视频弹幕回放方法的流程示意图;图8示意性示出了图7中步骤s502的具体流程示意图;图9示意性示出了图8中步骤s502b的具体流程示意图;图10示意性示出了图7中步骤s510的具体流程示意图;图11示意性示出了图10中步骤s602的另一种具体流程示意图;图12示意性示出了图10中步骤s604的另一种具体流程示意图;图13示意性示出了根据本申请实施例四的用于直播视频弹幕回放方法的流程示意图;图14示意性示出了图13中步骤s702的另一种具体流程示意图;图15示意性示出了图13中步骤s702的另一种具体流程示意图;图16示意性示出了根据本申请实施例四中视频回放时接收实时弹幕的流程图;图17示意性示出了根据本申请实施例四的用于直播视频弹幕回放方法中服务器20和客户端40之间得到交互流程示意图;图18示意性示出了根据本申请实施例四中客户端的直播回放入口界面图;图19示意性示出了根据本申请实施例四中客户端的直播回放界面图;图20示意性示出了根据本申请实施例四中客户端的直播回放全屏图;图21示意性示出了根据本申请实施例五的直播视频弹幕回放系统的框图;图22示意性示出了根据本申请实施例六的用于直播回放的弹幕下发系统的框图;以及图23示意性示出了根据本申请实施例七的适于实现用于直播回放的弹幕下发方法的计算机设备的硬件架构示意图。具体实施方式为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。图1示意性示出了根据本申请的用于直播回放的弹幕下发方法的环境示意图。所述环境示意图包括至少一个服务器20、至少一个客户端40。服务器20用于指示客户端40根据用户输入的直播回放指令生成直播回放请求或根据回放进度生成弹幕拉取请求,并用于根据客户端40发送的直播回放请求或弹幕拉取请求从数据库中获取与直播回放请求对应的弹幕分片文件,并将弹幕分片文件发送到客户端40。所述服务器20可以是单个服务器或服务器集群。客户端40用于根据用户输入的直播回放指令生成直播回放请求或根据回放进度生成弹幕拉取请求,并用于解析服务器20根据直播回放请求或弹幕拉取请求返回的弹幕分片文件,并将解析后的弹幕分片文件发送到播放器进行弹幕展示。客户端40可以是移动电话、平板个人计算机(tabletpersonalcomputer)、膝上型计算机(laptopcomputer)、工作站(workstation)等计算机设备。客户端40可以通过网络60与服务器20建立网络连接。服务器20可以位于诸如单个场所之类的数据中心,或者分布在不同的物理位置(例如,在多个场所)中。服务器20可以经由一个或多个网络60提供服务。网络60包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。网络60可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。网络60可以包括无线链路,诸如蜂窝链路,卫星链路,wi-fi链路等。以下将通过几个实施例来描述客户端40和服务器20之间的弹幕分片文件传输过程。实施例一图2示意性示出了根据本申请实施例一的用于直播回放的弹幕下发方法的流程图。本实施例可以被执行在计算机设备(如,图1中的服务器20)中。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。如图2所示,该用于直播回放的弹幕下发方法可以包括步骤s100~s102,其中:步骤s100,接收客户端在直播回放时发送的弹幕拉取请求,所述弹幕拉取请求携带有时间戳。所述弹幕回放请求,为服务器20和客户端40建立通信连接之后,接收到的来自客户端40的弹幕回放请求。该弹幕回放请求可以请求一些弹幕数据,以供客户端20使用。所述时间戳对应于目标直播回放视频的时间轴上的一个点,不同弹幕拉取请求携带有不同的时间戳。所述弹幕拉取请求还可以包括目标弹幕回放请求。所述目标弹幕回放请求,为服务器20和客户端40建立通信连接之后,首次接收到的来自客户端40的弹幕回放请求。该目标弹幕回放请求可以请求一些初始弹幕数据,以供客户端20使用。需要说明的是,所述目标弹幕回放请求携带有目标直播回放视频对应的目标直播回放视频信息,所述服务器20可以根据所述目标直播回放视频信息确定所述目标直播回放视频对应的弹幕数据,并从所述目标直播回放视频对应的弹幕数据中获取所述初始弹幕数据。在一些实施例中,所述客户端40可以在目标用户访问或登入所述目标直播回放视频对应的直播间的回放房间时,可以获取所述目标直播回放视频信息。在所述客户端40获取到所述目标直播回放视频信息后,可以根据所述目标直播回放视频信息生成所述目标弹幕回放请求,并将所述目标弹幕回放请求发送得到所述服务器20,以使所述服务器20根据所述目标弹幕回放返回所述初始弹幕数据。下面将“用于直播回放的弹幕”称之为“直播弹幕数据”,该直播弹幕数据为直播目标直播回放视频过程中收集到的弹幕数据。步骤s102,响应于所述弹幕拉取请求,将n个弹幕分片文件中与所述时间戳对应的弹幕分片文件下发到所述客户端;其中,所述n个弹幕分片文件是通过切分与目标直播回放视频相对应的直播弹幕数据得到的,n为正整数。所述n个弹幕分片文件可以是服务器20预先处理和存储的弹幕分片文件。具体来说,服务器20在收集到所述直播弹幕数据之后,可以依据弹幕播放时间将所述直播弹幕数据进行切分处理,以切分成n个弹幕分片文件;并保存切分操作得到的n个弹幕分片文件,以供客户端40使用。在示例性的实施例中,服务器20预先生成所述n个弹幕分片文件的步骤可以如下:所述服务器20可以预先获取与所述目标直播回放视频关联的直播视频时间轴数据和所述直播弹幕数据。所述服务器20可以根据所述直播视频时间轴数据确定所述目标直播回放视频的总时长;并根据所述目标直播回放视频的总时长和预设分片时间对所述直播弹幕数据进行分片处理,以得到n个直播弹幕分片数据。将所述n个直播弹幕分片数据和所述直播视频时间轴数据进行绑定,并对绑定后的n个直播弹幕分片数据进行格式转换,以得到所述n个弹幕分片文件。在得到所述n个弹幕分片文件后,所述服务器20可以将所述n个弹幕分片文件保存到数据库中。本实施例通过切分与目标直播回放视频相对应的直播弹幕数据,并通过分片的方式将弹幕分片文件下发到所述客户端,减少了弹幕数据对内存的占用率。所述预设分片时间可以对应于所述目标直播回放视频中的各个视频片段的播放时长。以所述预设分片时间为6分钟为例,第个一弹幕分片文件的所有弹幕的开始播放时间在所述目标直播回放视频的播放进度的0~5分钟之间,第二个弹幕分片文件的所有弹幕的开始播放时间在所述目标直播回放视频的播放进度的6~11分钟之间,…第n个弹幕分片文件的所有弹幕的开始播放时间在所述目标直播回放视频的播放进度的6n-6~6n-1分钟之间。在一些本实施中,所述直播弹幕数据可以包括多种类型,例如,文本弹幕数据和互动弹幕数据。所述文本弹幕数据可以用户在观看直播视频时发送的文字性的弹幕数据,所述互动弹幕数据可以是用户在进入直播间的弹幕数据或是用户打赏主播的弹幕数据。为了区分直播弹幕数据的类型,所述服务器20可以在可通过pb协议对绑定后的n个直播弹幕分片数据进行格式转换。所述pb协议可以对不同类型的直播弹幕数据进行类别标识,以便之后所述客户端40可以根据所述直播弹幕数据的类别标识对确定所述直播弹幕数据的类型,实现弹幕数据的准确显示,在目标直播回放视频回放时提高了弹幕播放的还原度。所述弹幕拉取请求于请求所述服务器20从所述数据库中获取与所述时间戳对应的弹幕分片文件。其中,相邻的两个时间戳之间的时间间隔可以等于预设分片时间。为了提高所述目标直播回放视频在回放时的视频播放和弹幕播放的同步率,在所述目标直播回放视频回放时,所述客户端40需要提前通过弹幕拉取请求获取对应弹幕分片文件并缓存好一部分弹幕数据,以便于当目标直播回放视频回放时,可以同时播放与目标直播回放视频时间轴同步的弹幕。因此,所述时间戳可以设置在每个弹幕分片文件对应的分片时间段之前。例如,第二个弹幕分片文件对应的分片时间段为6分钟到11分钟之间,那么,与所述第二个弹幕分片文件对应的时间戳可以是六分钟之前。所述服务器20在接收到弹幕拉取请求后,可以根据所述弹幕拉取请求携带的时间戳从数据库中获取与时间戳对应的弹幕分片文件,所述弹幕分片文件可以是所述n个弹幕分片文件中的其中一个。在一些实施例中,所述目标弹幕回放请求可以用于请求所述服务器20向所述客户端40下发n个弹幕分片文件中的第一个弹幕分片文件。因此,所述服务器20在接收到所述目标弹幕回放请求之后,可以根据所述目标弹幕回放请求从数据库中获取与所述目标弹幕回放请求对应的初始弹幕分片文件,并将所述初始弹幕分片文件下发到所述客户端40。所述初始弹幕分片文件即所述n个弹幕分片文件中的第一个弹幕分片文件。这样做的好处是提高所述目标直播回放视频在回放过程中的视频回放和弹幕回放的同步率。具体理由如下:在目标用户进入直播间的回放房间后,回放目标直播回放视频前播放前所述客户端40可以预先缓存好一部分弹幕数据。因此,所述客户端40可以在目标用户进入直播间的回放房间后生成一个用于请求所述服务器20下发所述n个弹幕分片文件中的第一个弹幕分片文件的所述目标弹幕回放请求,所述第一个弹幕分片文件为所述目标直播回放视频对应的第一部分弹幕数据。在本实施例中,所述服务器20可以通过切分与目标直播回放视频相对应的直播弹幕数据,并通过分片的方式将弹幕分片文件下发到所述客户端40,实现了直播时用户行为数据(各种类型的弹幕数据)的复现,且支持视频的进度调控与倍速播放,减少了弹幕数据对内存的占用率,提高了播放流畅度。为了方便理解,所述目标用户进入直播间的回放房间播放所述目标直播回放视频时,本实施例可以包括以下几个播放场景:(1)在所述目标用户进入直播间的回放房间时,所述客户端40会获取所述目标直播回放视频的总时长、弹幕分片文件的总数以及每个弹幕分片文件对应的开始时间和结束时间。(2)在所述目标直播回放视频播放时,所述客户端40可以根据所述目标直播回放视频的当前播放的时间点读取与该时间点对应的弹幕分片文件,并提前拉取(如提前2分钟)下个弹幕分片文件。在所述客户端40还可以将拉取到的所述弹幕分片文件缓存到本地缓存区中,以便于在所述目标直播回放视频播放时同步播放对应的弹幕。(3)在所述目标用户拖动所述目标直播回放视频的进度条时,所述客户端40可以根据拖到的时间点,查询本地缓存中的弹幕分片文件中是否存在该时间点之前的200条弹幕;如果本地缓存中的弹幕分片文件中不存在该时间点之前的200条弹幕,则从所述服务器20中拉取这200条弹幕对应的弹幕分片文件,然后将这200条弹幕直接渲染在当前的互动区中。(4)在所述目标直播回放视频播放时,所述客户端40可以设定弹幕的更新频率(弹幕播放速度)。以更新频率为0.5秒为例,所述客户端40可以根据当前播放的时间点获取下一个0.5秒内的所有弹幕,当播放的时间点到达该“下一个0.5秒内”时,可以该“下一个0.5秒内”的所有弹幕展示在弹幕显示区。(5)所述目标直播回放视频的弹幕播放速度跟随视频播放速度进行调整,例如,当所述回放速度改变时,所述弹幕播放速度可以跟随回放速度改变。即,当回放速度为2倍数播放时,则弹幕播放速度也调整为两倍速播放。其中,可以通过控制弹幕每次跳动的时间间隔改变所述弹幕播放速度。另外,当弹幕播放速度加快时,所述读取内存中的弹幕数量也会可以增加。实施例二图3示意性示出了根据本申请实施例二的用于直播回放的弹幕下发方法的流程图。如图3所示,该用于直播回放的弹幕下发方法可以包括步骤s200~s206,其中:步骤s200,接收客户端在直播回放时发送的弹幕拉取请求,所述弹幕拉取请求携带有时间戳和所述目标直播回放视频的回放进度;其中,所述时间戳为预设的时间间隔与所述目标直播回放视频在回放过程中的回放进度之和。所述时间戳对应于所述目标直播回放视频的时间轴上的一个点,不同弹幕拉取请求所携带有不同的时间戳。其中,所述时间戳为预设的时间间隔与所述目标直播回放视频在回放过程中的回放进度之和。在示例性的实施例中,所述服务器20可以根据弹幕分片文件对应的分片时间配置多个时间戳,并将所述时间戳分发到所述客户端40,其中,一个弹幕分片文件对应一个时间戳。当所述目标直播回放视频再回放的过程中,所述客户端40可以监测所述目标直播回放视频的回放进度条,当监测到回放进度和预先的时间间隔之和等于多个时间戳终中的一个时间戳时,所述客户端40可以根据回放进度对应的时间戳生成弹幕拉取请求,并将所述弹幕拉取请求发送到服务器20。预设的时间间隔可以为两分钟,多个时间戳分别为6分钟、12分钟以及6n分钟为例:当所述回放进度条的回放进度分别到4分钟、10分钟以及(6n-2)分钟时间时,所述客户端40可以分别生成携带有时间戳为6分钟的弹幕拉取请求、携带有12分钟的弹幕拉取请求以及携带有6n分钟的弹幕拉取请求。步骤s202,判断所述弹幕拉取请求中携带的时间戳是否等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和。通过该判断步骤,服务器20可以判断所述目标直播回放视频的回放状态是否处于正常回放状态。所述正常回放状态区别于非正常回放状态。所述正常回放状态时指根据客户端40按照所述目标直播回放视频中的各个视频帧的时间顺序进行正常回放。所述非正常回放状态是指进度条被拖曳导致当前回放的视频帧和上一次回放的视频帧是非连续的两个视频帧,即,它们之间还间隔有多个其他视频帧。步骤s204,如果所述弹幕拉取请求中携带的时间戳不等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和,则确定所述弹幕拉取请求为回放进度条发生拖动事件后的弹幕拉取请求;根据所述弹弹幕拉取请求携带所述目标直播回放视频的回放进度,获取与该回放进度对应的弹幕分片文件;及将与该回放进度对应的弹幕分片文件下发到所述客户端。如果所述弹幕拉取请求中携带的时间戳不等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和,则可以确定所述目标直播回放视频的回放进度条发生了拖动。即可确定所述弹幕拉取请求为回放进度条发生拖动事件后的弹幕拉取请求。当所述弹幕拉取请求为回放进度条发生拖动事件后的弹幕拉取请求时,服务器20可以根据所述弹幕拉取请求携带所述目标直播回放视频的回放进度,获取与该回放进度对应的弹幕分片文件;及将与该回放进度对应的弹幕分片文件下发到所述客户端40。步骤s206,如果所述弹幕拉取请求中携带的时间戳等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和,则响应于所述弹幕拉取请求,将所述n个弹幕分片文件中与所述时间戳对应的弹幕分片文件下发到所述客户端。如果所述弹幕拉取请求中携带的时间戳不等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和,则说明所述目标直播回放视频处于正常回放状态,即基于时间顺序进行正常播放。服务器20可以根据所述弹幕拉取请求携带的时间戳获取与所述时间戳对应的弹幕分片文件。在本实施例中,所述目标直播回放视频的回放状态是处于正常回放状态时,可以所述客户端40可以通过预先拉取弹幕数据缓存到内存中,以便所述目标直播回放视频的回放时可以直接从内存中拿取弹幕进行播放。但是如果所述目标直播回放视频的回放状态不是处于正常回放状态时,即所述目标直播回放视频的回放进度条发生拖动事件时;若这时回放进度条发生拖动到所述内存中没有缓存对应的弹幕数据,就会所述目标直播回放视频的当前播放画面没有对应的弹幕。针对这个问题,本实施例的所述弹幕拉取请求还可以携带目标直播回放视频的回放进度,即所述弹幕拉取请求可以携带时间戳或回放进度。当所述服务器20接收到弹幕拉取请求时,可以通过判断所述弹幕拉取请求中携带的时间戳是否等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和,以确定所述目标直播回放视频的回放状态是处于正常回放状态还是非正常回放状态,以根据回放状态确定通过是通过时间戳确定对应的弹幕分片文件还是通过回放进度确定对应的弹幕分片文件。在本实施例中,所述服务器20可以通过判断弹幕拉取请求属于目标直播回放视频正常回放生成的弹幕拉取请求,并根据判断结果获取相应的弹幕分片文件,提高了弹幕拉取请求拉取弹幕分片文件的准确率。如图4所示,所述直播回放的弹幕下发方法还可以包括步骤s206a~s206d,其中:步骤s206a,在对所述目标直播回放视频进行回放的过程中,接收所述客户端或其他客户端发送的实时弹幕数据,所述实时弹幕数据包括与直播视频时间轴数据对应的实时弹幕时间数据和实时弹幕内容数据;步骤s206b,根据所述实时弹幕时间数据从所述n个弹幕分片文件中,确定与所述实时弹幕内容数据对应的目标弹幕分片文件;步骤s206c,根据所述实时弹幕时间数据和实时弹幕内容数据更新所述目标弹幕分片文件,以得到更新后的目标弹幕分片文件;及步骤s206d,将所述更新后的目标弹幕分片文件保存到数据库中。需要说明的是,所述数据库可以是服务器20的内部数据库,也可以是外部数据库,可以用于存储弹幕及弹幕相关的各类数据。在所述客户端40对所述目标直播回放视频进行回放的过程中,用户可以在所述客户端发送的实时弹幕数据,在所述客户端接收到所述实时弹幕数据后,可以将所述实时弹幕数据发送到服务器20进行与以及分片处理的历史弹幕数据(如,直播弹幕数据)进行整合数据整合。所述实时弹幕数据包括与直播视频时间轴数据对应的实时弹幕时间数据和实时弹幕内容数据。所述实时弹幕时间数据为所述实时弹幕数据的时间数据,例如,弹幕发送的时间,这里的“时间”是指与所述直播视频时间轴数据对应的时间。所述实时弹幕内容数据为弹幕内容。在所述服务器20接收到所述实时弹幕数据后,所述服务器20可以跟所述实时弹幕数据中的所述实时弹幕时间数据从所述n个弹幕分片文件中,确定与所述实时弹幕内容数据对应的目标弹幕分片文件,并根据所述实时弹幕时间数据和实时弹幕内容数据更新所述目标弹幕分片文件,以得到更新后的目标弹幕分片文件。例如,服务器20在确定所述目标弹幕分片文件后,可以对所述实时弹幕时间数据对应的直播视频时间轴数据对所述实时弹幕内容数据进行绑定,以得到实时弹幕数据;对所述目标弹幕分片文件进行解析,以得到目标弹幕分片数据;及对所述实时弹幕数据和目标弹幕分片数据进行格式转换,以得到更新后的目标弹幕分片文件。服务器20在得到所述更新后的目标弹幕分片文件后,可以将所述更新后的目标弹幕分片文件保存到所述数据库中。在本实施例中,在所述目标直播回放视频进行回放的过程中,服务器20可以接收客户端40提供的实时弹幕,并可以对更新原来的弹幕分片文件,丰富弹幕内容。如图5所示,所该直播回放的弹幕下发方法可以包括预先生成所述n个弹幕分片文件的步骤s300~s308,其中:步骤s300,获取与所述目标直播回放视频关联的直播视频时间轴数据和所述直播弹幕数据;步骤s302,根据所述直播视频时间轴数据确定所述目标直播回放视频的总时长;步骤s304,根据所述目标直播回放视频的总时长和预设分片时间对所述直播弹幕数据进行分片处理,以得到n个直播弹幕分片数据;步骤s306,将所述n个直播弹幕分片数据和所述直播视频时间轴数据进行绑定,以得到绑定后的n个直播弹幕分片数据;及步骤s308,对所述绑定后的n个直播弹幕分片数据进行格式转换,以得到所述n个弹幕分片文件。在示例性的实施例中,所述服务器20可以预先获取与所述目标直播回放视频关联的直播视频时间轴数据和所述直播弹幕数据。所述服务器20可以根据所述直播视频时间轴数据确定所述目标直播回放视频的总时长;并根据所述目标直播回放视频的总时长和预设分片时间对所述直播弹幕数据进行分片处理,以得到n个直播弹幕分片数据。然后将所述n个直播弹幕分片数据和所述直播视频时间轴数据进行绑定,并对绑定后的n个直播弹幕分片数据进行格式转换,以得到所述n个弹幕分片文件。在得到所述n个弹幕分片文件后,所述服务器20可以将所述n个弹幕分片文件保存到数据库中。其中,所述预设分片时间可以是每个弹幕分片文件中的所有弹幕播放的播放时长。以所述预设分片时间为6分钟为例。那么所述n个弹幕分片文件中的第一个弹幕分片文件中的所有弹幕为所述目标直播回放视频在0分钟到5分钟之内的弹幕;第二个弹幕分片文件中的所有弹幕为所述目标直播回放视频在6分钟到11分钟之内的弹幕;第n个弹幕分片文件中的所有弹幕为所述目标直播回放视频在(6n-6)分钟到(6n-1)分钟之内的弹幕。所述服务器20将直播弹幕数据分为多个弹幕分配文件,并应客户端请求将相应的单个弹幕分配文件下发给客户端40,减少了弹幕数据对客户端40的内存的占用率,提高了播放流畅度。实施例三图6示意性示出了根据本申请实施例三的直播视频弹幕回放方法的流程图。本实施例可以被执行在计算机设备(如图1中客户端40)中。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。如图6所示,该直播视频弹幕回放方法可以包括步骤s400~s406,其中:步骤s400,回放目标直播回放视频。客户端40可以根据目标用户输入的回放指令回放所述目标直播回放视频,所述目标直播回放视频可以是携带有弹幕的直播视频。不难理解,在所述目标直播回放视频的直播主播下播后,目标用户可以在客户端40观看目标直播回放视频的回放。步骤s402,向服务器发送关联于该目标直播回放视频的弹幕请求,以使所述服务器根据所述弹幕请求返回相应的弹幕分片文件。所述弹幕请求用于指示所述服务器20返回与所述弹幕请求相应的弹幕分片文件。所述弹幕分片文件为所述服务器20预先根据所述目标直播回放视频对应的多个弹幕数据生成的n个弹幕分片文件中其中一个文件。客户端40在所述目标用户回放所述目标直播回放视频时,可以生成一个所述目标直播回放视频的弹幕请求,以使所述服务器20根据所述弹幕请求返回相应的弹幕分片文件。步骤s404,接收所述弹幕分片文件,并将所述弹幕分片文件载入到内存中。当所述客户端40接收到所述弹幕分片文件后,可以对所述弹幕分片文件进行解析,以得到弹幕解析数据。所述客户端40在得到所述弹幕解析数据可以将所述弹幕解析数据载入到内存中。步骤s406,从所述内存中读取所述弹幕分片文件,并将弹幕分片文件中的弹幕数据在弹幕显示区进行弹幕显示。所述客户端40可以监测所述目标直播回放视频的回放进度,根据所述回放进度对从所述内存中读取与所述回放进度对应的弹幕解析数据,并对所述弹幕解析数据进行渲染,以将所述渲染后的弹幕解析数据在弹幕显示区进行弹幕显示。在示例性的实施例中,所述弹幕解析数据可以包括互动弹幕解析数据和文本弹幕解析数据,所述弹幕显示区包括互动弹幕区和文本弹幕区。所述客户端40在得到所述弹幕解析数后可以对所述弹幕解析数据进行分类操作,以得到互动弹幕解析数据和文本弹幕解析数据。所述客户端40可以分别对所述互动弹幕解析数据和所述文本弹幕解析数据,并将渲染后的互动弹幕解析数据在所述互动弹幕区进行弹幕显示,将渲染后的文本弹幕解析数据在所述文本弹幕区进行弹幕显示。所述互动弹幕区的弹幕可以是用户进入直播间的入场提示弹幕、用户打赏主播的打赏弹幕等。所述文本弹幕区可以是用户在观看直播视发送到文字性弹幕。目前,带弹幕的直播视频的回放方式通常是将录制的直播视频和绑定直播视频时间轴的文字性弹幕同时发送到客户端40,以实现直播回放时同时观看直播弹幕。但是,通过这种回放方式会在占用客户端40较大的内存,可能会导致视频回放出现卡顿不流畅的问题;且只能在对应的时间轴看到文字性弹幕,不能完全还原当时直播场景时的弹幕。在本实施例中,所述客户端40通过在回放所述目标直播回放视频时,从服务器20获取部分弹幕数据,并缓存到内存中,减少了弹幕数据对内存的占用率,提高了播放流畅度;通过对所述弹幕解析数据进行分类操作并在对应的弹幕显示区进行显示,不仅能在视频回放时观看文字性的文本弹幕,还可以在互动显示区观看互动弹幕,提高了目标直播回放视频的弹幕还原度。实施例四图7示意性示出了根据本申请实施例三的直播视频弹幕回放方法的流程图。如图7所示,该直播视频弹幕回放方法可以包括步骤s500~s510,其中:步骤s500,回放目标直播回放视频。客户端40可以根据目标用户输入的回放指令回放所述目标直播回放视频,所述目标直播回放视频可以是携带有弹幕的直播视频。不难理解,在所述目标直播回放视频的直播主播下播后,目标用户可以在客户端40观看目标直播回放视频的回放。步骤s502,向服务器发送关联于该目标直播回放视频的弹幕请求,以使所述服务器根据所述弹幕请求返回相应的弹幕分片文件。在示例性的实施例中,所述弹幕请求包括目标弹幕回放请求,目标弹幕回放请求用于获取初始弹幕分片文件;如图8所示,所述步骤s502还可以进一步的包括步骤s502a~步骤s502b,其中:步骤s502a,向所述服务器发送所述目标弹幕回放请求,以使所述服务器根据所述目标弹幕回放请求返回所述初始弹幕分片文件。在本实施例中,通过向服务器发送关联于该目标直播回放视频的弹幕请求,以服务器20在所述目标直播回放视频回放之前返回相应的弹幕分片文件,提高了所述目标直播回放视频在回放时视频回放与弹幕出现的同步率。在示例性的实施例中,所述弹幕请求包括携带有时间戳的弹幕拉取请求;步骤s502b,向所述服务器发送所述弹幕拉取请求,以使所述服务器根据所述弹幕拉取请求返回与所述时间戳对应的弹幕分片文件。应当理解,当所述目标直播回放视频回放到与所述时间戳对应的时间点时,所述客户端40可以生成一个携带有时间戳的弹幕拉取请求,并将所述携带有时间戳的弹幕拉取请求发送到服务器20中,以所述服务器根据所述携带有时间戳的弹幕请求返回与所述时间戳对应的弹幕分片文件。在本实施例中,在目标直播回放视频回放时,所述客户端40可以分批向所述服务器20请求弹幕分片文件,通过分批向所述服务器20请求弹幕分片文件方式减小了内存的消耗。如图9所示,所述步骤s502b还可以进一步的包括步骤s502b1~步骤s502b3,其中:步骤s502b1,获取所述目标直播回放视频的回放进度;步骤s502b2,判断所述回放进度是否到达与上一个时间节点相邻的下一个时间节点;步骤s502b3,如果所述回放进度到达所述下一个时间节点,则根据所述回放进度生成携带有相应的时间戳的弹幕拉取请求。当所述目标直播回放视频再回放的过程中,所述客户端40可以监测所述目标直播回放视频的回放进度条,并获取所述目标直播回放视频的回放进度。所述客户端40可以判断所述回放进度是否到达与上一个时间节点相邻的下一个时间节点。所述时间节点可以根据预设的分片时间和预设的时间间隔确定,所述预设分片时间可以对应于所述目标直播回放视频中的各个视频片段的播放时长。其中,一个视频片段对应于一个弹幕分片文件。所述时间间隔为时间戳和对应的时间节点之间的时间间隔。以所述预设的分片时间为6分钟和预设的时间间隔为2分钟为例,所述目标直播回放视频的第一个时间节点可以4分钟的时候,第二个时间节点可以10分钟的时候,第n个时间节点可以(6n-2)分钟的时候。如果所述回放进度到达所述下一个时间节点,所述客户端40则可以根据所述回放进度生成携带有相应的时间戳的弹幕拉取请求。例如,当所述下一个时间节点为10分钟的时候,则时间戳对应的时间为12分钟。即,当所述下一个时间节点为10分钟的时候,所述客户端40生成携带有时间戳为12分钟的弹幕拉取请求。在本实施例中,在目标直播回放视频回放时可以调控目标直播回放视频的回放进度(拖动目标直播回放视频的回放进度条),但是在调控所述目标直播回放视频的回放进度可能会导致内存中没有缓存调控后的回放进度对应的弹幕数据,这时会出现目标直播回放视频在继续回放而没有对应弹幕的情况。所以所述客户端40可以通过判断所述目标直播回放视频的回放进度是否发生拖动,并根据判断结果生成相应的弹幕拉取请求,提高了弹幕拉取请求拉取弹幕分片文件的准确率。步骤s504,接收并解析所述弹幕分片文件,以得到所述弹幕解析数据。当所述客户端40接收到所述弹幕分片文件后,可以对所述弹幕分片文件进行解析,以得到弹幕解析数据。所述客户端40在得到所述弹幕解析数据可以将所述弹幕解析数据载入到内存中。步骤s506,对所述弹幕解析数据进行分类操作,以得到互动弹幕解析数据和文本弹幕解析数据。步骤s508,将所述互动弹幕解析数据和所述文本弹幕解析数据载入到内存中。所述弹幕分片文件中的弹幕包括互动弹幕和文本弹幕,所述互动弹幕可以是用户进入直播间的入场提示弹幕、用户打赏主播的打赏弹幕等。所述文本弹幕可以是用户在观看直播视发送到文字性弹幕。不难理解,所述弹幕分片文件是通过服务器20根据预先约定的格式转换协议(如pb协议等)对弹幕数据进行格式转换后得到弹幕文件。客户端40对弹幕分片文件进行解析可以得到弹幕解析数据。在本实施例中,所述客户端40通过对所述弹幕解析数据进行分类操作并在对应的弹幕显示区进行显示,不仅能在视频回放时观看文字性的文本弹幕,还可以在互动显示区观看互动弹幕,提高了目标直播回放视频的弹幕还原度。步骤s510,从所述内存中读取所述互动弹幕解析数据和所述文本弹幕解析数据,并将互动弹幕解析数据和所述文本弹幕解析数据在弹幕显示区进行弹幕显示。所述客户端40可以监测所述目标直播回放视频的回放进度,根据所述回放进度对从所述内存中读取与所述回放进度对应的弹幕解析数据,并对所述弹幕解析数据进行渲染,以将所述渲染后的弹幕解析数据在弹幕显示区进行弹幕显示。如图10所示,所述步骤s510,还可以进一步的包括步骤s600~s604,其中:步骤s600,从所述内存中读取所述互动弹幕解析数据和所述文本弹幕解析数据;步骤s602,将所述互动弹幕解析数据在所述互动弹幕区进行弹幕显示;及步骤s604,将所述文本弹幕解析数据在所述文本弹幕区进行弹幕显示。在所述目标直播回放视频回放的过程中,所述客户端40可以从所述内存中读取所述互动弹幕解析数据和所述文本弹幕解析数据,并将从所述内存中读取所述互动弹幕解析数据和所述文本弹幕解析数据分别在所述互动弹幕区和所述文本弹幕区进行弹幕显示。在本实施例中,所述客户端40通过将所述文本弹幕解析数据在所述文本弹幕区进行弹幕显示并将所述互动弹幕解析数据在所述互动弹幕区进行弹幕显示,使得在所述目标直播回放视频回放时不仅能观看文字性的文本弹幕,还可以在互动显示区观看互动弹幕,提高了目标直播回放视频的弹幕还原度。如图11所示,所述步骤s602,还可以进一步的包括步骤s602a~s602d,其中:步骤s602a,获取所述目标直播回放视频的当前回放进度;步骤s602b,确定所述当前回放进度对应的当前互动弹幕解析数据;步骤s602c,对所述当前互动弹幕解析数据进行渲染,以得到渲染后的当前互动弹幕解析数据;及步骤s602d,将所述渲染后的当前互动弹幕解析数据在所述互动弹幕区进行弹幕显示。所述客户端40可以根据所述目标直播回放视频的当前回放进度确定所述当前回放进度对应的当前互动弹幕解析数据,并对所述当前互动弹幕解析数据进行渲染。其中,互动弹幕解析数据中携带有所述互动弹幕解析数据对应的目标直播回放视频的时间轴数据。所述客户端40可以根据所述当前回放进度和所述互动弹幕解析数据中时间轴数据,确定所述当前互动弹幕解析数据。本实施例通过将互动弹幕解析数据在所述互动弹幕区进行弹幕显示,提高了弹幕回放的准确率。在一些实施例中,所述客户端40可以以预设的时间频率获取当前回放进度。例如,所述客户端40可以预先配置一个定时器,通过设定所述定时器的获取时间来定时获取所述回放进度,所述获取时间可以设置为0.5秒,即,所述客户端40可以每以0.5秒获取一次的频率获取回放进度。如图12所示,所述步骤s604,还可以进一步的包括步骤s604a~s604d,其中:步骤s604a,获取所述目标直播回放视频的当前回放进度;步骤s604b,确定所述当前所述回放进度对应的当前文本弹幕解析数据;步骤s604c,对所述当前文本弹幕解析数据进行渲染,以得到渲染后的当前文本弹幕解析数据;及步骤s604d,将所述渲染后的当前文本弹幕解析数据在所述文本弹幕区进行弹幕显示。所述客户端40可以根据所述目标直播回放视频的当前回放进度确定所述当前回放进度对应的当前文本弹幕解析数据,并对所述当前文本弹幕解析数据据进行渲染。其中,互动弹幕解析数据中携带有所述文本弹幕解析数据对应的目标直播回放视频的时间轴数据。所述客户端40可以根据所述当前回放进度和所述文本弹幕解析数据中时间轴数据,确定所述当前文本弹幕解析数据。本实施例通过将文本弹幕解析数据在所述文本弹幕区进行弹幕显示,提高了弹幕回放的准确率,通过对所述弹幕解析数据进行分类操作并在对应的弹幕显示区进行显示,提高了目标直播回放视频的弹幕还原度。如图13所示,所述直播视频弹幕回放方法还可以包括步骤s700~702,其中:步骤s700,判断所述目标直播回放视频的回放进度条是否发生拖动事件;及步骤s702,如果所述回放进度条发生所述拖动事件,则清除所述弹幕显示区的全部弹幕,并更新所述弹幕显示区的全部弹幕。不难理解,目标用户在观看所述目标直播回放视频时可以自行拖动回放进度条。当所述客户端40监测到所述目标直播回放视频的回放进度条发生拖动事件时,所述客户端40可以获取所述回放进度条的当前回放进度,可以根据所述当前回放进度生成携带有当前回放进度的弹幕拉取请求,并将所述携带有当前回放进度的弹幕拉取请求发送到所述服务器20,以使所述服务器20根据所述携带有当前回放进度的弹幕拉取请求返回与所述当前回放进度对应的弹幕分片文件。另外,当所述客户端40监测到所述目标直播回放视频的回放进度条发生拖动事件时,还可以清除所述弹幕显示区的全部弹幕,并根据所述当前回放进度对应的弹幕分片文件更新所述弹幕显示区的全部弹幕。如图14所示,所述步骤s702还可以包括步骤s702a1~s702a3,其中:步骤s702a1,查询所述内存中是否缓存与当前回放进度对应的弹幕分片文件;步骤s702a2,如果所述内存中存在与当前回放进度对应的弹幕分片文件,则将所述与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示;及步骤s702a3,如果所述内存中不存在与当前回放进度对应的弹幕分片文件,则根据当前回放进度生成拖动后的弹幕拉取请求;向所述服务器发送所述拖动后的弹幕拉取请求,以使所述服务器返回与所述当前回放进度对应的弹幕分片文件,并将所述与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示。当所述目标直播回放视频的回访进度条被拖动时,则此时视频中对应的弹幕也会发生改变。例如,当所述目标直播回放视频的回访进度条被拖动时,所述客户端40可以查询所述内存中是否缓存与当前回放进度对应的弹幕分片文件。如果所述客户端40查询到所述内存中存在与当前回放进度对应的弹幕分片文件,则所述客户端40可以无需再次向服务器20请求对应的弹幕分片文件,可以直接将所述内存中与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示。如果所述客户端40查询到所述内存中不存在与当前回放进度对应的弹幕分片文件,则所述客户端40可以根据当前回放进度生成拖动后的弹幕拉取请求,向所述服务器发送所述拖动后的弹幕拉取请求,以使所述服务器返回与所述当前回放进度对应的弹幕分片文件,并将所述与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示。在本实施例通过查询所述内存中是否缓存与当前回放进度对应的弹幕分片文件,并及时更新所述内存中的弹幕分片文件,提高了弹幕拉取请求拉取弹幕分片文件的准确率。在一些实施例中,客户端40还可以调控目标直播回放视频的回放速度,其中,当所述回放速度改变时,所述弹幕播放速度可以跟随回放速度改变。即,当回放速度为2倍数播放时,则弹幕播放速度也调整为两倍速播放。其中,可以通过控制弹幕每次跳动的时间间隔改变所述弹幕播放速度。另外,当弹幕播放速度加快时,所述读取内存中的弹幕数量也会可以增加。如图15所示,所述步骤702还可以包括步骤s702b1~s702b3,其中:步骤s702b1,判断所述内存中是否存在与所述当前回放进度相邻的时间区间对应的m个弹幕;步骤s702b2,如果所述内存中存在所述m个弹幕,则将所述m个弹幕在所述弹幕显示区进行弹幕显示;及步骤s702b3,如果所述内存中不存在所述m个弹幕,则根据所述当前回放进度相邻的时间区间生成弹幕回溯请求,将所述弹幕回溯请求发送到所述服务器,以使所述服务器返回包括所述m个弹幕的弹幕分片文件,并将所述弹幕分片文件在所述弹幕显示区进行弹幕显示。为了保证所述弹幕显示区有弹幕存在,所述客户端40可以将当前回放进度前的m个弹幕在所述弹幕显示区有弹幕中进行显示。例如,所述客户端40可以判断所述内存中是否存在与所述当前回放进度相邻的时间区间对应的m个弹幕;如果所述内存中存在所述m个弹幕,则所述客户端40可以将所述m个弹幕在所述弹幕显示区进行弹幕显示。如果所述内存中不存在所述m个弹幕,则所述客户端40可以根据所述当前回放进度相邻的时间区间生成弹幕回溯请求,将所述弹幕回溯请求发送到所述服务器,以使所述服务器返回包括所述m个弹幕的弹幕分片文件,并将所述弹幕分片文件在所述弹幕显示区进行弹幕显示。在本实施例通过判断所述内存中是否存在与所述当前回放进度相邻的时间区间对应的m个弹幕,并及时更新所述内存中的弹幕分片文件,提高了弹幕拉取请求拉取弹幕分片文件的准确率。在示例性的实施例中,所述直播视频弹幕回放方法还包括步骤:接收目标用户输入的实时弹幕数据,并将所述实时弹幕数据在弹幕显示区进行弹幕展示。示例性的,在所述目标直播回放视频回放的时候,用户可以在所述客户端40发送实时弹幕数据,在所述客户端40接收到所述实时弹幕数据后,可以对所述实时弹幕数据进行格式转换,并将格式转换后的实时弹幕数据在弹幕显示区进行弹幕展示。另外,所述客户端40在接收到所述实时弹幕数据后,可以将所述实时弹幕数据发送到服务器20中进行保存。以提高所述目标直播回放视频的弹幕数量。在本实施例通过接收目标用户输入的实时弹幕数据,提高了目标直播回放视频回放时的弹幕数据的多样性。为了便于理解,如图16所示,本实施还提供了回放目标直播回放视频的视频回放时接收实时弹幕的流程图。目标用户在进入直播间的回放房间后,所述客户端接收其他用户在观看目标直播回放视频回放时发送实时弹幕。在一些实施例中,所述客户端40可以预先创建一个用于接收用户输入信息的getdanmuconfing接口。所述客户端40可以通过所述getdanmuconfing接口接收用户输入的弹幕信息,并为所述弹幕信息配置group参数,以生成对应的实时(socket)弹幕,并将所述实时弹幕发送到所述服务器20保存。在示例性的实施例中,所述目标用户在进入回放房间后可以客户端40可以以一定的时间频率检查内存中的弹幕数据,以及时清除超期的弹幕数据,并记录未超期的弹幕数据的信息,所述未超期的弹幕数据为所述内存中还未播放的弹幕数据。在所述客户端40接收到所述实时弹幕时,所述客户端40可以检查所述实时弹幕是否超过所述目标用户观看所述目标直播回放视频的回放进度。如果所述实时弹幕超过所述目标用户观看所述目标直播回放视频的回放进度,则可以检查所述实时弹幕所在的时间片段是否存在对应的缓存数据(弹幕分片文件),如果所述实时弹幕所在的时间片段存在对应的缓存数据,则将所述实时弹幕保存到所述内存中;如果所述实时弹幕所在的时间片段不存在对应的缓存数据,则丢弃所述实时弹幕。如果所述实时弹幕不超过所述目标用户观看所述目标直播回放视频的回放进度,则丢弃所述实时弹幕。为了方便理解,如图17所示,本实施例还提供了服务器20、客户端40以及目标平台80之间的交互流程图。如图17所示,该直播视频弹幕回放方法的服务器20和客户端40之间的交互可以包括步骤s1~s7,其中:步骤s1,获取目标直播回放视频关联的直播视频时间轴数据和直播弹幕数据;步骤s2,根据所述直播视频时间轴数据对直播弹幕数据进行分片处理,以得到n个弹幕分片文件;步骤s3,回放目标直播回放视频;步骤s4,所述服务器发送所述弹幕回放请求;步骤s5,接收并响应客户端发送的弹幕回放请求;步骤s6,将所述弹幕回放请求对应的弹幕分片文件下发到所述客户端;步骤s7,接收所述弹幕分片文件,并将所述弹幕分片文件载入到内存中;步骤s8,从所述内存中读取所述弹幕分片文件,并将弹幕分片文件中的弹幕数据在弹幕显示区进行弹幕显示;步骤s9,接收目标用户输入的实时弹幕数据,并将所述实时弹幕数据在弹幕显示区进行弹幕展示;步骤s10,将所述实时弹幕数据发送到服务器;及步骤s11,接收所述实时弹幕数据,并根据所述实时弹幕数据更新所述实时弹幕数据对应的弹幕分片数据。为了方便理解,本实施例还提供了图18、图19和图20,其中,所述图18为所述客户端40的直播回放入口界面图,所述图19为所述客户端40的直播回放界面图,所述图20为所述客户端40的直播回放全屏图。如图18所示,所述目标用户可以通过点击所述图18中的“直播回放”按钮进入到图19的直播回放界面中。所述图20为图19的全屏状态。实施例五图21示意性示出了根据本申请实施例四的直播视频弹幕回放系统的框图,该直播视频弹幕回放系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。如图21所示,该直播视频弹幕回放系统200可以包括回放模块210、发送模块220、载入模块230和显示模块240,其中:回放模块210,用于回放目标直播回放视频。发送模块220,用于向服务器发送关联于该目标直播回放视频的弹幕请求,以使所述服务器根据所述弹幕请求返回相应的弹幕分片文件。示例性的,所述弹幕请求包括目标弹幕回放请求,目标弹幕回放请求用于获取初始弹幕分片文件;所述发送模块220,还用于:向所述服务器发送所述目标弹幕回放请求,以使所述服务器根据所述目标弹幕回放请求返回所述初始弹幕分片文件。示例性的,所述弹幕请求包括携带有时间戳的弹幕拉取请求;所述发送模块220,还用于:向所述服务器发送所述弹幕拉取请求,以使所述服务器根据所述弹幕拉取请求返回与所述时间戳对应的弹幕分片文件。载入模块230,用于接收所述弹幕分片文件,并将所述弹幕分片文件载入到内存中。示例性的,所述弹幕显示区包括互动弹幕区和文本弹幕区;所述发送模块220,还用于:解析所述弹幕分片文件,以得到所述弹幕解析数据;对所述弹幕解析数据进行分类操作,以得到互动弹幕解析数据和文本弹幕解析数据;及将所述互动弹幕解析数据和所述文本弹幕解析数据载入到内存中显示模块240,用于从所述内存中读取所述弹幕分片文件,并将弹幕分片文件中的弹幕数据在弹幕显示区进行弹幕显示。示例性的,所述显示模块240,还用于:从所述内存中读取所述互动弹幕解析数据和所述文本弹幕解析数据;将所述互动弹幕解析数据在所述互动弹幕区进行弹幕显示;及将所述文本弹幕解析数据在所述文本弹幕区进行弹幕显示。示例性的,所述显示模块240,还用于:获取所述目标直播回放视频的当前回放进度;确定所述当前回放进度对应的当前互动弹幕解析数据;对所述当前互动弹幕解析数据进行渲染,以得到渲染后的当前互动弹幕解析数据;及将所述渲染后的当前互动弹幕解析数据在所述互动弹幕区进行弹幕显示。示例性的,所述显示模块240,还用于:获取所述目标直播回放视频的当前回放进度;确定所述当前所述回放进度对应的当前文本弹幕解析数据;对所述当前文本弹幕解析数据进行渲染,以得到渲染后的当前文本弹幕解析数据;及将所述渲染后的当前文本弹幕解析数据在所述文本弹幕区进行弹幕显示示例性的,所述直播视频弹幕回放系统200还包括拉取模块,所述拉取模块,用于:获取所述目标直播回放视频的回放进度;判断所述回放进度是否到达与上一个时间节点相邻的下一个时间节点;及如果所述回放进度到达所述下一个时间节点,则根据所述回放进度生成携带有相应的时间戳的弹幕拉取请求。示例性的,所述拉取模块,还用于:判断所述目标直播回放视频的回放进度条是否发生拖动事件;及如果所述回放进度条发生所述拖动事件,则清除所述弹幕显示区的全部弹幕,并更新所述弹幕显示区的全部弹幕。示例性的,所述拉取模块,还用于:查询所述内存中是否缓存与当前回放进度对应的弹幕分片文件;如果所述内存中存在与当前回放进度对应的弹幕分片文件,则将所述与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示;及如果所述内存中不存在与当前回放进度对应的弹幕分片文件,则根据当前回放进度生成拖动后的弹幕拉取请求;向所述服务器发送所述拖动后的弹幕拉取请求,以使所述服务器返回与所述当前回放进度对应的弹幕分片文件,并将所述与当前回放进度对应的弹幕分片文件在所述弹幕显示区进行弹幕显示。示例性的,所述拉取模块,还用于:判断所述内存中是否存在与所述当前回放进度相邻的时间区间对应的m个弹幕;如果所述内存中存在所述m个弹幕,则将所述m个弹幕在所述弹幕显示区进行弹幕显示;及如果所述内存中不存在所述m个弹幕,则根据所述当前回放进度相邻的时间区间生成弹幕回溯请求,将所述弹幕回溯请求发送到所述服务器,以使所述服务器返回包括所述m个弹幕的弹幕分片文件,并将所述弹幕分片文件在所述弹幕显示区进行弹幕显示。示例性的,所述直播视频弹幕回放系统200还包括接收模块,所述接收模块,用于:接收目标用户输入的实时弹幕数据,并将所述实时弹幕数据在弹幕显示区进行弹幕展示。实施例六图22示意性示出了根据本申请实施例二的用于直播回放的弹幕下发系统的框图,该用于直播回放的弹幕下发系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。如图22所示,该用于直播回放的弹幕下发系统300可以包括接收模块310和响应模块320,其中:接收模块310,用于接收客户端在直播回放时发送的弹幕拉取请求,所述弹幕拉取请求携带有时间戳。示例性的,所述时间戳为预设的时间间隔与所述目标直播回放视频在回放过程中的回放进度之和。示例性的,所述接收模块310,还用于:判断所述弹幕拉取请求中携带的时间戳是否等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和;及如果所述弹幕拉取请求中携带的时间戳不等于上一个弹幕拉取请求中携带的时间戳与预设分片时间之和,则确定所述弹幕拉取请求为回放进度条发生拖动事件后的弹幕拉取请求。示例性的,所述接收模块310,还用于:根据所述弹弹幕拉取请求携带所述目标直播回放视频的回放进度,获取与该回放进度对应的弹幕分片文件;及将与该回放进度对应的弹幕分片文件下发到所述客户端。响应模块340,响应于所述弹幕拉取请求,将n个弹幕分片文件中与所述时间戳对应的弹幕分片文件下发到所述客户端;其中,所述n个弹幕分片文件是通过切分与目标直播回放视频相对应的直播弹幕数据得到的,n为正整数。示例性的,所述直播回放的弹幕下发系统300还包括接收模块,所述生成模块,用于:获取与所述目标直播回放视频关联的直播视频时间轴数据和所述直播弹幕数据;根据所述直播视频时间轴数据对所述直播弹幕数据进行分片处理,以生成n个直播弹幕分片数据;将所述n个直播弹幕分片数据和所述直播视频时间轴数据进行绑定,以得到绑定后的n个直播弹幕分片数据;及对所述绑定后的n个直播弹幕分片数据进行格式转换,以得到所述n个弹幕分片文件。示例性的,所述生成模块,还用于:根据所述直播视频时间轴数据确定所述目标直播回放视频的总时长;及根据所述目标直播回放视频的总时长和预设分片时间对所述直播弹幕数据进行分片处理,以得到n个直播弹幕分片数据。示例性的,所述直播回放的弹幕下发系统300还包括接收模块,所述保存模块,用于:在对所述目标直播回放视频进行回放的过程中,接收所述客户端或其他客户端发送的实时弹幕数据,所述实时弹幕数据包括与直播视频时间轴数据对应的实时弹幕时间数据和实时弹幕内容数据;根据所述实时弹幕时间数据从所述n个弹幕分片文件中,确定与所述实时弹幕内容数据对应的目标弹幕分片文件;根据所述实时弹幕时间数据和实时弹幕内容数据更新所述目标弹幕分片文件,以得到更新后的目标弹幕分片文件;及将所述更新后的目标弹幕分片文件保存到所述数据库中。实施例七图23示意性示出了根据本申请实施例七的适于实现用于直播回放的弹幕下发方法的计算机设备的硬件架构示意图。计算机设备2适用于实施例一、二中的客户端40和服务器20。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是移动设备,平板设备,膝上型计算机、游戏设备、机顶盒、数字流设备、智能电视、电视盒、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集合群)等。如图23所示,计算机设备2至少包括但不限于:可通过系统总线相互通信链接存储器410、处理器420、网络接口430。其中:存储器410至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器410可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器410也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,存储器410还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器410通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如用于直播回放的弹幕下发方法的程序代码等。此外,存储器410还可以用于暂时地存储已经输出或者将要输出的各类数据。处理器420在一些实施例中可以是中央处理器(centralprocessingunit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器420通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器420用于运行存储器410中存储的程序代码或者处理数据。网络接口430可包括无线网络接口或有线网络接口,该网络接口430通常用于在计算机设备2与其他计算机设备之间建立通信链接。例如,网络接口430用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,简称为gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。需要指出的是,图23仅示出了具有部件410-430的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。在本实施例中,存储于存储器410中的用于直播回放的弹幕下发方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器420)所执行,以完成本申请。实施例八本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的用于直播回放的弹幕下发方法的步骤。本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的用于直播回放的弹幕下发方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集合中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集合成电路模块,或者将它们中的多个模块或步骤制作成单个集合成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本申请的专利保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1