首页 / 专利库 / 多媒体工具与应用 / 流式视频 / 一种实现直播视频同步的播放器客户端、系统及方法

一种实现直播视频同步的播放器客户端、系统及方法

阅读:1029发布:2020-05-24

专利汇可以提供一种实现直播视频同步的播放器客户端、系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种实现直播视频同步的系统、播放器客户端及方法,所述系统包括直播视频源、视频 服务器 以及播放器客户端,所述直播视频源用于向所述视频服务器推送 视频流 ;所述视频服务器用于将所述视频流进行切片,并按照时间顺序为切片后的视频 片段 设置视频编号;所述播放器客户端用于与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。本 申请 提供的技术方案,能够减轻视频服务器的负载,并保证视频直播的实时性。,下面是一种实现直播视频同步的播放器客户端、系统及方法专利的具体信息内容。

1.一种实现直播视频同步的播放器客户端,所述播放器客户端与视频服务器保持通信连接,其特征在于:
所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、播放器客户端完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放;其中,所述目标视频片段的编号小于所述第一编号,并且与所述第一编号保持距离,所述第一编号为所述视频服务器中最新的视频片段编号,所述目标视频片段的编号通过所述第一编号、所述第二编号和所述第三编号的拟合结果确定。
2.根据权利要求1所述的播放器客户端,其特征在于,所述播放客户端包括编号同步单元、视频下载单元以及视频播放单元,其中:
所述编号同步单元,用于按照视频编号从小到大的顺序,依次从所述视频服务器中读取生成的视频编号,并存储读取的所述视频编号;
所述视频下载单元,用于按照视频编号从小到大的顺序,依次从所述视频服务器中下载完成切片的视频片段,并存储下载的所述视频片段;
所述视频播放单元,用于按照视频编号从小到大的顺序,依次从所述视频下载单元中读取并播放完成下载的视频片段。
3.根据权利要求2所述的播放器客户端,其特征在于,所述播放客户端中还包括追单元,所述追帧单元用于接收所述编号同步单元发来的最新同步的第一编号、接收所述视频下载单元发来的完成下载的最新视频片段的第二编号并且接收所述视频播放单元发来的当前正在播放的视频片段的第三编号;基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括回退追帧或者前进追帧;其中,所述追帧方式通过追帧值与第一阈值和第二阈值的对比结果确定,所述追帧值根据所述第一编号、所述第二编号和所述第三编号计算得到。
4.根据权利要求3所述的播放器客户端,其特征在于,所述追帧单元中包括追帧方式确定模,所述追帧方式确定模块用于根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用回退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
5.根据权利要求3所述的播放器客户端,其特征在于,所述追帧单元中还包括目标视频片段确定模块,所述目标视频片段确定模块用于通过对所述第一编号、所述第二编号以及所述第三编号进行拟合后得到目标编号,并将按照所述追帧方式追赶所述目标编号之后对应的视频片段作为所述目标视频片段。
6.根据权利要求5所述的播放器客户端,其特征在于,所述目标视频片段确定模块还包括延时参数设定模块,用于在计算出的所述目标编号的基础上减去指定延时编号,得到经过延时的目标编号,并将按照所述追帧方式追赶所述经过延时的目标编号之后对应的视频片段作为所述目标视频片段。
7.根据权利要求3所述的播放器客户端,其特征在于,所述追帧单元还用于将所述追帧方式和所述目标视频片段的编号发送至所述视频下载单元;
相应地,所述视频下载单元还用于按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
8.一种实现直播视频同步的系统,其特征在于,所述系统包括直播视频源、视频服务器以及根据权利要求1至7中任一项所述的播放器客户端,所述直播视频源用于向所述视频服务器推送视频流;所述视频服务器用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号。
9.根据权利要求8所述的系统,其特征在于,所述视频服务器中还包括视频流接收单元、审核处理单元以及视频编号单元,其中:
所述视频流接收单元,用于接收所述直播视频源发来的所述视频流,并将所述视频流分别发送至所述审核处理单元和所述视频编号单元处;
所述视频编号单元,用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;
所述审核处理单元用于识别所述视频流中每一帧的内容,当识别出的内容属于违禁内容时,向所述视频编号单元以及所述播放器客户端发送停止指令,以使得所述视频编号单元停止切片和编号的操作,并使得所述播放器客户端停止播放视频。
10.一种实现直播视频同步的方法,其特征在于,所述方法包括:
直播视频源向视频服务器推送视频流;
所述视频服务器将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;
播放器客户端与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;
所述播放器客户端根据最新同步的第一编号、播放器客户端完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放;其中,所述目标视频片段的编号小于所述第一编号,并且与所述第一编号保持距离,所述第一编号为所述视频服务器中最新的视频片段编号,所述目标视频片段的编号通过所述第一编号、所述第二编号和所述第三编号的拟合结果确定。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述播放客户端基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;
所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括回退追帧或者前进追帧;其中,所述追帧方式通过追帧值与第一阈值和第二阈值的对比结果确定,所述追帧值根据所述第一编号、所述第二编号和所述第三编号计算得到。
12.根据权利要求11所述的方法,其特征在于,所述追帧方式按照下述方式确定:
根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;
当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用回退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
13.根据权利要求11所述的方法,其特征在于,所述目标视频片段按照下述方式确定:
通过对所述第一编号、所述第二编号以及所述第三编号进行拟合后得到目标编号,并将按照所述追帧方式追赶所述目标编号之后对应的视频片段作为所述目标视频片段。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
在计算出的所述目标编号的基础上减去指定延时编号,得到经过延时的目标编号,并将按照所述追帧方式追赶所述经过延时的目标编号之后对应的视频片段作为所述目标视频片段。
15.根据权利要求11所述的方法,其特征在于,所述方法还包括:
按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。

