视频推送方法、装置、系统、计算机可读存储介质和设备与流程

文档序号:20512362发布日期:2020-04-24 18:41阅读:118来源:国知局
视频推送方法、装置、系统、计算机可读存储介质和设备与流程

本申请涉及计算机技术领域,特别是涉及一种视频推送方法、装置、系统、计算机可读存储介质和计算机设备。



背景技术:

随着互联网技术及智能终端的快速发展,用户可以通过终端随时随地观看视频,包括直播视频、短视频或是资讯类视频,等等。通常,在智能终端从服务器请求视频时,服务器可以依据视频的热度或用户的历史观看行为进行视频推送,比如用户点击过的视频类别、用户关注的视频内容,等等。

然而,上述的视频推送方式,没有考虑各个视频之间本身的内容关联性,无法保证用户可以完全理解所推送视频的内容,导致视频推送的有效性较为低下。



技术实现要素:

基于此,有必要针对现有的视频推送方式的有效性较低的技术问题,提供一种视频推送方法、装置、系统、计算机可读存储介质和计算机设备。

一种视频推送方法,包括:

获取视频请求,所述视频请求包括用户标识;

响应于所述视频请求,确定与所述用户标识对应的待推送视频;

当所述待推送视频属于关联视频,且与所述用户标识对应的视频观看记录中不包括所述关联视频所关联至的原视频时,将所述原视频推送至与所述用户标识对应的终端;

其中,所述关联视频的视频内容与所述原视频的视频内容相关。

一种视频推送方法,包括:

向服务器发送视频请求,所述视频请求包括用户标识;

接收所述服务器推送的视频数据,所述视频数据包括原视频;

其中,所述原视频是所述服务器响应于所述视频请求,确定与所述用户标识对应的待推送视频后,当所述待推送视频属于关联视频,且与所述用户标识对应的视频观看记录中不包括所述关联视频所关联至的原视频时获得的所述原视频;所述关联视频的视频内容与所述原视频的视频内容相关;

显示包括所述原视频的视频推荐界面。

一种视频推送系统,包括终端和服务器,其中:

所述终端用于上报与用户标识对应的视频观看记录;还用于向所述服务器发送视频请求,所述视频请求包括所述用户标识;

所述服务器用于响应于所述视频请求,确定与所述用户标识对应的待推送视频;所述服务器还用于当所述待推送视频属于关联视频,且所述视频观看记录中不包括所述关联视频所关联至的原视频时,将所述原视频推送至所述终端;

所述服务器还用于当所述待推送视频属于原视频时,或者,当所述待推送视频属于关联视频,且与所述用户标识对应的视频观看记录中包括所述待推送视频所关联至的原视频时,将所述待推送视频推送至所述终端;

其中,所述关联视频的视频内容与所述原视频的视频内容相关;

所述终端还用于接收所述服务器推送的所述原视频,并显示包括所述原视频的视频推荐界面。

一种视频推送装置,所述装置包括:

获取模块,用于获取视频请求,所述视频请求包括用户标识;

确定模块,用于响应于所述视频请求,确定与所述用户标识对应的待推送视频;

推送模块,用于当所述待推送视频属于关联视频,且与所述用户标识对应的视频观看记录中不包括所述关联视频所关联至的原视频时,将所述原视频推送至与所述用户标识对应的终端;其中,所述关联视频的视频内容与所述原视频的视频内容相关。

一种视频推送装置,所述装置包括:

发送模块,用于向服务器发送视频请求,所述视频请求包括用户标识;

接收模块,用于接收所述服务器推送的视频数据,所述视频数据包括原视频;其中,所述原视频是所述服务器响应于所述视频请求,确定与所述用户标识对应的待推送视频后,当所述待推送视频属于关联视频,且与所述用户标识对应的视频观看记录中不包括所述关联视频所关联至的原视频时获得的所述原视频;所述关联视频的视频内容与所述原视频的视频内容相关;

显示模块,用于显示包括所述原视频的视频推荐界面。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述视频推送方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述视频推送方法的步骤。

上述视频推送方法、装置、系统、计算机可读存储介质和计算机设备,在向终端推送视频时,确定与用户标识对应的待推送视频,当确定的待推送视频属于关联视频,且根据用户的视频观看记录确定用户未观看与待推送视频在视频内容上具有关联的原视频时,就将原视频推送至用户,由于关联视频在视频内容上关联至原视频,这样可以保证按照关联视频在后、关联视频所关联至的原视频在前的推送顺序进行推送,让用户能够按照该顺序依次观看视频,也就是在观看了原视频后,在原视频的视频内容的基础上再去观看关联视频,能够提升视频推送的有效性与用户对视频内容的理解。

附图说明

图1为一个实施例中视频推送方法的应用环境图;

图2为一个实施例中视频推送方法的流程示意图;

图3为另一个实施例中视频推送方法的流程示意图;

图4为一个具体的应用场景中视频推送方法的流程示意图;

图5为一个具体的实施例中视频推送方法的流程示意图;

图6为又一个实施例中视频推送方法的流程示意图;

图7为一个实施例中视频推荐界面的示意图;

