播放控制方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种播放控制方法及装置。
背景技术
随着互联网的快速发展,目前人们可以通过手机、平板电脑、虚拟现实眼镜或者虚拟现实头盔等设备观看视频。同时,用户之间的互动也越来越多,例如,用户观看直播视频时,可以与主播互动,还可以发弹幕、送礼物等。目前,当多人通过不同的终端观看直播视频时,若某一终端出现卡顿现象,则往往从卡顿处继续播放。在这种方法中,若该终端产生多次卡顿,则将导致该终端相对于其他终端的延迟越来越大,从而导致多个终端的播放不同步,进而可能导致终端用户之间产生沟通障碍。在另一种方法中,若某一终端出现卡顿现象,则在卡顿后从最新的视频流开始播放,这种方法将导致该终端漏播卡顿过程中的视频片段。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,现有的播放控制技术不能在保证多终端均不漏播各个视频片段的前提下,保持多终端的播放同步。
解决方案
为了解决上述技术问题,根据本发明的一实施例,提供了一种播放控制方法,包括;
获取播放同一视频的多个终端中至少一个终端的播放状态;
在所述播放状态满足预设条件的情况下,控制所述多个终端中至少一个终端的播放进度。
对于上述方法,在一种可能的实现方式中,获取播放同一视频的多个终端中至少一个终端的播放状态,包括:
获取所述多个终端播放所述同一视频的播放进度,并根据所述多个终端的播放进度从所述多个终端中确定参考终端;
在所述播放状态满足预设条件的情况下,控制所述多个终端中至少一个终端的播放进度,包括:
分别计算所述多个终端中的各个终端与所述参考终端的播放进度之间的差值;在所述多个终端中的第一终端与所述参考终端的播放进度之间的差值大于第一预设值的情况下,根据所述第一终端与所述参考终端的播放进度之间的差值向所述第一终端发送调整播放进度的指令,以使所述第一终端根据所述调整播放进度的指令调整播放速度,直至所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,其中,所述第一终端为所述多个终端中除所述参考终端以外的任意一个终端。
对于上述方法,在一种可能的实现方式中,根据所述多个终端的播放进度从所述多个终端中确定参考终端,包括:
将所述多个终端中播放进度最慢的终端确定为参考终端;或者,
将所述多个终端中播放进度最快的终端确定为参考终端。
对于上述方法,在一种可能的实现方式中,所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,包括:
所述第一终端与所述参考终端的播放进度之间的差值为0;或者,
所述第一终端与所述参考终端的播放进度之间的差值小于或等于第二预设值,其中,所述第二预设值根据所述第一预设值确定,且所述第二预设值小于所述第一预设值。
对于上述方法,在一种可能的实现方式中,在所述播放状态满足预设条件的情况下,控制所述多个终端中至少一个终端的播放进度,包括:
在检测到所述多个终端中的第二终端的播放状态满足第二预设条件的情况下,向所述多个终端中除所述第二终端以外的其他终端发送暂停播放的指令,以使所述其他终端暂停播放所述视频,其中,所述第二终端为所述多个终端中的任意一个终端;
向所述其他终端发送请求投票的信息,以使所述其他终端根据所述请求投票的信息返回投票结果,其中,所述请求投票的信息用于请求所述其他终端中的各个终端投票是否等待所述第二终端;
对接收的各个投票结果进行统计,得到统计结果;
在根据所述统计结果确定不等待所述第二终端的情况下,向所述其他终端发送继续播放的指令,以使所述其他终端继续播放所述视频。
对于上述方法,在一种可能的实现方式中,第二终端的播放状态满足第二预设条件,包括:
所述第二终端暂停播放所述视频;和/或,
所述第二终端断开与服务器的连接。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种播放控制方法,包括:
获取第一终端播放视频的播放状态,并向服务器发送所述第一终端的播放状态,以使所述服务器在播放同一视频的多个终端中的至少一个终端的播放状态满足预设条件的情况下返回播放控制指令,其中,所述多个终端包括所述第一终端;
接收来自于所述服务器的播放控制指令,并根据所述播放控制指令进行播放控制。
对于上述方法,在一种可能的实现方式中,获取第一终端播放视频的播放状态,并向服务器发送所述第一终端的播放状态,包括:
获取所述第一终端播放所述视频的播放进度,并向所述服务器发送所述第一终端的播放进度,以使所述服务器计算所述第一终端与参考终端的播放进度之间的差值,其中,所述多个终端包括所述参考终端;
接收来自于所述服务器的播放控制指令,并根据所述播放控制指令进行播放控制,包括:
在所述第一终端与所述参考终端的播放进度之间的差值大于第一预设值的情况下,接收来自于所述服务器的调整播放进度的指令;根据所述调整播放进度的指令调整播放速度,直至所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件。
对于上述方法,在一种可能的实现方式中,根据所述调整播放进度的指令调整播放速度,包括:
在所述参考终端的播放进度慢于所述第一终端的情况下,根据所述调整播放进度的指令调慢播放速度;
在所述参考终端的播放进度快于所述第一终端的情况下,根据所述调整播放进度的指令调快播放速度。
对于上述方法,在一种可能的实现方式中,所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,包括:
所述第一终端与所述参考终端的播放进度之间的差值为0;或者,
所述第一终端与所述参考终端的播放进度之间的差值小于或等于第二预设值,其中,所述第二预设值根据所述第一预设值确定,且所述第二预设值小于所述第一预设值。
对于上述方法,在一种可能的实现方式中,接收来自于所述服务器的播放控制指令,并根据所述播放控制指令进行播放控制,包括:
在接收到来自于所述服务器的暂停播放的指令的情况下,根据所述暂停播放的指令暂停播放所述视频。
对于上述方法,在一种可能的实现方式中,所述方法还包括:
接收来自于所述服务器的请求投票的信息,并根据所述请求投票的信息向所述服务器返回投票结果。
对于上述方法,在一种可能的实现方式中,接收来自于所述服务器的播放控制指令,并根据所述播放控制指令进行播放控制,包括:
在接收到来自于所述服务器的继续播放的指令的情况下,根据所述继续播放的指令继续播放所述视频。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种播放控制装置,包括;
播放状态获取模块,用于获取播放同一视频的多个终端中至少一个终端的播放状态;
播放控制模块,用于在所述播放状态满足预设条件的情况下,控制所述多个终端中至少一个终端的播放进度。
对于上述装置,在一种可能的实现方式中,所述播放状态获取模块包括:
参考终端确定子模块,用于获取所述多个终端播放所述同一视频的播放进度,并根据所述多个终端的播放进度从所述多个终端中确定参考终端;
所述播放控制模块包括:
第一播放控制子模块,用于分别计算所述多个终端中的各个终端与所述参考终端的播放进度之间的差值;在所述多个终端中的第一终端与所述参考终端的播放进度之间的差值大于第一预设值的情况下,根据所述第一终端与所述参考终端的播放进度之间的差值向所述第一终端发送调整播放进度的指令,以使所述第一终端根据所述调整播放进度的指令调整播放速度,直至所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,其中,所述第一终端为所述多个终端中除所述参考终端以外的任意一个终端。
对于上述装置,在一种可能的实现方式中,所述参考终端确定子模块用于:
将所述多个终端中播放进度最慢的终端确定为参考终端;或者,
将所述多个终端中播放进度最快的终端确定为参考终端。
对于上述装置,在一种可能的实现方式中,所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,包括:
所述第一终端与所述参考终端的播放进度之间的差值为0;或者,
所述第一终端与所述参考终端的播放进度之间的差值小于或等于第二预设值,其中,所述第二预设值根据所述第一预设值确定,且所述第二预设值小于所述第一预设值。
对于上述装置,在一种可能的实现方式中,所述播放控制模块包括:
第二播放控制子模块,用于在检测到所述多个终端中的第二终端的播放状态满足第二预设条件的情况下,向所述多个终端中除所述第二终端以外的其他终端发送暂停播放的指令,以使所述其他终端暂停播放所述视频,其中,所述第二终端为所述多个终端中的任意一个终端;向所述其他终端发送请求投票的信息,以使所述其他终端根据所述请求投票的信息返回投票结果,其中,所述请求投票的信息用于请求所述其他终端中的各个终端投票是否等待所述第二终端;对接收的各个投票结果进行统计,得到统计结果;在根据所述统计结果确定不等待所述第二终端的情况下,向所述其他终端发送继续播放的指令,以使所述其他终端继续播放所述视频。
对于上述装置,在一种可能的实现方式中,第二终端的播放状态满足第二预设条件,包括:
所述第二终端暂停播放所述视频;和/或,
所述第二终端断开与服务器的连接。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种播放控制装置,包括:
播放状态获取与发送子模块,用于获取第一终端播放视频的播放状态,并向服务器发送所述第一终端的播放状态,以使所述服务器在播放同一视频的多个终端中的至少一个终端的播放状态满足预设条件的情况下返回播放控制指令,其中,所述多个终端包括所述第一终端;
播放控制模块,用于接收来自于所述服务器的播放控制指令,并根据所述播放控制指令进行播放控制。
对于上述装置,在一种可能的实现方式中,所述播放状态获取与发送子模块包括:
播放进度获取与发送子模块,用于获取所述第一终端播放所述视频的播放进度,并向所述服务器发送所述第一终端的播放进度,以使所述服务器计算所述第一终端与参考终端的播放进度之间的差值,其中,所述多个终端包括所述参考终端;
所述播放控制模块包括:
播放速度调整子模块,用于在所述第一终端与所述参考终端的播放进度之间的差值大于第一预设值的情况下,接收来自于所述服务器的调整播放进度的指令;根据所述调整播放进度的指令调整播放速度,直至所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件。
对于上述装置,在一种可能的实现方式中,所述播放速度调整子模块用于:
在所述参考终端的播放进度慢于所述第一终端的情况下,根据所述调整播放进度的指令调慢播放速度;
在所述参考终端的播放进度快于所述第一终端的情况下,根据所述调整播放进度的指令调快播放速度。
对于上述装置,在一种可能的实现方式中,所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,包括:
所述第一终端与所述参考终端的播放进度之间的差值为0;或者,
所述第一终端与所述参考终端的播放进度之间的差值小于或等于第二预设值,其中,所述第二预设值根据所述第一预设值确定,且所述第二预设值小于所述第一预设值。
对于上述装置,在一种可能的实现方式中,所述播放控制模块包括:
控制暂停播放子模块,用于在接收到来自于所述服务器的暂停播放的指令的情况下,根据所述暂停播放的指令暂停播放所述视频。
对于上述装置,在一种可能的实现方式中,所述装置还包括:
投票模块,用于接收来自于所述服务器的请求投票的信息,并根据所述请求投票的信息向所述服务器返回投票结果。
对于上述装置,在一种可能的实现方式中,所述播放控制模块包括:
控制继续播放子模块,用于在接收到来自于所述服务器的继续播放的指令的情况下,根据所述继续播放的指令继续播放所述视频。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种播放控制装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取播放同一视频的多个终端中至少一个终端的播放状态;
在所述播放状态满足预设条件的情况下,控制所述多个终端中至少一个终端的播放进度。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种播放控制装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取第一终端播放视频的播放状态,并向服务器发送所述第一终端的播放状态,以使所述服务器在播放同一视频的多个终端中的至少一个终端的播放状态满足预设条件的情况下返回播放控制指令,其中,所述多个终端包括所述第一终端;
接收来自于所述服务器的播放控制指令,并根据所述播放控制指令进行播放控制。
有益效果
通过获取播放同一视频的多个终端中至少一个终端的播放状态,在播放状态满足预设条件的情况下,控制多个终端的播放进度,根据本发明实施例的播放控制方法及装置对于播放同一视频的多个终端,能够在保证多终端均不漏播各个视频片段的前提下,保持多终端的播放同步,从而使观看同一视频的用户之间互动时,不会由于视频播放不同步而导致沟通障碍,从而能够提高用户体验。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出根据本发明一实施例的播放控制方法的实现流程图;
图2示出根据本发明一实施例的播放控制方法的一示例性的实现流程图;
图3示出根据本发明一实施例的播放控制方法的一示例性的实现流程图;
图4示出根据本发明另一实施例的播放控制方法的实现流程图;
图5示出根据本发明另一实施例的播放控制方法的一示例性的实现流程图;
图6示出根据本发明另一实施例的播放控制方法的一示例性的实现流程图;
图7示出根据本发明另一实施例的播放控制装置的结构框图;
图8示出根据本发明另一实施例的播放控制装置的一示例性的结构框图;
图9示出根据本发明另一实施例的播放控制装置的结构框图;
图10示出根据本发明另一实施例的播放控制装置的一示例性的结构框图;
图11示出了本发明的另一个实施例的一种播放控制设备的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图1示出根据本发明一实施例的播放控制方法的实现流程图。本实施例的执行主体可以为服务器,在此不作限定。如图1所示,该方法包括:
在步骤S101中,获取播放同一视频的多个终端中至少一个终端的播放状态。
在本实施例中,多个终端同时播放同一视频,换言之,分别使用多个终端的多个用户同时观看同一视频。在一种可能的实现方式中,多个终端可以进入同一虚拟观影房间,在同一虚拟观影房间中的多个终端观看同一视频。服务器可以将处于同一虚拟观影房间的多个终端相关联,以保持处于同一虚拟观影房间的多个终端的播放同步。
本实施例中所述的同步,可以为以下任意一种情况:多个终端之间的播放进度接近;多个终端中的大部分终端之间的播放进度接近;多个终端之间的播放进度相同;多个终端中的大部分终端之间的播放进度相同,在此不作限定。本领域技术人员也可以根据需求设置同步条件,在此不作限定。
作为本实施例的一个示例,播放同一视频的多个终端可以每隔预设时间向服务器发送终端的播放状态,以使服务器获取播放同一视频的多个终端中至少一个终端的播放状态。其中,终端的播放状态可以包括终端的播放进度、终端是否处于暂停播放的状态以及终端与服务器的连接状态中的一种或多种。
在步骤S102中,在播放状态满足预设条件的情况下,控制多个终端中至少一个终端的播放进度。
其中,播放状态满足预设条件可以为,多个终端中的某两个终端之间的播放进度之间的差值大于第一预设值,或者多个终端中的某一终端暂停播放该视频,或者多个终端中的某一终端断开与服务器的连接,在此不作限定。后文将对播放状态满足预设条件以及控制多个终端中的至少一个终端的播放进度进行介绍,在此不再赘述。
根据本实施例的播放控制方法对于播放同一视频的多个终端,能够在保证多终端均不漏播各个视频片段的前提下,保持多终端的播放同步,从而使观看同一视频的用户之间互动时,不会由于视频播放不同步而导致沟通障碍,从而能够提高用户体验。
图2示出根据本发明一实施例的播放控制方法的一示例性的实现流程图。如图2所示,该方法包括:
在步骤S201中,获取多个终端播放同一视频的播放进度,并根据多个终端的播放进度从多个终端中确定参考终端。
在该示例中,获取播放同一视频的多个终端中至少一个终端的播放状态包括:获取多个终端播放同一视频的播放进度。在该示例中,播放同一视频的多个终端可以每隔预设时间向服务器发送终端的播放进度,以使服务器可以获取播放同一视频的各个终端的播放进度。
在一种可能的实现方式中,根据多个终端的播放进度从多个终端中确定参考终端,包括:将多个终端中播放进度最慢的终端确定为参考终端。
在另一种可能的实现方式中,根据多个终端的播放进度从多个终端中确定参考终端,包括:将多个终端中播放进度最快的终端确定为参考终端。
在一种可能的实现方式中,该方法还包括:获取各个终端播放该视频的播放进度对应的时间戳。通过获取各个终端播放该视频的播放进度对应的时间戳,能够根据时间戳与播放进度的对应关系,确定各个终端播放同一视频的播放进度的快慢。
在步骤S202中,分别计算多个终端中的各个终端与参考终端的播放进度之间的差值。
例如,若将多个终端中播放进度最慢的终端确定为参考终端,则通过计算多个终端中的各个终端与参考终端的播放进度之间的差值,可以分别确定各个终端比参考终端的播放进度快多少。若将多个终端中播放进度最快的终端确定为参考终端,则通过计算多个终端中的各个终端与参考终端的播放进度之间的差值,可以分别确定各个终端比参考终端的播放进度慢多少。
在一种可能的实现方式中,还可以结合网络延迟等数据分别计算多个终端中的各个终端与参考终端的播放进度之间的差值。
在步骤S203中,在多个终端中的第一终端与参考终端的播放进度之间的差值大于第一预设值的情况下,根据第一终端与参考终端的播放进度之间的差值向第一终端发送调整播放进度的指令,以使第一终端根据调整播放进度的指令调整播放速度,直至第一终端与参考终端的播放进度之间的差值满足第一预设条件,其中,第一终端为多个终端中除参考终端以外的任意一个终端。
通过调整终端的播放速度来使多个终端之间的播放同步,由此提供了一种较平缓的同步方式,使用户不容易感知由同步播放进度带来的影响,使用户不感到突兀,从而能够提高用户体验。
在一种可能的实现方式中,第一终端与参考终端的播放进度之间的差值满足第一预设条件,包括:第一终端与参考终端的播放进度之间的差值为0。例如,参考终端为多个终端中播放进度最慢的终端,第一预设值为2秒。若第一终端比参考终端的播放进度快3秒,则第一终端与参考终端的播放进度之间的差值大于第一预设值,且第一终端的播放进度需要调慢3秒,以使第一终端与参考终端的播放进度之间的差值为0。在这种情况下,可以向第一终端发送调慢播放速度的指令,例如,该调慢播放速度的指令可以为将播放速度降低25%,降低播放速度的时间为12秒,由此可以使第一终端对于接下来需要播放的9秒视频在12秒内播放完毕。
在另一种可能的实现方式中,第一终端与参考终端的播放进度之间的差值满足第一预设条件,包括:第一终端与参考终端的播放进度之间的差值小于或等于第二预设值,其中,第二预设值根据第一预设值确定,且第二预设值小于第一预设值。例如,参考终端为多个终端中播放进度最慢的终端,第一预设值为2秒,第二预设值为第一预设值的一半,即第二预设值为1秒。若第一终端比参考终端的播放进度快3秒,则第一终端与参考终端的播放进度之间的差值大于第一预设值,且第一终端的播放进度需要调慢2秒,以使第一终端与参考终端的播放进度之间的差值小于或等于第二预设值。在这种情况下,可以向第一终端发送调慢播放速度的指令,例如,该调慢播放速度的指令可以为将播放速度降低25%,降低播放速度的时间为8秒,由此可以使第一终端对于接下来需要播放的6秒视频在8秒内播放完毕。
图3示出根据本发明一实施例的播放控制方法的一示例性的实现流程图。如图3所示,该方法包括:
在步骤S301中,获取播放同一视频的多个终端中至少一个终端的播放状态。
在步骤S302中,在检测到多个终端中的第二终端的播放状态满足第二预设条件的情况下,向多个终端中除第二终端以外的其他终端发送暂停播放的指令,以使其他终端暂停播放该视频,其中,第二终端为多个终端中的任意一个终端。
在一种可能的实现方式中,第二终端的播放状态满足第二预设条件,包括:第二终端暂停播放该视频;和/或,第二终端断开与服务器的连接。
作为本实施例的一个示例,在检测到多个终端中的第二终端暂停播放该视频的情况下,向多个终端中除第二终端以外的其他终端发送暂停播放的指令,以使其他终端暂停播放该视频。
作为本实施例的另一个示例,在检测多个终端中的第二终端断开与服务器的连接的情况下,向多个终端中除第二终端以外的其他终端发送暂停播放的指令,以使其他终端暂停播放该视频。
在步骤S303中,向其他终端发送请求投票的信息,以使其他终端根据请求投票的信息返回投票结果,其中,请求投票的信息用于请求其他终端中的各个终端投票是否等待第二终端。
在一种可能的实现方式中,投票结果可以包括继续等待第二终端、不等待第二终端和弃权中的任意一种。
在步骤S304中,对接收的各个投票结果进行统计,得到统计结果。
作为本实施例的一个示例,可以在继续等待第二终端的票数大于不等待第二终端的票数的情况下,确定统计结果为继续等待第二终端;可以在继续等待第二终端的票数小于或等于不等待第二终端的票数的情况下,确定统计结果为不等待第二终端。
在步骤S305中,在根据统计结果确定不等待第二终端的情况下,向其他终端发送继续播放的指令,以使其他终端继续播放该视频。
这样,通过在检测到多个终端中的第二终端的播放状态满足第二预设条件的情况下,向多个终端中除第二终端以外的其他终端发送暂停播放的指令,以使其他终端暂停播放该视频,能够在多个终端中的第二终端暂停播放该视频或者掉线的情况下,使多个终端中除第二终端以外的其他终端获得第二终端的播放状态满足第二预设条件的通知,并暂停播放该视频,以与第二终端的播放保持同步。通过向其他终端发送请求投票的信息,以使其他终端根据请求投票的信息返回投票结果,对接收的各个投票结果进行统计,得到统计结果,并在根据统计结果确定不等待第二终端的情况下,向其他终端发送继续播放的指令,以使其他终端继续播放该视频,能够在多个终端中的第二终端暂停播放该视频或者掉线的情况下,由多个终端中除第二终端以外的其他终端投票决定是否继续等待第二终端,从而能够提高多用户观看同一视频的体验。
实施例2
图4示出根据本发明另一实施例的播放控制方法的实现流程图。本实施例的执行主体可以为手机、平板电脑、笔记本电脑或者PC(Personal Computer,个人计算机)等,在此不作限定。该方法可以应用于第一终端中,第一终端可以为播放同一视频的多个终端中的任意一个终端。如图4所示,该方法包括:
在步骤S401中,获取第一终端播放视频的播放状态,并向服务器发送第一终端的播放状态,以使服务器在播放同一视频的多个终端中的至少一个终端的播放状态满足预设条件的情况下返回播放控制指令,其中,多个终端包括第一终端。
在一种可能的实现方式中,第一终端可以与其他终端进入同一虚拟观影房间,在同一虚拟观影房间中的多个终端观看同一视频。
在本实施例中,第一终端可以每隔预设时间获取第一终端播放该视频的播放状态,并向服务器发送第一终端的播放状态。其中,第一终端的播放状态可以包括第一终端的播放进度、第一终端是否处于暂停播放的状态以及第一终端与服务器的连接状态中的一种或多种。
其中,播放状态满足预设条件可以为,第一终端与参考终端之间的播放进度之间的差值大于第一预设值,或者多个终端中的某一终端暂停播放该视频,或者多个终端中的某一终端断开与服务器的连接,在此不作限定。
在步骤S402中,接收来自于服务器的播放控制指令,并根据播放控制指令进行播放控制。
在本实施例中,在接收到来自于服务器的播放控制指令的情况下,根据播放控制指令进行播放控制,由此可以保持与处于同一虚拟观影房间的其他终端的播放同步。
本实施例中所述的同步,可以为以下任意一种情况:多个终端之间的播放进度接近;多个终端中的大部分终端之间的播放进度接近;多个终端之间的播放进度相同;多个终端中的大部分终端之间的播放进度相同。本领域技术人员也可以根据需求设置同步条件,在此不作限定。
根据本实施例的播放控制方法对于播放同一视频的多个终端,能够在保证多终端均不漏播各个视频片段的前提下,保持多终端的播放同步,从而使观看同一视频的用户之间互动时,不会由于视频播放不同步而导致沟通障碍,从而能够提高用户体验。
图5示出根据本发明另一实施例的播放控制方法的一示例性的实现流程图。如图5所示,该方法包括:
在步骤S501中,获取第一终端播放该视频的播放进度,并向服务器发送第一终端的播放进度,以使服务器计算第一终端与参考终端的播放进度之间的差值,其中,多个终端包括所示第一终端和参考终端。
在该示例中,获取第一终端播放视频的播放状态包括:获取第一终端播放该视频的播放进度。在该示例中,第一终端可以每隔预设时间获取第一终端播放该视频的播放进度,并向服务器发送第一终端的播放进度。
在一种可能的实现方式中,该方法还包括:获取第一终端播放该视频的播放进度对应的时间戳,并向服务器发送第一终端的播放进度与时间戳的对应关系。通过获取第一终端播放该视频的播放进度对应的时间戳,并向服务器发送第一终端的播放进度与时间戳的对应关系,能够使服务器根据时间戳与播放进度的对应关系,确定各个终端播放同一视频的播放进度的快慢。
在步骤S502中,在第一终端与参考终端的播放进度之间的差值大于第一预设值的情况下,接收来自于服务器的调整播放进度的指令。
在该示例中,在第一终端与参考终端的播放进度之间的差值大于第一预设值的情况下,服务器向第一终端发送调整播放进度的指令,第一终端接收来自于服务器的调整播放进度的指令。
在步骤S503中,根据调整播放进度的指令调整播放速度,直至第一终端与参考终端的播放进度之间的差值满足第一预设条件。
在一种可能的实现方式中,根据调整播放进度的指令调整播放速度,包括:在参考终端的播放进度慢于第一终端的情况下,根据调整播放进度的指令调慢播放速度。
在另一种可能的实现方式中,根据调整播放进度的指令调整播放速度,包括:在参考终端的播放进度快于第一终端的情况下,根据调整播放进度的指令调快播放速度。
在一种可能的实现方式中,第一终端与参考终端的播放进度之间的差值满足第一预设条件,包括:第一终端与参考终端的播放进度之间的差值为0。例如,参考终端的播放进度慢于第一终端,第一预设值为2秒。若第一终端比参考终端的播放进度快3秒,则第一终端与参考终端的播放进度之间的差值大于第一预设值,且第一终端的播放进度需要调慢3秒,以使第一终端与参考终端的播放进度之间的差值为0。在这种情况下,可以接收来自于服务器的调慢播放速度的指令,例如,该调慢播放速度的指令可以为将播放速度降低25%,降低播放速度的时间为12秒,由此可以使第一终端对于接下来需要播放的9秒视频在12秒内播放完毕。
在另一种可能的实现方式中,第一终端与参考终端的播放进度之间的差值满足第一预设条件,包括:第一终端与参考终端的播放进度之间的差值小于或等于第二预设值,其中,第二预设值根据第一预设值确定,且第二预设值小于第一预设值。例如,参考终端的播放进度慢于第一终端,第一预设值为2秒,第二预设值为第一预设值的一半,即第二预设值为1秒。若第一终端比参考终端的播放进度快3秒,则第一终端与参考终端的播放进度之间的差值大于第一预设值,且第一终端的播放进度需要调慢2秒,以使第一终端与参考终端的播放进度之间的差值小于或等于第二预设值。在这种情况下,可以接收来自于服务器的调慢播放速度的指令,例如,该调慢播放速度的指令可以为将播放速度降低25%,降低播放速度的时间为8秒,由此可以使第一终端对于接下来需要播放的6秒视频在8秒内播放完毕。
在一种可能的实现方式中,接收来自于服务器的播放控制指令,并根据播放控制指令进行播放控制,包括:在接收到来自于服务器的暂停播放的指令的情况下,根据暂停播放的指令暂停播放该视频。
在一种可能的实现方式中,该方法还包括:接收来自于服务器的请求投票的信息,并根据请求投票的信息向服务器返回投票结果。其中,请求投票的信息可以用于处于同一虚拟观影房间的多个终端中的各个终端分别投票是否等待第二终端。投票结果可以包括继续等待第二终端、不等待第二终端和弃权中的任意一种。
在一种可能的实现方式中,接收来自于服务器的播放控制指令,并根据播放控制指令进行播放控制,包括:在接收到来自于服务器的继续播放的指令的情况下,根据继续播放的指令继续播放该视频。
图6示出根据本发明另一实施例的播放控制方法的一示例性的实现流程图。如图6所示,该方法包括:
在步骤S601中,获取第一终端播放视频的播放状态,并向服务器发送第一终端的播放状态,以使服务器在播放同一视频的多个终端中的至少一个终端的播放状态满足预设条件的情况下返回播放控制指令,其中,多个终端包括第一终端。
在步骤S602中,在接收到来自于服务器的暂停播放的指令的情况下,根据暂停播放的指令暂停播放该视频。
在步骤S603中,接收来自于服务器的请求投票的信息,并根据请求投票的信息向服务器返回投票结果。
在步骤S604中,在接收到来自于服务器的继续播放的指令的情况下,根据继续播放的指令继续播放该视频。
通过在接收到来自于服务器的暂停播放的指令的情况下,根据暂停播放的指令暂停播放该视频,能够在处于同一虚拟观影房间的第二终端暂停播放该视频或者掉线的情况下,获得第二终端的播放状态满足第二预设条件的通知,并暂停播放该视频,以与第二终端的播放保持同步。通过接收来自于服务器的请求投票的信息,并根据请求投票的信息向服务器返回投票结果,能够在处于同一虚拟观影房间的第二终端暂停播放该视频或者掉线的情况下,由多个终端中除第二终端以外的其他终端投票决定是否继续等待第二终端,从而能够提高多用户观看同一视频的体验。
实施例3
图7示出根据本发明另一实施例的播放控制装置的结构框图。如图7所示,该装置包括:播放状态获取模块71,用于获取播放同一视频的多个终端中至少一个终端的播放状态;播放控制模块72,用于在所述播放状态满足预设条件的情况下,控制所述多个终端中至少一个终端的播放进度。
图8示出根据本发明另一实施例的播放控制装置的一示例性的结构框图。图8中标号与图7相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。如图8所示:
在一种可能的实现方式中,所述播放状态获取模块71包括:参考终端确定子模块711,用于获取所述多个终端播放所述同一视频的播放进度,并根据所述多个终端的播放进度从所述多个终端中确定参考终端;所述播放控制模块72包括:第一播放控制子模块721,用于分别计算所述多个终端中的各个终端与所述参考终端的播放进度之间的差值;在所述多个终端中的第一终端与所述参考终端的播放进度之间的差值大于第一预设值的情况下,根据所述第一终端与所述参考终端的播放进度之间的差值向所述第一终端发送调整播放进度的指令,以使所述第一终端根据所述调整播放进度的指令调整播放速度,直至所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,其中,所述第一终端为所述多个终端中除所述参考终端以外的任意一个终端。
在一种可能的实现方式中,所述参考终端确定子模块711用于:将所述多个终端中播放进度最慢的终端确定为参考终端;或者,将所述多个终端中播放进度最快的终端确定为参考终端。
在一种可能的实现方式中,所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,包括:所述第一终端与所述参考终端的播放进度之间的差值为0;或者,所述第一终端与所述参考终端的播放进度之间的差值小于或等于第二预设值,其中,所述第二预设值根据所述第一预设值确定,且所述第二预设值小于所述第一预设值。
在一种可能的实现方式中,所述播放控制模块72包括:第二播放控制子模块722,用于在检测到所述多个终端中的第二终端的播放状态满足第二预设条件的情况下,向所述多个终端中除所述第二终端以外的其他终端发送暂停播放的指令,以使所述其他终端暂停播放所述视频,其中,所述第二终端为所述多个终端中的任意一个终端;向所述其他终端发送请求投票的信息,以使所述其他终端根据所述请求投票的信息返回投票结果,其中,所述请求投票的信息用于请求所述其他终端中的各个终端投票是否等待所述第二终端;对接收的各个投票结果进行统计,得到统计结果;在根据所述统计结果确定不等待所述第二终端的情况下,向所述其他终端发送继续播放的指令,以使所述其他终端继续播放所述视频。
在一种可能的实现方式中,第二终端的播放状态满足第二预设条件,包括:所述第二终端暂停播放所述视频;和/或,所述第二终端断开与服务器的连接。
根据本实施例的播放控制装置对于播放同一视频的多个终端,能够在保证多终端均不漏播各个视频片段的前提下,保持多终端的播放同步,从而使观看同一视频的用户之间互动时,不会由于视频播放不同步而导致沟通障碍,从而能够提高用户体验。
实施例4
图9示出根据本发明另一实施例的播放控制装置的结构框图。如图9所示,该装置包括:播放状态获取与发送子模块91,用于获取第一终端播放视频的播放状态,并向服务器发送所述第一终端的播放状态,以使所述服务器在播放同一视频的多个终端中的至少一个终端的播放状态满足预设条件的情况下返回播放控制指令,其中,所述多个终端包括所述第一终端;播放控制模块92,用于接收来自于所述服务器的播放控制指令,并根据所述播放控制指令进行播放控制。
图10示出根据本发明另一实施例的播放控制装置的一示例性的结构框图。图10中标号与图9相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。如图10所示:
在一种可能的实现方式中,所述播放状态获取与发送子模块91包括:播放进度获取与发送子模块911,用于获取所述第一终端播放所述视频的播放进度,并向所述服务器发送所述第一终端的播放进度,以使所述服务器计算所述第一终端与参考终端的播放进度之间的差值,其中,所述多个终端包括所述参考终端;所述播放控制模块92包括:播放速度调整子模块921,用于在所述第一终端与所述参考终端的播放进度之间的差值大于第一预设值的情况下,接收来自于所述服务器的调整播放进度的指令;根据所述调整播放进度的指令调整播放速度,直至所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件。
在一种可能的实现方式中,所述播放速度调整子模块921用于:在所述参考终端的播放进度慢于所述第一终端的情况下,根据所述调整播放进度的指令调慢播放速度;在所述参考终端的播放进度快于所述第一终端的情况下,根据所述调整播放进度的指令调快播放速度。
在一种可能的实现方式中,所述第一终端与所述参考终端的播放进度之间的差值满足第一预设条件,包括:所述第一终端与所述参考终端的播放进度之间的差值为0;或者,所述第一终端与所述参考终端的播放进度之间的差值小于或等于第二预设值,其中,所述第二预设值根据所述第一预设值确定,且所述第二预设值小于所述第一预设值。
在一种可能的实现方式中,所述播放控制模块92包括:控制暂停播放子模块922,用于在接收到来自于所述服务器的暂停播放的指令的情况下,根据所述暂停播放的指令暂停播放所述视频。
在一种可能的实现方式中,所述装置还包括:投票模块93,用于接收来自于所述服务器的请求投票的信息,并根据所述请求投票的信息向所述服务器返回投票结果。
在一种可能的实现方式中,所述播放控制模块92包括:控制继续播放子模块923,用于在接收到来自于所述服务器的继续播放的指令的情况下,根据所述继续播放的指令继续播放所述视频。
根据本实施例的播放控制装置对于播放同一视频的多个终端,能够在保证多终端均不漏播各个视频片段的前提下,保持多终端的播放同步,从而使观看同一视频的用户之间互动时,不会由于视频播放不同步而导致沟通障碍,从而能够提高用户体验。
实施例5
图11示出了本发明的另一个实施例的一种播放控制设备的结构框图。所述播放控制设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述播放控制设备1100包括处理器(processor)1110、通信接口(CommunicationsInterface)1120、存储器(memory)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:实现实施例1或2中个步骤的操作。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。