说明书全文

一种实现直播视频同步的播放器客户端、系统及方法

技术领域

[0001] 本发明涉及视频直播技术领域,特别涉及一种实现直播视频同步的播放器客户端、系统及方法。

背景技术

[0002] 随着通信技术的不断发展,视频直播行业正在兴起。当前,视频直播的服务通常可以由直播平台提供,该直播平台可以同时与主播客户端以及用户客户端进行连接。其中,主播客户端可以作为直播视频的源头,在录制直播内容的同时,将录制的直播内容实时推送至直播平台的服务器中。然后,用户客户端可以从直播平台的服务器处获取主播客户端推送的直播内容。这样便可以实现直播视频的推送和观看的过程。
[0003] 目前,直播系统通常存在如下问题:1.用户客户端在下载直播内容时,有时候会受到网络波动的影响,导致一段时间内无法获取到当前的直播内容。这样,在用户客户端中便会出现直播中止的卡顿画面。同时在多次卡顿之后,如果没有相关的追赶机制会导致用户看到的直播画面越来越落后于主播推流的画面,严重影响用户体验。2.当主播推流出现网络波动的时候,用户客户端无法获取直播内容,通常会向直播平台的服务器发起回源请求。一旦大量的用户客户端同时发起回源请求时,会导致直播平台的服务器的负载陡增。由于网络波动是频繁存在的,因此现有的直播平台的服务器就会频繁地接收到大量的回源请求,会对直播平台的服务器产生较大的负载,从而会加大服务器的维护成本。

发明内容