图8为一个实施例中实现视频推送方法的控制类的结构示意图;

图9为一个实施例中视频客户端从服务器请求视频数据的流程示意图;

图10为一个实施例中视频数据的数据结构示意图;

图11为一个实施例中视频推送装置的结构框图;

图12为另一个实施例中视频推送装置的结构框图;

图13为一个实施例中服务器的结构框图;

图14为一个实施例中终端的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中视频推送方法的应用环境图。参照图1,该视频推送方法应用于视频推送系统100。该视频推送系统100包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

终端110可以向服务器发送携带用户标识的视频请求,服务器120可以接收视频请求,响应于视频请求,确定与用户标识对应的待推送视频;当待推送视频属于关联视频,且与用户标识对应的视频观看记录中不包括关联视频所关联至的原视频时,则服务器120可以将原视频推送至与用户标识对应的终端110;终端110还可以接收服务器推送的包括原视频的视频数据,并显示包括原视频的视频推荐界面。

在一个实施例中,终端110上安装和运行有支持视频播放的应用程序(或客户端),该应用程序可以是视频类应用程序或浏览器类应用程序等,当终端110运行该应用程序时,终端110的屏幕上可以显示该应用程序的视频推荐界面,终端可以根据用户在视频推荐界面中的触发操作生成视频请求;终端110的屏幕上还可以显示该应用程序的视频播放界面,在视频播放界面中播放视频。服务器120用于为客户端运行提供视频相关的计算机服务。

如图2所示,在一个实施例中,提供了一种视频推送方法。本实施例主要以该方法由上述图1中的服务器120来执行举例说明。参照图2,该视频推送方法具体包括如下步骤:

s202,获取视频请求,视频请求包括用户标识。

其中,视频请求是用于获取推荐视频的请求,视频请求携带了用户标识,用户标识用于唯一标识当前用户。用户可以在首次登陆或使用视频客户端时从服务器注册用户标识,该用户标识可以是电话号码、即时通信账号、邮箱账号等,还可以是用户在注册用户标识时输入的字符串。

具体地,终端上运行的视频客户端生成视频请求后,终端获取视频请求,并通过网络将视频请求发送至服务器,服务器接收视频请求。服务器还可以从视频请求中提取该视频请求所携带的用户标识。

在一个具体的应用场景中,用户以用户标识登录视频客户端后,进入到视频客户端的视频推荐页面,自动触发视频客户端生成携带用户标识的视频请求,并将视频请求发送至服务器,以从服务器获取推送的与用户标识相关的视频数据。

s204,响应于视频请求,确定与用户标识对应的待推送视频。

其中,待推送视频是待推送至终端的视频,服务器可以响应于视频请求,从视频资源库中筛选出与用户标识对应的视频,作为待推送视频。待推送视频是从大量的视频中筛选出的初步结果,服务器还需要进一步按照步骤s206对该初步结果进行后续的处理。服务器确定的与用户标识对应的待推送视频的数量可以是一个或多于一个。一般而言,服务器确定的待推送视频是用户未观看过的视频。

具体地,服务器可以获取与用户标识对应的用户特征,根据用户特征确定与用户标识对应的待推送视频。用户特征可以包括用户画像特征及用户的历史行为特征。用户画像特征是根据用户的画像信息统计的特征,用户的画像信息包括用户年龄、性别、爱好、收入、地理位置等等,用户的历史行为特征是根据用户的观看视频的历史行为统计的特征,用户观看视频时的行为包括对视频进行点赞、点评、收藏、转发、分享的行为,还包括用户经常观看的视频的类别信息等等。服务器可以根据用户的历史行为特征预估用户对视频内容的偏好,比如根据历史行为特征确定用户可能感兴趣的视频内容、视频类型、视频风格等等,继而从视频资源库中筛选出用户可能感兴趣的待推送视频。

在一个实施例中,确定与用户标识对应的待推送视频,包括:获取与用户标识对应的历史行为特征;从视频资源库中筛选出与历史行为特征匹配的视频集合;将视频集合中的视频作为与用户标识对应的待推送视频。

在一个具体的应用场景中,当用户以用户标识登录视频客户端,进入视频客户端的视频推荐界面时,服务器可以根据该用户的用户特征从视频资源库中筛选出一个视频集合,比如每一次筛选的视频集合包含20条视频,那么服务器确定的与用户标识对应的这20条视频即为本次视频客户端向服务器请求的待推送视频。当然,服务器还可以根据该用户在视频推荐界面中触发的视频刷新事件,如在视频推荐界面中下拉视频推荐列表,重新从视频资源库中筛选出一批新的视频集合,并将重新筛选得到的视频集合作为与用户标识对应的待推送视频。

s206,当待推送视频属于关联视频,且与用户标识对应的视频观看记录中不包括关联视频所关联至的原视频时,将原视频推送至与用户标识对应的终端;其中,关联视频的视频内容与原视频的视频内容相关。

