一种视频播放方法、装置、设备和存储介质
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种视频播放方法、装置、设备和存储介质。
背景技术
随着互联网技术的快速发展,越来越多的用户使用手机、电脑等终端通过网络观看在线视频直播。
通常,在推送观看的视频流时,对所有观看用户统一推送内容分发网络CDN(Content Delivery Network)播放模式对应的视频流。然而,播放CDN播放模式对应的视频流需要消耗较大的网络宽带和服务器资源。随着观看用户数量越来越多,占用的带宽和运营成本也越来越大。所以在带宽有限的情况下,现有的视频流的推送方式已经无法满足日益增长的用户数量的需求。
发明内容
本发明实施例提供了一种视频播放方法、装置、设备和存储介质,以满足日益增长的用户数量的需求,合理利用网络带宽,降低运营成本。
第一方面,本发明实施例提供了一种视频播放方法,包括:
接收两个或两个以上用户的播放请求;
根据各所述播放请求和预设筛选规则确定所述两个或两个以上用户中的目标用户;
向所述目标用户推送对等网络P2P播放模式,以使所述目标用户的目标终端播放所述P2P播放模式对应的视频流。
第二方面,本发明实施例还提供了一种视频播放装置,包括:
播放请求接收模块,用于接收两个或两个以上用户的播放请求;
目标用户确定模块,用于根据各所述播放请求和预设筛选规则确定所述两个或两个以上用户中的目标用户;
P2P播放模式推送模块,用于向所述目标用户推送对等网络P2P播放模式,以使所述目标用户的目标终端播放所述P2P播放模式对应的视频流。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的视频播放方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的视频播放方法。
本实施例的技术方案,通过根据接收的两个或两个以上用户发送的播放请求和预设筛选规则确定两个或两个以上用户中的目标用户;向目标用户推送对等网络P2P播放模式,以使目标用户的目标终端播放P2P播放模式对应的视频流。通过向目标用户推送占用带宽较低的P2P播放模式,从而合理利用网络带宽,使得在网络带宽有限的情况下,可以满足日益增长的用户数量,同时降低了运营成本。
附图说明
图1是本发明实施例一提供的一种视频播放方法的流程图;
图2是本发明实施例二提供的一种视频播放方法的流程图;
图3是本发明实施例三提供的一种视频播放方法的流程图;
图4是本发明实施例四提供的一种视频播放装置的结构示意图;
图5是本发明实施例五提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种视频播放方法的流程图,本实施例可适用于根据推送的播放模式来播放网络视频的情况,尤其是可以用于直播平台中播放直播视频的场景,即视频直播的场景中,同时也可以用于其他需要播放视频的应用场景中。该方法可以由视频播放装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于数据处理服务器中。该方法具体包括以下步骤:
S110、接收两个或两个以上用户的播放请求。
其中,本实施例中的播放请求是指用于播放网络视频的请求,比如播放直播视频的请求。示例性的,当任一用户想要观看视频直播时,可以通过该用户的用户终端发送一个视频直播的播放请求。用户终端可以是但不限于智能手机、平板电脑和台式计算机。视频播放装置可以同时接收到两个或两个以上用户的播放请求,从而根据每个播放请求推送对应的播放模式。本实施例主要针对的是接收大量用户的播放请求时的情况,本实施例对用户的数量和播放请求的数量不做具体的限定。
S120、根据各播放请求和预设筛选规则确定两个或两个以上用户中的目标用户。
其中,预设筛选规则是指从两个或两个以上用户中筛选出目标用户的规则,可以根据用户需求和实际情况预先设置,使得筛选具有多样性。目标用户是指两个或两个以上用户中的非优质用户,比如未发送过弹幕或未打赏过礼物的用户、观看频率较低的用户等。基于预设筛选规则,根据每个播放请求依次判断每个用户是否为目标用户。
可选的,该方法应用于视频直播;相应的,S120包括:
获取各播放请求中的请求参数,其中请求参数包括待播放直播节目标识、用户等级、观看频率、历史观看时长、历史弹幕发送频率和历史礼物打赏频率;根据各播放请求中的请求参数和预设筛选规则确定各用户的优先级;根据优先级,将预设数量的用户确定为目标用户。
其中,接收的每个用户的播放请求均包括多个请求参数,请求参数可以为但不限于待播放直播节目标识、用户等级、观看频率、历史观看时长、历史弹幕发送频率和历史礼物打赏频率。其中,待播放直播节目标识用于表示用户想要播放的直播节目,比如英雄联盟赛事直播、唱歌直播等。用户等级可以根据经验值划分为多个等级,每个等级对应一个经验值范围,比如用户的经验值在0-20范围内时为第一等级,在20-50范围内时为第二等级等,其中,经验值越多,用户等级越高,而且每个用户等级具有不同的等级特权。观看频率是指用户在过去一段时间内观看视频的次数。历史观看时长、历史弹幕发送频率和历史礼物打赏频率分别指的是用户在过去一段时间内观看视频的总时长、弹幕发送次数和礼物打赏次数。本实施例中用户的优先级用于反映用户的优质程度,若用户的优先级越高,则表示该用户的优质程度越低。本实施例中的预设数量可以根据服务器资源和网络带宽预先确定,也可以根据服务器资源、网络带宽以及播放请求数量实时确定,从而在带宽有限的情况下,可以满足更多的用户播放网络视频。示例性的,随着播放请求数量的增多,预设数量可以随之增大,以便在接收大量播放请求时,可以将更多的用户确定为目标用户,进一步满足日益增长的用户数量的需求。
可选的,根据各播放请求中的请求参数和预设筛选规则确定各用户的优先级,包括:
依次判断各播放请求中的各个请求参数是否满足预设筛选规则,并分别确定各播放请求中满足规则的请求参数的数量;根据各请求参数的数量确定各用户的优先级,其中满足规则的请求参数的数量最多的用户对应的优先级最高。
其中,对于每个用户的播放请求,判断该播放请求中的每个请求参数是否满足预设筛选规则,并根据满足规则的请求参数的数量确定该用户的优先级。本实施例中满足规则的请求参数的数量越多,则对应的用户的优先级越高。若两个播放请求中满足规则的请求参数的数量相同,则可以根据请求参数的具体内容或数值确定用户的优先级。
可选的,依次判断各播放请求中的各个请求参数是否满足预设筛选规则,包括:
依次判断各播放请求中待播放直播节目标识是否为预设标识,用户等级是否小于预设等级,观看频率是否小于预设频率,历史观看时长是否小于预设观看时长,历史弹幕发送频率是否小于第一预设发送频率,以及历史礼物打赏频率是否小于第一预设打赏频率。
其中,预设标识可以为除游戏节目标识外的非重要的直播节目标识,比如唱歌直播节目标识、跳舞直播节目标识等。由于游戏直播节目播放要求较高,延迟现象会严重影响用户体验,而唱歌直播节目标识要求很低,可以允许一定的播放延迟,所以待播放直播节目标识为预设标识时,表示该用户的优质程度低,可以作为目标用户。本实施例中的预设标识、预设等级、预设频率、预设观看时长、第一预设发送频率和第一预设打赏频率均可以根据用户需求和实际情况预先设置。若待播放直播节目标识为预设标识,用户等级小于预设等级,观看频率小于预设频率,历史观看时长小于预设观看时长,历史弹幕发送频率小于第一预设发送频率,或者历史礼物打赏频率小于第一预设打赏频率,则表示对应的请求参数满足预设筛选规则。若两个播放请求中满足规则的请求参数的数量不同,则根据满足规则的请求参数的数量来确定这两个用户的优先级,即满足规则的请求参数的数量越高,对应的用户的优先级越高。若两个播放请求中满足规则的请求参数的数量相同,则根据请求参数的具体内容或数值确定这两个用户的优先级。
示例性的,当用户1的播放请求A和用户2的播放请求B中满足规则的请求参数的数量相同时,判断播放请求A的待播放直播节目标识和播放请求B的待播放直播节目标识是否均为预设标识,若播放请求A的待播放直播节目标识是预设标识,播放请求B的待播放直播节目标识不是预设标识,则确定用户1的优先级高于用户2的优先级;若播放请求A和播放请求B的待播放直播节目标识均是预设标识或者均不是预设标识,则计算播放请求A和播放请求B中除待播放直播节目标识之外的请求参数的数值之和,即计算用户等级、观看频率、历史观看时长、历史弹幕发送频率和历史礼物打赏频率这五个请求参数对应的数值之和,若播放请求A的计算结果小于播放请求B的计算结果,则可以确定用户1的优先级高于用户2的优先级。
S130、向目标用户推送对等网络P2P播放模式,以使目标用户的目标终端播放P2P播放模式对应的视频流。
其中,对等网络P2P(peer-to-peer)播放模式是针对非优质用户的播放模式。与CDN播放模式相比,P2P播放模式可能存在延迟现象,但占用的网络资源较少,所以利用P2P播放模式可以在资源有限的情况下支持更多的用户播放视频。本实施例中向目标用户推送P2P播放模式,向两个或两个以上用户中除目标用户之外的非目标用户推送CDN播放模式,从而使得优质用户可以利用CDN播放模式观看更加实时的网络直播,而非优质用户利用P2P播放模式观看占用带宽较低的网络直播。利用本实施例中的推送方式,即根据不同的用户推送不同的播放模式,合理地利用网络带宽,降低了运营成本,并且在带宽有限的情况下,满足了日益增长的用户数量的需求。
可选的,S130中目标用户的目标终端播放P2P播放模式对应的视频流,包括:
目标用户的目标终端根据P2P播放模式,确定目标终端对应的对等节点;目标终端从对等节点中下载P2P播放模式对应的视频流,并进行播放。
其中,目标终端为目标用户的智能终端,如智能手机、平板电脑和台式计算机等。目标终端根据P2P播放模式中的下载位置信息确定下载视频流的对等节点的位置,并从该对等节点中下载待播放的视频流,从而在目标终端上播放该视频流。利用对等节点获取视频流,可以节省网络带宽,降低运营成本。
本实施例的技术方案,通过根据接收的两个或两个以上用户发送的播放请求和预设筛选规则确定两个或两个以上用户中的目标用户;向目标用户推送对等网络P2P播放模式,以使目标用户的目标终端播放P2P播放模式对应的视频流。通过向目标用户推送占用带宽较低的P2P播放模式,从而合理利用网络带宽,使得在网络带宽有限的情况下,可以满足日益增长的用户数量,同时降低了运营成本。
实施例二
图2为本发明实施例二提供的一种视频播放方法的流程图,本实施例在上述实施例的基础上进行优化:在目标用户的目标终端播放P2P播放模式对应的视频流之后,还包括:获取目标用户的当前弹幕发送频率和当前礼物打赏频率;若当前弹幕发送频率大于第二预设发送频率,和/或当前礼物打赏频率大于第二预设打赏频率,则向目标用户推送内容分发网络CDN播放模式,以使目标用户的目标终端切换至播放CDN播放模式对应的视频流。
优化后,本实施例的视频播放方法具体包括:
S210、接收两个或两个以上用户的播放请求;
S220、根据各播放请求和预设筛选规则确定两个或两个以上用户中的目标用户。
S230、向目标用户推送对等网络P2P播放模式,以使目标用户的目标终端播放P2P播放模式对应的视频流。
S240、获取目标用户的当前弹幕发送频率和当前礼物打赏频率。
其中,在目标用户的目标终端上播放P2P播放模式的视频流后,实时获取或者每隔预设时间段获取目标用户的当前弹幕发送频率和当前礼物打赏频率,从而可以根据当前弹幕发送频率和当前礼物打赏频率确定是否继续播放P2P播放模式的视频流。
S250、判断当前弹幕发送频率是否大于第二预设发送频率,和/或当前礼物打赏频率是否大于第二预设打赏频率;若是,则进入S260,若否,则进入S240。
其中,第二预设发送频率和第二预设打赏频率可以是根据实际情况预先设置的。通过判断当前弹幕发送频率是否大于第二预设发送频率和当前礼物打赏频率是否大于第二预设打赏频率来确定是否继续播放P2P播放模式的视频流。若当前弹幕发送频率大于第二预设发送频率,或者当前礼物打赏频率大于第二预设打赏频率,或者当前弹幕发送频率大于第二预设发送频率并且当前礼物打赏频率大于第二预设打赏频率时,则进入S260;若当前弹幕发送频率小于或等于第二预设发送频率并且当前礼物打赏频率小于或等于第二预设打赏频率,则进入S240。
S260、向目标用户推送内容分发网络CDN播放模式,以使目标用户的目标终端切换至播放CDN播放模式对应的视频流。
其中,在当前弹幕发送频率大于第二预设发送频率,或者当前礼物打赏频率大于第二预设打赏频率,或者当前弹幕发送频率大于第二预设发送频率并且当前礼物打赏频率大于第二预设打赏频率时,表明该目标用户从非优质用户转变为优质用户,此时向该目标用户推送CDN播放模式,使得该目标终端的播放模式从P2P播放模式切换为CDN播放模式,从而可以播放CDN播放模式对应的视频流,使得该目标用户与主播同步,观看实时的直播画面。
本实施例的技术方案,通过在目标用户的当前弹幕发送频率大于第二预设发送频率,和/或当前礼物打赏频率大于第二预设打赏频率时,向该目标用户推送CDN播放模式,使得播放模式从P2P播放模式切换至CDN播放模式,从而播放更加同步的CDN播放模式对应的视频流,提高该目标用户的观看体验。
实施例三
图3为本发明实施例三提供的一种视频播放方法的流程图,本实施例在上述实施例的基础上进行优化:在目标用户的目标终端播放P2P播放模式对应的视频流之后,还包括:若在预设时间内未检测到两个或两个以上用户中除目标用户之外的非目标用户的操作动作,则将非目标用户的观看状态确定为离开状态;若非目标用户的观看状态为离开状态,则向非目标用户推送P2P播放模式,以使非目标用户的非目标终端切换至播放P2P播放模式对应的视频流。
优化后,本实施例的视频播放方法具体包括:
S310、接收两个或两个以上用户的播放请求;
S320、根据各播放请求和预设筛选规则确定两个或两个以上用户中的目标用户。
S330、向目标用户推送对等网络P2P播放模式,以使目标用户的目标终端播放P2P播放模式对应的视频流。
S340、检测在预设时间内两个或两个以上用户中除目标用户之外的非目标用户是否存在操作动作,若否,则进入S350,若是,则进入S360。
其中,非目标用户是指在两个或两个以上用户中除了目标用户之外的用户。示例性的,假设有5个用户发送播放请求,若根据5个播放请求确定5个用户中的3个用户为目标用户,则剩余的两个用户确定为非目标用户。本实施例中在S340之前,向非目标用户推送的是CDN播放模式,即非目标用户的终端上播放的是CDN播放模式对应的视频流。本实施例中的操作动作是指用户在终端上进行的操作,比如移动鼠标、点击图标、发送弹幕、打赏礼物等。通过检测在预设时间内非目标用户是否存在操作动作,可以判断用户是否一直在终端上观看视频,从而确定用户的观看状态。
S350、将非目标用户的观看状态确定为离开状态,并进入S370。
其中,当在预设时间内未检测到两个或两个以上用户中除目标用户之外的非目标用户的操作动作时,则表示该非目标用户并没有在终端前观看视频,此时将该非目标用户的观看状态确定为离开状态。示例性的,当非目标用户播放视频后,因事离开时忘记关掉视频时,在预设时间内并未检测待该非目标用户的操作动作,从而确定该非目标用户的观看状态为离开状态。
S360、将非目标用户的观看状态确定为在线状态,并进入S340。
其中,当在预设时间内检测到非目标用户的操作动作时,表明该非目标用户在终端前一直在观看视频直播,此时将该非目标用户的观看状态确定为在线状态。在确定在线状态后,可以直接进入S340,也可以等待一段时间后再进入S340。
S370、向非目标用户推送P2P播放模式,以使非目标用户的非目标终端切换至播放P2P播放模式对应的视频流。
其中,当非目标用户的观看状态为离开状态时,则表明该非目标用户从优质用户转换为非优质用户,此时将该非目标用户的播放模式从CDN播放模式切换至P2P播放模式,使得该非目标用户的非目标终端上播放占用带宽较少的P2P播放模式对应的视频流,从而更加合理利用网络带宽,避免了网络带宽的浪费。
本实施例的技术方案,通过检测在预设时间内两个或两个以上用户中除目标用户之外的非目标用户是否存在操作动作,若否,则将非目标用户的观看状态确定为离开状态;并在非目标用户的观看状态为离开状态时,向非目标用户推送P2P播放模式,使得非目标用户的非目标终端切换至播放P2P播放模式对应的视频流,从而更加合理利用网络带宽,避免了网络带宽的浪费。
实施例四
图4为本发明实施例四提供的一种视频播放装置的结构示意图,本实施例可适用于根据推送的播放模式来播放网络视频的情况,该装置包括:播放请求接收模块410、目标用户确定模块420和P2P播放模式推送模块430。
其中,播放请求接收模块410,用于接收两个或两个以上用户的播放请求;目标用户确定模块420,用于根据各播放请求和预设筛选规则确定两个或两个以上用户中的目标用户;P2P播放模式推送模块430,用于向目标用户推送对等网络P2P播放模式,以使目标用户的目标终端播放P2P播放模式对应的视频流。
可选的,该装置应用于视频直播;相应的,目标用户确定模块420,包括:
请求参数获取单元,用于获取各播放请求中的请求参数,其中请求参数包括待播放直播节目标识、用户等级、观看频率、历史观看时长、历史弹幕发送频率和历史礼物打赏频率;
优先级确定单元,用于根据各播放请求中的请求参数和预设筛选规则确定各用户的优先级;
目标用户确定单元,用于根据优先级,将预设数量的用户确定为目标用户。
可选的,优先级确定单元,包括:
请求参数判断子单元,用于依次判断各播放请求中的各个请求参数是否满足预设筛选规则,并分别确定各播放请求中满足规则的请求参数的数量;
优先级确定子单元,用于根据各请求参数的数量确定各用户的优先级,其中满足规则的请求参数的数量最多的用户对应的优先级最高。
可选的,请求参数判断子单元,具体用于:
依次判断各播放请求中待播放直播节目标识是否为预设标识,用户等级是否小于预设等级,观看频率是否小于预设频率,历史观看时长是否小于预设观看时长,历史弹幕发送频率是否小于第一预设发送频率,以及历史礼物打赏频率是否小于第一预设打赏频率。
可选的,目标用户的目标终端还用于:
根据P2P播放模式,确定目标终端对应的对等节点;从对等节点中下载P2P播放模式对应的视频流,并进行播放。
可选的,该装置还包括:
当前操作频率获取模块,用于在目标用户的目标终端播放P2P播放模式对应的视频流之后,获取目标用户的当前弹幕发送频率和当前礼物打赏频率;
CDN播放模式推送模块,用于若当前弹幕发送频率大于第二预设发送频率,和/或当前礼物打赏频率大于第二预设打赏频率,则向目标用户推送内容分发网络CDN播放模式,以使目标用户的目标终端切换至播放CDN播放模式对应的视频流。
可选的,该装置还包括:
观看状态确定模块,用于在目标用户的目标终端播放P2P播放模式对应的视频流之后,若在预设时间内未检测到两个或两个以上用户中除目标用户之外的非目标用户的操作动作,则将非目标用户的观看状态确定为离开状态;
相应的,P2P播放模式推送模块430还用于:若非目标用户的观看状态为离开状态,则向非目标用户推送P2P播放模式,以使非目标用户的非目标终端切换至播放P2P播放模式对应的视频流。
上述视频播放装置可执行本发明任意实施例所提供的视频播放方法,具备执行视频播放方法相应的功能模块和有益效果。
实施例五
图5是本发明实施例四提供的一种设备的结构示意图。参见图5,该设备包括:
一个或多个处理器510;
存储器520,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器510执行,使得一个或多个处理器510实现如上述实施例中任一实施例提出的视频播放方法。
图5中以一个处理器510为例;设备中的处理器510和存储器520可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的视频播放方法对应的程序指令/模块(例如,视频播放装置中的播放请求接收模块410、目标用户确定模块420和P2P播放模式推送模块430)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的视频播放方法。
存储器520主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的设备与上述实施例提出的视频播放方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行视频播放方法相同的有益效果。
实施例六
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的视频播放方法。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的视频播放方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。