[0004] 为了解决现有技术的问题,本发明实施例提供了一种实现直播视频同步的播放器客户端、系统及方法。所述技术方案如下:
[0005] 一方面,一种实现直播视频同步的播放器客户端,所述播放器客户端与视频服务器保持通信连接,所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
[0006] 另一方面,一种实现直播视频同步的系统,所述系统包括直播视频源、视频服务器以及播放器客户端,所述直播视频源用于向所述视频服务器推送视频流;所述视频服务器用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
[0007] 另一方面,一种实现直播视频同步的方法,所述方法包括:直播视频源向视频服务器推送视频流;所述视频服务器将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;播放器客户端与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;所述播放器客户端根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
[0008] 由上可见,在本申请中,视频服务器可以按照时间顺序将直播视频源推送的视频流进行切片和编号,这样,根据视频片段的编号,便可以确定视频片段在整个视频流中所处的位置。播放器客户端在播放直播内容时,可以与视频服务器保持视频编号的同步,这样,在播放器客户端中可以存储最新同步的第一编号。此外,播放器客户端在从视频服务器中下载视频片段时,同样可以记录最新完成下载的视频片段的第二编号。同时,在播放器客户端按照顺序播放视频片段时,可以记录当前正在播放的视频片段的第三编号。在本申请中,对上述的第一编号、第二编号以及第三编号进行分析后,可以确定出当前应当播放的目标视频片段。这样确定出的目标视频片段可以与视频服务器中最新完成编号的视频片段之间保持一定的延时。因此,在确定出所述目标视频片段后,可以直接从当前正在播放的视频片段跳转至所述目标视频片段,从而能够时刻保证当前正在播放的视频片段与最新完成编号的视频片段之间存在一定的延时。这样,能够使得播放器客户端始终处于播放状态,不会由于获取不到视频数据而向视频服务器发送回源请求,从而减轻了视频服务器的负载。此外,由于当前正在播放的视频片段与最新完成编号的视频片段之间始终存在一定的延时,从而使得直播视频源推送的视频流在视频服务器中有足够的时间完成审核,从而保证了播放器客户端播出的内容均为合法的内容。而且,在播放客户端出现网络抖动导致卡顿时,播放器可以自动的跳转到新的目标视频片段进行播放下载,避免了客户端因为网络抖动越播越慢,有效的提升了用户体验。附图说明
[0009] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010] 图1是本发明实施例一中实现直播视频同步的系统架构示意图;
[0011] 图2是本发明实施例一中视频切片的示意图;
[0012] 图3是本发明实施例三中实现直播视频同步的方法流程图

具体实施方式