在本申请提供的实施例中,视频与视频之间可能在视频内容上存在关联,具有一定的相关性。具体是指视频a的视频内容是视频b的视频内容的铺垫,或者,视频b的视频内容基于视频a的视频内容创作得到,在这种视频a与视频b在视频内容上存在关联的情况下,可以称视频b属于关联视频,视频a属于原视频,视频b的视频内容关联至视频a的视频内容,视频b关联至视频a,也就是,关联视频的视频内容关联至原视频的视频内容,也可以称关联视频关联至原视频。例如,某个电影预告片的内容是基于电影本身的内容创作出来的,那么电影预告片关联至该电影本身。

需要说明的是,这种关联关系也适用于多个视频,多个关联视频可以关联至同一个原视频,例如,视频b1、视频b2与视频b3均关联至视频a。视频之间的关联关系包括直接关联关系,还可以包括间接关联关系,例如,视频b的视频内容直接关联至视频a1的视频内容,称视频b与视频a1之间存在直接关联关系,此种情况下的关联关系的长度为1。又例如,视频a1的视频内容关联至视频a2的视频内容,则称视频b与视频a2之间存在间接关联关系,此种情况下关联关系的长度为2。可以理解的是,视频之间关联关系的长度还可以大于2。

在一个实施例中,上述视频推送方法还包括以下步骤:建立不同视频间的关联关系。服务器可以获取视频的视频信息,根据视频信息确定视频之间是否存在关联关系。视频信息包括视频简介内容、视频创作时间、视频发布时间、视频类型等等,视频简介内容描述了视频剧情,可用于确定视频之间在内容上是否具有一定的关联,视频创作时间及视频发布时间可用于确定视频推送的先后顺序,视频类型也可以用于确定视频之间在内容上是否具有一定的关联,比如,电影预告片和电影本身,电影剪辑短片和电影本身,电视剧预告和电视剧本身,等等。因此,视频服务器可以根据上述的视频信息对视频资源库中的视频建立关联关系。之后,服务器可以在关联视频的视频数据中添加所关联至的原视频的视频标识,添加的原视频的视频标识可以用于确定当前视频属于关联视频,还用于确定该关联视频所关联至的原视频具体是哪一个或哪一些视频。

当然,还可以通过人工的方式配置视频之间的关联关系,例如,视频客户端的运营人员在视频资源库中配置视频时,若确定配置的视频属于关联视频,则在配置关联视频时,在关联视频的视频数据中添加所关联至的原视频的视频标识。

视频观看记录是当前用户通过视频客户端在过去一段时间内所观看的视频的记录,视频观看记录中包括用户所观看视频的视频标识及视频观看进度。在一个实施例中,终端可以在用户观看视频后,将该视频的视频标识和观看进度上报至服务器。在另一个实施例中,终端可以在检测到用户观看完某个视频或视频观看进度大于预设阈值时,才将该视频的视频标识和观看进度上报至服务器。服务器可以存储终端上报的视频观看记录。

具体地,当确定的与用户标识对应的待推送视频属于关联视频时,且与用户标识对应的视频观看记录中不包括该关联视频所关联至的原视频时,说明用户还未观看过该原视频,为了能够提升视频推送的有效性,帮助用户更好的理解视频,服务器可以将待推送视频替换为关联至的原视频后,将原视频推送至与用户标识对应的终端,这样可以在保证按照原视频在前、关联视频在后的推送顺序进行推送,让用户能够按照该顺序依次观看视频。

在一个实施例中,上述视频推送方法还包括:接收终端上报的与用户标识对应的视频观看记录;查询视频观看记录中是否包括待推送视频所关联至的原视频。

具体地,服务器可以接收终端上报的视频观看记录,在确定了与用户标识对应的待推送视频后,且待推送视频属于关联视频时,服务器就可以获取与用户标识对应的视频观看记录,并查询视频观看记录中是否包括待推送视频所关联至的原视频。可选地,服务器可以检查待推送视频的视频数据中是否包括所关联至的原视频的视频标识,若包括,则服务器确定待推送视频属于关联视频,那么服务器可以根据获取的视频观看记录查询是否包括待推送视频关联至的原视频。

在一个实施例中,上述视频推送方法还包括:

从待推送视频的视频数据中提取所关联至的原视频的视频标识;当视频观看记录中不包括原视频的视频标识时,则根据原视频的视频标识获取待推送视频所关联至的原视频。

具体地,服务器在确定待推送视频属于关联视频后,从待推送视频的视频数据中提取所关联至的原视频的视频标识,并查询视频观看记录中是否包括原视频的视频标识,若不包括,则说明用户未观看过该视频,则服务器可以根据原视频的视频标识获取原视频;反之,若包括,则说明用户已观看过该原视频。

在一个具体的实施例中,步骤s206,当待推送视频属于关联视频,且与用户标识对应的视频观看记录中不包括关联视频所关联至的原视频时,将原视频推送至与用户标识对应的终端,具体包括:服务器在确定待推送视频后,可以检查待推送视频的视频数据中是否包括所关联至的原视频的视频标识,若包括,则服务器确定待推送视频属于关联视频,并从视频数据中提取所关联至的原视频的视频标识,服务器获取用户标识对应的视频观看记录,查询视频观看记录中是否包括该原视频的视频标识,若不包括,则服务器根据原视频的视频标识获取待推送视频所关联至的原视频,并将待推送视频替换为原视频后,将原视频推送至终端。

在本实施例中,通过在关联视频的视频数据中记录所关联至的原视频的视频标识,不仅可以明确当前的待推送视频属于关联视频,还可以根据原视频的视频标识直接获取到原视频,处理流程十分简洁,能够提高为终端推送视频的效率。

在一个实施例中,如图3所示,原视频为第一原视频,用户标识对应的视频观看记录中不包括第一原视频的视频标识,则视频推送方法包括以下步骤,其可以由服务器来执行:

s302,获取视频请求,视频请求包括用户标识;

s304,响应于视频请求,确定与用户标识对应的待推送视频;

s306,当待推送视频属于关联视频,且与用户标识对应的视频观看记录中不包括关联视频所关联至的第一原视频时,执行步骤s308a或s308b;

s308a,当第一原视频关联至第二原视频时,且视频观看记录中包括第二原视频的视频标识时,则根据第一原视频的视频标识获取待推送视频所关联至的第一原视频;将第一原视频推送至与用户标识对应的终端。

例如,待推送视频a关联至第一原视频b,当第一原视频a的视频数据中包括第二原视频c的视频标识时,则说明第一原视频b关联至第二原视频c,那么待推送视频a间接关联至第二原视频c。服务器可以查询用户标识对应的视频观看记录,若视频观看记录中包括第二原视频c的视频标识时,则说明用户未观看过视频b但已经观看过视频b所关联至的视频c,那么服务器根据第一原视频b的视频标识获取待推送视频a所关联至的第一原视频b,并将待推送视频a替换为第一原视频b后,将第一原视频b推送至与用户标识对应的终端。

s308b,当第一原视频关联至第二原视频时,且视频观看记录中不包括第二原视频的视频标识时,则根据第二原视频的视频标识获取待推送视频所间接关联至的第二原视频;将第二原视频推送至与用户标识对应的终端。

例如,待推送视频a关联至第一原视频b,当第一原视频a的视频数据中包括第二原视频c的视频标识时,则说明第一原视频b关联至第二原视频c,那么待推送视频a间接关联至第二原视频c。服务器可以查询用户标识对应的视频观看记录,若视频观看记录中不包括第二原视频c的视频标识时,则说明用户未观看过视频b也未观看过视频b所关联至的视频c,那么服务器根据第二原视频c的视频标识获取待推送视频a所间接关联至的第二原视频c,并将待推送视频a替换为第二原视频c后,将第二原视频c推送至与用户标识对应的终端。

在上述实施例中,若多个视频之间存在关联关系且关联关系的长度大于1,则可以按照关联关系依次将这多个视频推送至用户,保证用户能够按照关联关系所呈现的顺序观看视频,能够便于用户理解视频内容,提升了视频推送的有效性。

在一个实施例中,当服务器从视频资源库中筛选出待推送视频的数量为多个时,即为一个视频集合时,则步骤s206具体包括:遍历视频集合中的各个待推送视频;在根据当前遍历的待推送视频的视频标识确定属于关联视频,且与用户标识对应的视频观看记录中不包括当前遍历的待推送视频所关联至的原视频时,则将当前遍历的待推送视频替换为所关联至的原视频;上述方法还包括:在根据当前遍历的待推送视频的视频标识确定属于原视频时,或者,若根据当前遍历的待推送视频的视频标识确定属于关联视频,且与用户标识对应的视频观看记录中包括当前遍历的待推送视频所关联至的原视频时,则保留当前遍历的待推送视频;直至视频集合中的待推送视频遍历结束时,获得更新的视频集合;将更新的视频集合推送至与用户标识对应的终端。

如图4所示,为一个具体的应用场景中视频推送方法的流程示意图,参照图4,包括以下步骤:

s402,用户登录视频客户端,进入视频推荐界面;

s404,视频客户端从服务器请求推送视频;

s406,服务器从视频资源库中筛选出与用户对应的视频集合;

s408,服务器对视频集合中的每一待推送视频进行查询;

s410,服务器判断当前查询的待推送视频属于关联视频还是原视频;若是原视频,则执行步骤s412;若属于关联视频,则执行步骤s414;

s412,直接向视频客户端返回当前查询的待推送视频;

s414,服务器根据用户的视频观看记录查询是否观看过所关联至的原视频;若否,则执行步骤s416,;若是,则执行步骤s412;

s416,将当前查询的待推送视频替换为所关联至的原视频;

s418,向视频客户端返回替换后的原视频。

上述视频推送方法,在向终端推送视频时,确定与用户标识对应的待推送视频,当确定的待推送视频属于关联视频,且根据用户的视频观看记录确定用户未观看与待推送视频在视频内容上具有关联的原视频时,就将原视频推送至用户,由于关联视频在视频内容上关联至原视频,这样可以保证按照关联视频在后、关联视频所关联至的原视频在前的推送顺序进行推送,让用户能够按照该顺序依次观看视频,也就是在观看了原视频后,在原视频的视频内容的基础上再去观看关联视频,能够提升视频推送的有效性与用户对视频内容的理解。