[0013] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0014] 实施例一
[0015] 本申请提供一种实现直播视频同步的系统,请参阅图1,所述系统可以包括直播视频源100、视频服务器200以及播放器客户端300。其中,所述直播视频源可以是发布直播内容的主播客户端。所述直播视频源可以是具备摄像功能和网络通信功能的电子设备。例如,所述直播视频源可以是计算机(台式电脑、笔记本电脑)、智能手机、平板电脑、智能可穿戴设备等。所述视频服务器可以是直播平台的业务服务器。例如,所述视频服务器可以是斗鱼、虎牙、战旗等直播平台的后台服务器。所述播放器客户端可以是用户使用的具备视频播放功能的电子设备。例如,所述播放器客户端同样可以是计算机(台式电脑、笔记本电脑)、智能手机、平板电脑、智能可穿戴设备等。所述播放器客户端还可以是安装于上述电子设备中的软件。例如,所述播放器客户端可以是斗鱼、虎牙、战旗等直播平台在手机中的应用(Application,APP)。
[0016] 在本实施方式中,所述直播视频源可以用于向所述视频服务器推送视频流。所述视频服务器在接收到所述视频流之后,可以将所述视频流进行切片。具体地,请参阅图2,所述视频服务器可以按照固定的时间间隔或者固定的数对所述视频流进行切片。例如,所述视频服务器可以每20秒划分一个视频片段,或者每100帧划分一个视频片段。这样,视频服务器便可以将接收到的视频流划分为多个视频片段。在本实施方式中,在划分视频片段时,还可以按照时间顺序为切片后的视频片段设置视频编号。具体地,所述时间顺序可以是视频流的播放顺序,播放时间越靠后的视频片段,其对应的视频编号也可以越大。
[0017] 请参阅图1,在本实施方式中,所述视频服务器200中可以包括视频流接收单元201、审核处理单元202以及视频编号单元203,其中,所述视频流接收单元201可以用于接收所述直播视频源发来的所述视频流,并将所述视频流分别发送至所述审核处理单元202和所述视频编号单元203处。所述视频编号单元203可以用于将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号。所述审核处理单元202可以用于识别所述视频流中每一帧的内容,以判断所述视频流中是否出现违禁内容。具体地,所述审核处理单元
202可以将每一帧中的内容与违禁内容数据库中的内容进行对比,当相似度超过指定阈值时,则可以判定当前帧中的内容存在违禁内容。在实际应用过程中,可以提取每一帧的特征向量,该特征向量中的各个元素例如可以是一帧画面中各个像素点的像素值。同时,违禁内容数据库中的画面也可以通过特征向量的形式进行表示。这样,在提取出每一帧对应的特征向量后,可以计算每一帧的特征向量与各个违禁内容的特征向量之间的空间距离。若计算的空间距离小于指定距离阈值,则表明两者的相似度较高,可以将该帧画面的内容判定为违禁内容。
[0018] 在本实施方式中,所述播放器客户端300可以包括编号同步单元301、视频下载单元302以及视频播放单元303。
[0019] 其中,所述编号同步单元301可以用于从所述视频服务器中读取生成的视频编号,并存储读取的所述视频编号。这样,所述播放器客户端便可以与所述视频服务器中的视频编号保持同步。
[0020] 所述视频下载单元302可以按照视频编号从小到大的顺序,依次从所述视频服务器中下载完成切片的视频片段,并存储下载的所述视频片段。所述视频下载单元下载的视频片段可以由所述视频播放单元进行播放。具体地,所述视频播放单元可以按照视频编号从小到大的顺序,依次从所述视频下载单元中读取并播放完成下载的视频片段。例如,视频播放单元在读取完视频编号为1的视频片段后,可以播放该视频编号为1的视频片段。同时还可以继续读取视频编号为2的视频片段。
[0021] 在本实施方式中,所述播放器客户端300中还可以包括追帧单元304,所述追帧单元304可以接收所述编号同步单元发来的最新同步的第一编号N1、接收所述视频下载单元发来的完成下载的最新视频片段的第二编号N2并且接收所述视频播放单元发来的当前正在播放的视频片段的第三编号N3。第一编号N1是指视频服务器最新的视频片段编号。在实际应用过程中,N1通常会大于N2。原因在于,同步编号的过程中仅需要传输表征编号的报文,数据量非常小,因此同步编号的速度相当快。而下载视频片段的过程中涉及的视频片段的数据量比较大,因此下载视频片段的速度会比较慢。这样,播放器客户端可以在较短的时间内完成同步视频编号的过程,从而导致最新同步的视频片段的编号往往会大于最新完成下载的视频片段的编号。在实际应用过程中,N2通常会大于或者等于N3。原因在于,视频播放单元是从视频下载单元中读取视频片段,因此视频播放单元播放的视频片段的编号始终不会大于视频下载单元中最新完成下载的视频片段的编号。
[0022] 在实际应用场景中,当网络出现波动时,至少会出现以下几种情况:
[0023] 1)直播视频源与视频服务器之间出现网络波动,导致视频流无法及时上传至视频服务器。在这种情况下,由于视频流停止或者放缓,导致视频编号的速度也会停止或者放缓。这样,N1的增长速度便会停止或者放缓。而由于播放器客户端与视频服务器之间网络正常,因此N2和N3都会按照正常的速度在增长。这样,N2会逐渐逼近N1,直至与N1相等时,播放器客户端便无法再从视频服务器处获取数据,此时可能会引发播放器客户端向视频服务器发起无效回源请求。
[0024] 2)视频服务器与播放器客户端之间出现网络波动,导致播放器客户端无法及时地下载视频片段。此时,由于视频编号同步时设计的数据量较小,因此N1的增长速度并不会受到太大影响,N1会正常增长。而由于下载速度变慢,从而导致N2的增长速度放缓。由于在播放器客户端中会按照正常的速度播放已经下载的视频片段,因此N3的增长速度也会正常。这样会导致N1和N2之间的差距越来越大,而N2与N3之间的差距越来越小。当N3与N2相等时,用户观看的画面便会频繁地卡顿,原因在于只有在下载完视频片段后才能向用户播放。这样的情况尽管不会导致发起无效回源请求,但是会严重影响用户的观看体验。此外,就算网络恢复正常,N1和N2之间的差距也已经变得很大,这样导致的问题就是用户观看到的内容会与主播当前实际录制的内容存在相当大的延时,失去了直播的意义。
[0025] 上述的两种情况只是本申请中的例举,并非表示实际场景中仅会存在上述两种情况。
[0026] 鉴于此,本申请中的播放器客户端可以根据第一编号、第二编号以及第三编号,确定待跳转的目标视频片段。所述目标视频片段可能与当前正在播出的视频片段之间存在一定的间隔,因此,在确定出所述目标视频片段之后,可以从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。这样处理的目的在于,始终保持当前正在播出的视频片段与最新完成编号的视频片段之间相隔一定的间距,一方面保证不会由于没有视频片段播放而产生无效回源请求,另一方面还可以保证用户观看直播视频的实时性,再者还能使得视频服务器中有足够的时间完成视频流的审核过程。
[0027] 在本实施方式中,所述追帧单元304可以基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;其中,所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
[0028] 具体地,所述追帧方式可以通过数值来表示,例如,1可以表示前进追帧,-1可以表示后退追帧,0可以表示不追帧。在本实施方式中,所述追帧单元中可以包括追帧方式确定模,所述追帧方式确定模块可以根据所述第一编号、所述第二编号以及所述第三编号计算追帧值。具体地,在本实施方式中可以通过函数拟合的方式来计算追帧值。例如,所述函数拟合后的结果可以是:
[0029] X=a·N1+b·N2+c·N3+D
[0030] 其中,X表示所述追帧值,a、b、c分别为拟合系数,D表示偏置值。
[0031] 在本实施方式中,所述拟合系数和偏置值均可以为常数,例如,所述拟合系数可以分别为1、-1和0,所述偏置值也可以为0。这样,假设N1(参数值,下文同)为30,N2(参数值,下文同)为15,N3(参数值,下文同)为13,那么计算出的追帧值可以为15。在本实施例中,第一阈值和第二阈值的含义是指,下载第二编号和视频服务器第一编号之间的差值的最大值和最小值。
[0032] 在本实施方式中,可以将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。而当所述追帧值处于第一阈值和第二阈值之间时,便可以不进行追帧操作。
[0033] 例如,所述第一阈值可以为10,所述第二阈值可以为3,这样,上述计算出的追帧值为15,大于第一阈值,从而可以确定当前采用前进追帧的方式。这样处理的目的在于,视频片段的最新编号为30,而最新完成下载的视频片段的编号仅为15,当前正在播放的视频片段的编号仅为13,表明当前正在下载的视频片段与主播实际录制的视频片段之间相差太大了,直播已经不具备实时性了,此时可以直接前进追帧,从距离N1较近的视频片段处开始播放,从而保证直播视频的实时性。由此可见,这种方式可以解决上述的情况2)中产生的直播失去实时性的问题。
[0034] 在另一个例子中,假设N1为30,N2为28,N3为26,那么计算出的追帧值可以为2,小于第二阈值,从而可以确定当前采用后退追帧的方式。这样处理的目的在于,视频片段的最新编号为30,而最新完成下载的视频片段的编号已达到28,当前正在播放的视频片段的编号也已经达到26,表明当前正在播放的视频片段已经十分接近主播推送的最新视频片段。这样的话,主播推送的视频片段很有可能来不及审核就被播放出去了,甚至会出现N2逼近N1的情况,导致无效回源请求的发生。这样,按照本申请的方案,可以采用后退追帧的方式,从距离N1较远的视频片段处开始播放,从而使得当前正在播放的视频片段与主播最新推送的视频片段之间保持一定的距离,不仅为视频片段的审核争取了时间,也避免了由于无内容可播时导致的无效回源请求的发生。
[0035] 在本实施方式中,在确定了追帧方式之后,还可以进一步确定追帧之后的目标视频片段。具体地,所述追帧单元中可以包括目标视频片段确定模块,所述目标视频片段确定模块可以用于根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。在本实施方式中同样可以通过函数拟合的方式来计算所述目标编号。例如,所述函数拟合后的结果可以是:
[0036] Y=d·N1+e·N2+f·N3-H
[0037] 其中,Y表示所述目标编号,d、e、f分别为拟合系数,H表示指定延时参数。
[0038] 在本实施方式中,所述拟合系数和指定延时参数均可以为常数,例如,所述拟合系数可以分别为1、0和0,所述指定延时参数可以为6。这样,假设N1为30,N2为15,N3为13,那么计算出的目标编号可以为30-6=24。由上可知,需要追赶至视频编号为24的视频片段处。这样,可以从视频编号为24的视频片段处开始下载和播放的过程,从而缩小当前正在播放的视频片段与最新完成编号的视频片段之间的距离,以保证直播视频的实时性。
[0039] 需要说明的是,上述的目标编号是根据指定延时参数进行延时的编号。在实际应用过程中,所述指定延时参数也可以为0,本申请对此并不做限定。也就是说,所述目标视频片段确定模块可以根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段;还可以在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,按照所述追帧方式追赶所述经过延时的目标编号,并将所述经过延时的目标编号对应的视频片段作为所述目标视频片段。
[0040] 在本实施方式中,在确定出目标视频片段后,如果所述目标视频片段与当前正在播放的视频片段的编号不同,则可以从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
[0041] 在本实施方式中,所述追帧单元还可以用于将所述目标视频片段的编号发送至所述视频下载单元,这样,所述视频下载单元便可以按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
[0042] 需要说明的是,为了保证视频直播的合法性,当本申请中的审核处理单元识别出的内容属于违禁内容时,所述审核处理单元可以向所述视频编号单元以及所述播放器客户端发送停止指令,以使得所述视频编号单元停止切片和编号的操作,并使得所述播放器客户端停止播放视频。
[0043] 实施例二
[0044] 本申请还提供一种实现直播视频同步的播放器客户端,所述播放器客户端与视频服务器保持通信连接,所述播放器客户端用于与所述视频服务器中的视频编号保持同步,其中,每个所述视频编号与一个视频片段相关联;从所述视频服务器中下载待播放的视频片段;根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
[0045] 在本实施方式中,所述播放器客户端包括编号同步单元、视频下载单元以及视频播放单元,其中:
[0046] 所述编号同步单元,用于从所述视频服务器中读取生成的视频编号,并存储读取的所述视频编号;
[0047] 所述视频下载单元,用于按照视频编号从小到大的顺序,依次从所述视频服务器中下载完成切片的视频片段,并存储下载的所述视频片段;
[0048] 所述视频播放单元,用于从所述视频下载单元中读取并播放完成下载的视频片段。
[0049] 在本实施方式中,所述播放器客户端中还包括追帧单元,所述追帧单元用于接收所述编号同步单元发来的最新同步的第一编号、接收所述视频下载单元发来的完成下载的最新视频片段的第二编号并且接收所述视频播放单元发来的当前正在播放的视频片段的第三编号;基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
[0050] 在本实施方式中,所述追帧单元中包括追帧方式确定模块,所述追帧方式确定模块用于根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
[0051] 在本实施方式中,所述追帧单元中还包括目标视频片段确定模块,所述目标视频片段确定模块用于根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
[0052] 在本实施方式中,所述目标视频片段确定模块还包括延时参数设定模块,用于在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,按照所述追帧方式追赶所述经过延时的目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
[0053] 在本实施方式中,所述追帧单元还用于将所述追帧方式和/或所述目标视频片段的编号发送至所述视频下载单元;
[0054] 相应地,所述视频下载单元还用于按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
[0055] 实施例三
[0056] 请参阅图3,本申请还提供一种实现直播视频同步的方法,所述方法包括:
[0057] S1:直播视频源向视频服务器推送视频流;
[0058] S2:所述视频服务器将所述视频流进行切片,并按照时间顺序为切片后的视频片段设置视频编号;
[0059] S3:播放器客户端与所述视频服务器中的视频编号保持同步,并从所述视频服务器中下载待播放的视频片段;
[0060] S4:所述播放器客户端根据最新同步的第一编号、完成下载的最新视频片段的第二编号以及当前正在播放的视频片段的第三编号,确定待跳转的目标视频片段,并从当前正在播放的视频片段跳转至所述目标视频片段以继续播放。
[0061] 在本实施方式中,所述方法还包括:
[0062] 所述播放器客户端基于所述第一编号、所述第二编号以及所述第三编号,确定追帧信息;所述追帧信息中包括追帧方式和/或目标视频片段的编号;所述追帧方式包括后退追帧或者前进追帧。
[0063] 在本实施方式中,所述追帧方式按照下述方式确定:
[0064] 根据所述第一编号、所述第二编号以及所述第三编号计算追帧值,并将所述追帧值分别与第一阈值和第二阈值进行对比,其中,所述第一阈值大于所述第二阈值;
[0065] 当所述追帧值大于所述第一阈值时,确定当前采用前进追帧的方式,以减小所述第一编号和所述第三编号之间的差值;当所述追帧值小于所述第二阈值时,确定当前采用后退追帧的方式,以增加所述第一编号和所述第三编号之间的差值。
[0066] 在本实施方式中,所述目标视频片段按照下述方式确定:
[0067] 根据所述第一编号、所述第二编号以及所述第三编号计算目标编号,按照所述追帧方式追赶所述目标编号,并将所述目标编号对应的视频片段作为所述目标视频片段。
[0068] 在本实施方式中,所述方法还包括:
[0069] 在计算出的所述目标编号的基础上减去指定延时参数,得到经过延时的目标编号,并按照所述追帧方式追赶所述经过延时的目标编号,将所述目标编号对应的视频片段作为所述目标视频片段。
[0070] 在本实施方式中,所述方法还包括:
[0071] 按照所述追帧方式定位至所述目标视频片段的编号处,并从所述目标视频片段的编号处开始下载视频片段。
[0072] 由上可见,在本申请中,视频服务器可以按照时间顺序将直播视频源推送的视频流进行切片和编号,这样,根据视频片段的编号,便可以确定视频片段在整个视频流中所处的位置。播放器客户端在播放直播内容时,可以与视频服务器保持视频编号的同步,这样,在播放器客户端中可以存储最新同步的第一编号。此外,播放器客户端在从视频服务器中下载视频片段时,同样可以记录最新完成下载的视频片段的第二编号。同时,在播放器客户端按照顺序播放视频片段时,可以记录当前正在播放的视频片段的第三编号。在本申请中,对上述的第一编号、第二编号以及第三编号进行分析后,可以确定出当前应当播放的目标视频片段。这样确定出的目标视频片段可以与视频服务器中最新完成编号的视频片段之间保持一定的延时。因此,在确定出所述目标视频片段后,可以直接从当前正在播放的视频片段跳转至所述目标视频片段,从而能够时刻保证当前正在播放的视频片段与最新完成编号的视频片段之间存在一定的延时。这样,能够使得播放器客户端始终处于播放状态,不会由于获取不到视频数据而向视频服务器发送无效回源请求,从而减轻了视频服务器的负载。此外,由于当前正在播放的视频片段与最新完成编号的视频片段之间始终存在一定的延时,从而使得直播视频源推送的视频流在视频服务器中有足够的时间完成审核,从而保证了播放器客户端播出的内容均为合法的内容。而且,在播放客户端出现网络抖动导致卡顿时,播放器可以自动的跳转到新的目标视频片段进行播放下载,避免了客户端因为网络抖动越播越慢,有效的提升了用户体验。
[0073] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0074] 以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0075] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0076] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