在一个实施例中,上述视频推送方法还包括以下步骤:当待推送视频属于原视频时,则直接将待推送视频推送至与用户标识对应的终端。

具体地,当服务器检查待推送视频的视频数据中不包括原视频的视频标识时,则可以判定待推送视频属于原视频,则服务器可以直接将待推送视频推送至用户标识对应的终端。需要说明的是,对原视频而言,在视频资源库中可以包括与之关联的关联视频,也可以不存在任何与之有关联关系的视频。

在一个实施例中,上述视频推送方法还包括以下步骤:当待推送视频属于关联视频,且与用户标识对应的视频观看记录中包括待推送视频所关联至的原视频时,则将待推送视频推送至与用户标识对应的终端。

具体地,当服务器检查待推送视频的视频数据中包括所关联至的原视频的视频标识时,则可以判定待推送视频属于关联视频,服务器从视频数据中提取所关联至的原视频的视频标识,服务器获取用户标识对应的视频观看记录,查询视频观看记录中是否包括该原视频的视频标识,若包括,则说明书用户已经观看过待推送视频所关联至的原视频,则服务器直接将待推送视频推送至终端。

在一个实施例中,上述视频推送方法还包括以下步骤:当待推送视频属于关联视频时,且与用户标识对应的视频观看记录中包括关联视频所关联至的原视频,且原视频的观看进度小于预设阈值时,则将原视频推送至与用户标识对应的终端。

具体地,当服务器检查待推送视频的视频数据中包括所关联至的原视频的视频标识时,则可以判定待推送视频属于关联视频,服务器从视频数据中提取所关联至的原视频的视频标识,服务器获取用户标识对应的视频观看记录,若根据视频观看记录确定原视频的观看进度小于预设阈值时,代表当前用户还未观看完该原视频,则服务器可以将待推送视频替换为原视频后,再次将用户观看过但未观看完的原视频推送至终端。可选地,为观看进度所设置的预设阈值可以是70%至90%。

在一个实施例中,上述视频推送方法还包括以下步骤:当待推送视频属于关联视频时,且与用户标识对应的视频观看记录中包括关联视频所关联至的原视频,且原视频的观看进度大于预设阈值时,则将待推送视频推送至与用户标识对应的终端。

具体地,当服务器检查待推送视频的视频数据中包括所关联至的原视频的视频标识时,则可以判定待推送视频属于关联视频,服务器从视频数据中提取所关联至的原视频的视频标识,服务器获取用户标识对应的视频观看记录,若根据视频观看记录确定原视频的观看进度大于预设阈值时,代表当前用户已经观看了原视频的大部分内容,则服务器可以直接将待推送视频推送至终端。

如图5所示,在一个具体的实施例中,视频推送方法可以由服务器来执行,包括以下步骤:

s502,接收终端上报的与用户标识对应的视频观看记录;

s504,获取视频请求,视频请求包括用户标识;

s506,响应于视频请求,确定与用户标识对应的视频集合;

s508,遍历视频集合中的各个待推送视频;

s510,检查当前遍历的待推送视频的视频数据是否包括所关联至的原视频的视频标识;若是,则执行步骤s514,;若否,则执行步骤s512;

s512,获取视频集合中的下一个待推送视频;

s514,获取与用户标识对应的视频观看记录;

s516,查询视频观看记录中是否包括待推送视频所关联至的原视频,若是,则执行步骤s518;若否,则执行步骤s512;

s518,根据视频观看记录检查原视频的观看进度是否大于预设阈值;若是,则执行步骤s512;若否,则执行步骤s520;

s520,将当前遍历的待推送视频替换为所关联至的原视频;

s522,当视频集合中的待推送视频遍历结束时,获得更新的视频集合;

s524,将更新的视频集合推送至与用户标识对应的终端。

图5为一个实施例中视频推送方法的流程示意图。应该理解的是,虽然图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图6所示,在一个实施例中,提供了一种视频推送方法。本实施例主要以该方法由上述图1中的终端110来执行举例说明。参照图6,该视频推送方法具体包括如下步骤:

s602,向服务器发送视频请求,视频请求包括用户标识。

其中,视频请求是用于获取推荐视频的请求,视频请求携带了用户标识,用户标识用于唯一标识当前用户。用户可以在首次登陆或使用视频客户端时从服务器注册用户标识,该用户标识可以是电话号码、即时通信账号、邮箱账号等,还可以是用户在注册用户标识时输入的字符串。

具体地,终端上运行的视频客户端生成视频请求后,终端获取视频请求,并通过网络将视频请求发送至服务器,服务器接收视频请求。服务器还可以从视频请求中提取该视频请求所携带的用户标识。

在一个具体的应用场景中,用户以用户标识登录视频客户端后,进入到视频客户端的视频推荐页面,自动触发视频客户端生成携带用户标识的视频请求,并将视频请求发送至服务器,以从服务器获取推送的与用户标识相关的视频数据。

s604,接收服务器推送的视频数据,视频数据包括原视频;其中,原视频是服务器响应于视频请求,确定与用户标识对应的待推送视频后,当待推送视频属于关联视频,且与用户标识对应的视频观看记录中不包括关联视频所关联至的原视频时获得的原视频;关联视频的视频内容与原视频的视频内容相关。

待推送视频是待推送至终端的视频,服务器可以响应于视频请求,从视频资源库中筛选出与用户标识对应的视频,作为待推送视频。视频与视频之间可能在视频内容上存在关联,就是具有相关性,比如在这种视频a与视频b在视频内容上存在关联的情况下,可以称视频b属于关联视频,视频a属于原视频,视频b的视频内容关联至视频a的视频内容,也就是,关联视频的视频内容关联至原视频的视频内容,也可以称关联视频关联至原视频。原视频是服务器确定的待推送视频所关联至的视频。

视频观看记录是当前用户通过视频客户端在过去一段时间内所观看的视频的记录,视频观看记录中包括用户所观看视频的视频标识及视频观看进度。

具体地,当确定的与用户标识对应的待推送视频属于关联视频时,且与用户标识对应的视频观看记录中不包括待推送视频所关联至的原视频时,说明用户还未观看过该原视频,为了能够提升视频推送的有效性,帮助用户更好的理解视频,服务器可以将原视频推送至与用户标识对应的终端,这样可以在保证按照原视频在前、关联视频在后的推送顺序进行推送,让用户能够按照该顺序依次观看视频。

s606,显示包括原视频的视频推荐界面。

视频推荐界面是用于显示为用户推送的视频的界面。终端接收服务器返回的视频数据后,就可以在视频推荐界面中显示推送的原视频。

在一个实施例中,上述视频推送方法还包括:获取原视频的观看进度;当观看进度大于预设阈值时,向服务器上报原视频观看完成的通知,通知用于指示服务器将原视频的视频标识添加至与用户标识对应的视频观看记录。

具体地,当服务器返回推送的视频数据到终端,终端上运行的视频客户端显示服务器返回的推送视频时,用户浏览并选择了其中的一条视频进行观看,当观看完成或者观看进度超过预设阈值时,终端上运行的视频客户端会向服务器上报一次通知,该通知用于指示服务器将原视频的视频标识添加至与用户标识对应的视频观看记录,视频观看记录会用于后续视频推送时对关联视频所关联至的原视频的查询。

上述视频推送方法,在终端向服务器发送视频请求后,服务器确定与用户标识对应的待推送视频,当确定的待推送视频属于关联视频,且根据用户的视频观看记录确定用户未观看与待推送视频在视频内容上具有关联的原视频时,就将原视频推送至用户,由于关联视频在视频内容上关联至原视频,这样可以保证按照关联视频在后、关联视频所关联至的原视频在前的推送顺序进行推送,让用户能够按照该顺序依次观看视频,也就是在观看了原视频后,在原视频的视频内容的基础上再去观看关联视频,能够提升视频推送的有效性与用户对视频内容的理解。

如图7所示,为一个实施例中视频推荐界面的示意图。参照图7,整体的视频推荐界面由两部分构成:上方的界面标题栏“视频推送”和下方的视频推荐列表。界面标题栏用于显示该界面的标题,视频推荐列表用于以列表形式显示推送的视频,视频推荐列表可以是无限下拉的列表,随着用户的不断下拉,视频客户端可以分页向服务器请求视频数据,比如,每次可以从服务器获取20条新的视频推送数据。用户点击视频推荐列表中的任意一个视频后可以跳转至视频播放页面进行视频的观看。视频推荐界面的视频推荐列表可以由recyclerview(一种布局控件)实现,视频推荐列表的每一项包含了视频的标题(textview)、视频的缩略图(imageview)等信息,每一项被点击后可以跳转到单独的视频播放页面。视频推荐列表可以跟随用户在屏幕上触发的刷新事件或滑动事件而上下滚动。视频推荐列表的每一行可以包括两个视频项,这样展示可以充分的利用屏幕空间。整个页面是以constraintlayout(约束布局)承载的,约束布局可以简化界面的层次结构,保持界面的简洁性。

如图8所示,为一个实施例中实现上述视频推送方法的控制类的结构示意图。参照图8,videorecommendfragment作为控制类,包含了数据类(pagedata)和视频推荐界面展示类(videofragment)。videorecommendfragment作为数据类和视频推荐界面展示类的桥梁,将二者的功能结合起来,封装成控制类给外界调用,这样做很好地将控制逻辑和界面展示分开,仅仅提供一个控制类的实现,就能完成视频推送功能。其功能包括:initfragment(初始化界面)、showfragment(展示视频元素)、上报视频观看记录(reportvideodone)、创建元素项、调用数据类、请求数据(getmorevideo)等等。

如图9所示,为一个实施例中视频客户端从服务器请求视频数据的流程示意图。参照图9,包括以下步骤:s902,发送视频数据请求;s904,判断是否请求成功;若成功,则s906,解析服务器返回的视频数据,及s908,在视频推荐界面更新视频数据;若失败,则s910显示请求失败的通知。

在一个实施例中,在视频推荐界面中每一次触发的视频请求都按照上述过程进行,在用户浏览完当前视频推荐列表中的视频数据时,视频客户端会发出分页请求拉取下一页的视频数据,每次服务器可以返回20条筛选后的视频数据。返回的数据结构如图10所示。

如图10所示,为一个实施例中服务器返回的视频数据的数据结构示意图。参照图10,服务器返回的视频数据封装成如图10所示的数据结构,参照图10可知,视频数据的封装层级和视频推荐界面的层级保持一致,这样客户端在绘制视频推荐界面时将频数据中各个层级的数据提交给视频推荐界面上的各个层级。视频数据中可以包括20条列表项的数据,用于刷新视频推荐界面上的视频推荐列表,每条列表项的数据包括视频的标题、视频标识(id)、若为关联视频则还会包括该视频所关联至的原视频的视频标识。在用户观看其中某一条视频后,视频客户端可以上报观看视频的视频标识,服务器会基于上报的视频标识,记录用户观看过的视频。

在一个实施例中,提供了一种视频推送系统,该系统可以是如图1所述视频推荐系统100,包括终端110和服务器120,其中:

终端110用于上报与用户标识对应的视频观看记录;还用于向服务器120发送视频请求,视频请求包括用户标识;

服务器120用于响应于视频请求,确定与用户标识对应的待推送视频;服务器120还用于当待推送视频属于关联视频,且视频观看记录中不包括关联视频所关联至的原视频时,将原视频推送至终端110;

服务器120还用于当待推送视频属于原视频时,或者,当待推送视频属于关联视频,且与用户标识对应的视频观看记录中包括待推送视频所关联至的原视频时,将待推送视频推送至终端110;

其中,关联视频的视频内容与原视频的视频内容相关;

终端110还用于接收服务器120推送的原视频,并显示包括原视频的视频推荐界面。

在一个实施例中,服务器120还用于当待推送视频属于关联视频时,且与用户标识对应的视频观看记录中包括待推送视频所关联至的原视频,且原视频的观看进度小于预设阈值时,则将原视频推送至与用户标识对应的终端110;当待推送视频属于关联视频时,且与用户标识对应的视频观看记录中包括待推送视频所关联至的原视频,且原视频的观看进度大于预设阈值时,则将待推送视频推送至与用户标识对应的终端110

在一个实施例中,服务器120还用于从待推送视频的视频数据中提取所关联至的原视频的视频标识;当视频观看记录中不包括原视频的视频标识时,则根据原视频的视频标识获取待推送视频所关联至的原视频。

在一个实施例中,服务器120还用于获取与用户标识对应的历史行为特征;从视频资源库中筛选出与历史行为特征匹配的视频集合;将视频集合中的视频作为与用户标识对应的待推送视频。

在一个实施例中,终端110还用于获取原视频的观看进度;当观看进度大于预设阈值时,向服务器120上报原视频观看完成的通知,通知用于指示服务器120将原视频的视频标识添加至与用户标识对应的视频观看记录。

上述视频推送系统100,在服务器向终端推送视频时,确定与用户标识对应的待推送视频,当确定的待推送视频属于关联视频,且根据用户的视频观看记录确定用户未观看与待推送视频在视频内容上具有关联的原视频时,就将原视频推送至用户,由于关联视频在视频内容上关联至原视频,这样可以保证按照关联视频在后、关联视频所关联至的原视频在前的推送顺序进行推送,让用户能够按照该顺序依次观看视频,也就是在观看了原视频后,在原视频的视频内容的基础上再去观看关联视频,能够提升视频推送的有效性与用户对视频内容的理解。

在一个实施例中,如图11所示,提供了一种视频推送装置1100,该装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。该装置包括获取模块1102、确定模块1104和推送模块1106,其中:

获取模块1102,用于获取视频请求,视频请求包括用户标识;

确定模块1104,用于响应于视频请求,确定与用户标识对应的待推送视频;

推送模块1106,用于当待推送视频属于关联视频,且与用户标识对应的视频观看记录中不包括关联视频所关联至的原视频时,将原视频推送至与用户标识对应的终端;其中关联视频的视频内容与原视频的视频内容相关。

在一个实施例中,推送模块1106还用于当待推送视频属于原视频时,或者当待推送视频属于关联视频,且与用户标识对应的视频观看记录中包括待推送视频所关联至的原视频时,则将待推送视频推送至与用户标识对应的终端。

在一个实施例中,推送模块1106还用于当待推送视频属于关联视频时,且与用户标识对应的视频观看记录中包括关联视频所关联至的原视频,且原视频的观看进度小于预设阈值时,则将原视频推送至与用户标识对应的终端。

在一个实施例中,推送模块1106还用于当待推送视频属于关联视频时,且与用户标识对应的视频观看记录中包括待推送视频所关联至的原视频,且原视频的观看进度大于预设阈值时,则将待推送视频推送至与用户标识对应的终端。

在一个实施例中,视频推送装置1100还包括接收模块和查询模块,用于接收终端上报的与用户标识对应的视频观看记录;查询模块用于查询视频观看记录中是否包括待推送视频所关联至的原视频。

在一个实施例中,视频推送装置1100还包括原视频标识提取模块和原视频获取模块,原视频标识提取模块用于从待推送视频的视频数据中提取所关联至的原视频的视频标识;原视频获取模块用于当视频观看记录中不包括原视频的视频标识时,则根据原视频的视频标识获取待推送视频所关联至的原视频。

在一个实施例中,原视频为第一原视频,原视频获取模块还用于当第一原视频关联至第二原视频时,且视频观看记录中包括第二原视频的视频标识时,根据第一原视频的视频标识获取待推送视频所关联至的第一原视频;推送模块1106还用于将第一原视频推送至与用户标识对应的终端。

在一个实施例中,原视频为第一原视频,原视频获取模块还用于当第一原视频关联至第二原视频时,且视频观看记录中不包括第二原视频的视频标识时,根据第二原视频的视频标识获取待推送视频所间接关联至的第二原视频;推送模块1106还用于将第二原视频推送至与用户标识对应的终端。

在一个实施例中,确定模块1104还用于获取与用户标识对应的历史行为特征;从视频资源库中筛选出与历史行为特征匹配的视频集合;将视频集合中的视频作为与用户标识对应的待推送视频。

在一个实施例中,推送模块1106还用于遍历视频集合中的各个待推送视频;在根据当前遍历的待推送视频的视频标识确定属于关联视频,且与用户标识对应的视频观看记录中不包括当前遍历的待推送视频所关联至的原视频时,则将当前遍历的待推送视频替换为所关联至的原视频,并获取视频集合中的下一个待推送视频;在根据当前遍历的待推送视频的视频标识确定属于原视频时,或者,若根据当前遍历的待推送视频的视频标识确定属于关联视频,且与用户标识对应的视频观看记录中包括当前遍历的待推送视频所关联至的原视频时,则获取视频集合中的下一个待推送视频;直至视频集合中的待推送视频遍历结束时,获得更新的视频集合;将更新的视频集合推送至与用户标识对应的终端。

上述视频推送装置1100,在推送视频时,确定与用户标识对应的待推送视频,当确定的待推送视频属于关联视频,且根据用户的视频观看记录确定用户未观看与待推送视频在视频内容上具有关联的原视频时,就将原视频推送至用户,由于关联视频在视频内容上关联至原视频,这样可以保证按照关联视频在后、关联视频所关联至的原视频在前的推送顺序进行推送,让用户能够按照该顺序依次观看视频,也就是在观看了原视频后,在原视频的视频内容的基础上再去观看关联视频,能够提升视频推送的有效性与用户对视频内容的理解。

在一个实施例中,如图12所示,提供了一种视频推送装置1200,该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括发送模块1202、接收模块1204和显示模块1206,其中:

发送模块1202,用于向服务器发送视频请求,视频请求包括用户标识;

接收模块1204,用于接收服务器推送的视频数据,视频数据包括原视频;其中,原视频是服务器响应于视频请求,确定与用户标识对应的待推送视频后,当待推送视频属于关联视频,且与用户标识对应的视频观看记录中不包括待推送视频所关联至的原视频时,将待推送视频替换为原视频后获得的;待推送视频所关联至的原视频属于原视频,关联视频的视频内容关联至原视频的视频内容;

显示模块1206,用于显示包括原视频的视频推荐界面。

在一个实施例中,视频推送装置1200还包括上报模块,用于获取原视频的观看进度;当观看进度大于预设阈值时,向服务器上报原视频观看完成的通知,通知用于指示服务器将原视频的视频标识添加至与用户标识对应的视频观看记录。

上述视频推送装置1200,在请求服务器推送视频数据时,通过服务器确定与用户标识对应的待推送视频,当确定的待推送视频属于关联视频,且根据用户的视频观看记录确定用户未观看与待推送视频在视频内容上具有关联的原视频时,就将原视频推送至用户,由于关联视频在视频内容上关联至原视频,这样可以保证按照关联视频在后、关联视频所关联至的原视频在前的推送顺序进行推送,让用户能够按照该顺序依次观看视频,也就是在观看了原视频后,在原视频的视频内容的基础上再去观看关联视频,能够提升视频推送的有效性与用户对视频内容的理解。

图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频推送方法。

图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频推送方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图13或图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的视频推送装置1100可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频推送装置1100的各个程序模块,比如,图11所示的获取模块1102、确定模块1104和推送模块1106。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请实施例的视频推方法中的步骤。

例如,图13所示的计算机设备可以通过如图11所示的视频推送装置1100中的获取模块1102执行步骤s202。计算机设备可通过确定模块1104执行步骤s204。计算机设备可通过推送模块1106执行步骤s206。

在一个实施例中,本申请提供的视频推送装置1200可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频推送装置1200的各个程序模块,比如,图12所示的发送模块1202、接收模块1204和显示模块1206。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请实施例的视频推方法中的步骤。

例如,图14所示的计算机设备可以通过如图12所示的视频推送装置1200中的发送模块1202执行步骤s602。计算机设备可通过接收模块1204执行步骤s604。计算机设备可通过显示模块1206执行步骤s606。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频推送方法的步骤。此处视频推送方法的步骤可以是上述各个实施例的视频推送方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频推送方法的步骤。此处视频推送方法的步骤可以是上述各个实施例的视频推送方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1