CN109756780B - 一种视频处理的方法及装置 - Google Patents
一种视频处理的方法及装置 Download PDFInfo
- Publication number
- CN109756780B CN109756780B CN201910038487.5A CN201910038487A CN109756780B CN 109756780 B CN109756780 B CN 109756780B CN 201910038487 A CN201910038487 A CN 201910038487A CN 109756780 B CN109756780 B CN 109756780B
- Authority
- CN
- China
- Prior art keywords
- video
- user
- anchor
- list
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种视频处理的方法及装置,用于提高了查找视频的效率。本发明实施例方法包括:接收用户的视频查询指令,视频查询指令用于指示在直播平台上查找目标视频,目标视频的视频类型为用户需要查找的视频类型;获取用户关注的主播列表和用户需要查找的视频类型;根据视频查询指令和主播列表确定第一聚合数据,第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;根据第一聚合数据和主播列表确定第二聚合数据,第二聚合数据用于指示用户关注的主播的上传视频的视频列表;根据第一聚合数据和第二聚合数据确定目标视频的目标个数;根据目标视频的目标个数和用户需要查找的视频类型生成第一视频列表。
Description
技术领域
本发明涉及直播平台技术领域,尤其涉及一种视频处理的方法及装置。
背景技术
对于直播平台来说,用户需要对直播平台所提供的内容进行筛选,直播平台需要获取用户关注的主播的列表,以向用户进行针对性的推荐。现有技术中,只能对直播平台上的全部视频进行一定的排序。
因为直播平台上的视频数量大,处理时间长,并且大部分排序靠前的视频并不是用户需要的视频,用户需要单独去查找喜欢的主播,然后在喜欢的主播的视频列表中查找需要的视频,增加了用户查找视频的时长。
发明内容
本发明实施例提供了一种视频处理的方法及装置,用于根据用户需要查找的视频类型确定用户关注的主播的上传视频的视频列表,提高了查找视频的效率。
本发明实施例的第一方面提供了一种视频处理的方法,包括:接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;获取用户关注的主播列表和用户需要查找的视频类型;根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。
在一种可能的实施例中,所述根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳,包括:根据所述主播列表在直播平台的全部视频中查找各个主播的最后更新时间戳;若查找到聚合的最后更新时间戳,则取出所述各个主播的最后更新时间戳作为第一聚合数据;若未查找到聚合的最后更新时间戳,则生成第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳。
在一种可能的实施例中,所述根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表,包括:根据所述主播列表在直播平台的全部视频中查找各个主播的上传视频的视频列表;若查找到所述各个主播的上传视频的视频列表,则取出所述各个主播的上传视频的视频列表作为第二聚合数据;若未查找到所述各个主播的上传视频的视频列表,则生成第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表。
在一种可能的实施例中,所述根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数之后,所述根据所述目标视频的目标个数和所述用户需要查找的视频类型生成推第一视频列表之前,所述方法还包括:判断所述用户关注的主播列表中主播的总数量;若所述总数量小于第一阈值,则在所述用户关注的主播列表中选择全部主播;若所述总数量大于所述第一阈值,则在所述用户关注的主播列表中选择所述预置个数的主播,所述预置个数为所述第一阈值。
在一种可能的实施例中,所述方法还包括:判断在所述第一视频列表的当前页的停留时长是否超过预设时长;若所述停留时长超过所述预设时长,则重新生成第二视频列表,所述第二视频列表用于向用户展示目标个数的目标视频。
在一种可能的实施例中,所述方法还包括:更改所述上传视频的配置;若不存在所述第二聚合数据,则生成所述第二聚合数据,并将生成的所述第二聚合数据回写到redis数据库。
在一种可能的实施例中,所述方法还包括:为所述第二聚合数据设置过期时长;若所述第二聚合数据存在时长超过所述过期时长,则删除过期的第二聚合数据。
本发明实施例的第二方面提供了一种视频处理的装置,包括:接收单元,用于接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;获取单元,用于获取用户关注的主播列表和用户需要查找的视频类型;第一确定单元,用于根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;第二确定单元,用于根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;第三确定单元,用于根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;生成单元,用于根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。
本发明第三方面提供了一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机管理类程序时实现如上述任意一项所述的方法的步骤。
本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机管理类程序,其特征在于:所述计算机管理类程序被处理器执行时实现如上述任意一项所述的方法的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;获取用户关注的主播列表和用户需要查找的视频类型;根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。本发明实施例中,根据用户需要查找的视频类型确定用户关注的主播的上传视频的视频列表,提高了查找视频的效率。
附图说明
图1为本发明实施例提供的一种视频处理的方法的流程图;
图2为本发明实施例提供的一种视频处理的装置的结构示意图;
图3为本发明实施例提供的一种电子设备的硬件结构示意图;
图4为本发明实施例提供的一种计算机可读存储介质的硬件结构示意图。
具体实施方式
本发明实施例提供了一种视频处理的方法及装置,用于根据用户需要查找的视频类型确定用户关注的主播的上传视频的视频列表,提高了查找视频的效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明实施例提供的一种视频处理的方法,具体包括:
步骤101、接收用户的视频查询指令,该视频查询指令用于指示在直播平台上查找目标视频,该目标视频的视频类型为用户需要查找的视频类型。
接收超文本预处理器(hypertext preprocessor,PHP)服务器发送的用户的视频查询指令,响应于该视频查询指令,对直播平台中的视频进行查询,具体实现如下:
首先新增一个配置项show_video_types,该show_video_types位一个64位整数,每一位来表示一种视频类型,组合位来表示要展示哪几种视频类型,通过定义的不同值区分不同的视频类型,下面是每一种的视频类型定义:当值为0时表示空;当值为1时表示本地上传的视频;当值为2时表示直播转录播的视频;当值为4时表示主播手动截取的直播精彩时刻;当值为8时表示自动截取的直播精彩时刻;当值为16时表示用户拍摄上传的视频;当值为32时表示粉丝截取的直播视频。具体实现如下:
enum VideoType
{
VT_NONE=0;
VT_UPLOAD=1;
VT_RECORDED=2;
VT_ANCHOR_MANUAL_CUT=4;
VT_AUTO_CUT=8;
VT_USER_SHOOT=16;
VT_FANS_CUT=32;
}
步骤102、获取用户关注的主播列表和用户需要查找的视频类型。
获取用户关注的主播列表。需要新增外部接口,外部接口的具体实现如下:
首先设计一个第一动态视频服务接口,如,service VideoDynamic[groupid=414000],其中groupid用于表示动态视频ID的最大取值,例如,该最大取值可以为41400,即该动态视频ID的取值范围为(0,41400];
{
查询用户关注的主播(即UP主)列表,如:
rpc query_user_uploader_list(QueryUserUploaderListRequest)
returns(QueryUserUploaderListRespond);
查询用户的视频列表,如:rpc query_user_video_list(QueryUserVideoListRequest)
returns(QueryUserVideoListRespond);
};
其中,查询用户关注的主播列表请求的实现接口为:
其中,视频更新时间信息的实现接口为:
其中,查询用户关注的主播列表响应的实现接口为:
其次设计第二动态视频服务接口,如,service VideoDynamic[groupid=414000],可以理解的是,第一动态视频服务接口和第二动态视频接口分别获取用户关注的主播列表、以及用户的视频列表,确保同一个接口上的数据的统一,避免了不同数据之间的干扰。
{
根据视频类型,查询用户的视频列表,如:
rpc uery_user_video_list_by_videotype(QueryUserVideoListByVideoTypeRequest)returns(QueryUserVideoListRespond);
};
其中,查询上传视频的视频列表请求的实现接口为:
其中,查询用户的视频列表请求的实现接口为:
最后,视频信息的实现接口为:
其中,查询用户的视频列表响应的实现接口为:
需要说明的是,需要同时缓存用户关注主播列表和用户的视频列表,保证两者数据展示保持一致;可以设置缓冲的大小为1000,缓存的过期时间设置为重新计算用户动态数量的时间一样,保证在提醒用户有动态时,缓存也是过期了;在取每个主播(即up主)的视频时,如果用户关注的主播数量小于500(可根据实际情况设置),就全量取出主播的要展示视频列表,如果数量超过500,就取最近7天(可根据实际情况设置)的视频列表。
步骤103、根据视频查询指令和主播列表确定第一聚合数据,该第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳。
根据视频查询指令和主播列表确定第一聚合数据,第一聚合数据具体实现为:aggregate_type_uploader_activetime:$(aggregate_videotype)。
其中,videotype_uploader_activetime:$(videotype)是用来存放一种视频类型videotype的主播(UP主)最后更新时间戳,为hash结构,field为主播uid,value为主播的videotype类型视频的最后更新时间戳;aggregate_type_uploader_activetime:$(aggregate_videotype)是用来存放当前要展示的聚合类型视频(即上传视频)的主播最后更新时间戳,为一个hash结构,key由aggregate_uploader_activetime和要展示的视频类型aggregate_videotype生成,field为主播uid,value为当前要展示的类型视频的主播最后更新时间戳,根据这个来排序返回用户关注的主播列表;其中,aggregate_uploader_activetime:$(aggregate_videotype)是一个聚合数据,初始值为空的。
当查询某个主播的当前要展示的类型视频的最后更新时间戳,从aggregate_uploader_activetime:$(aggregate_videotype)中没有找到,就根据show_video_types配置项,查询videotype_uploader_activetime:$(videotype),合并查询求出前要展示的类型视频的最后更新时间戳,再进行更新。对于没有要展示类型视频的主播,aggregate_uploader_activetime:$(aggregate_videotype)是没有的,但需要写redis为0,防止查询不到这个第一聚合数据,一直通过联合耗时查询,浪费系统资源。
步骤104、根据第一聚合数据和主播列表确定第二聚合数据,该第二聚合数据用于指示用户关注的主播的上传视频的视频列表。
为了防止过滤操作太耗时,所以存储每个主播的要展示的类型的视频,具体为uploader_types:$(aggregate_type):($uid),uploader_types:$(aggregate_type):($uid)是一份聚合数据,方便查询主播的视频类型,不用多于的过滤操作。
例如,第一次聚合数据uploader_types:$(aggregate_type):($uid)为空,在查询该第二聚合数据的时候,发现为空,就从uploader::$(uid)里面取出全部的最多500部的视频,然后找到其中要展示的视频信息,得到第二聚合数据,并写入uploader_types:$(aggregate_type):($uid)。对于没有要展示类型视频的主播,其聚合数据uploader_types:$(aggregate_type):($uid)也是没有的,但是为了防止一直要遍历主播的全量视频列表,需要给没有展示类型视频的主播的聚合数据添加一个0成员,表示这个主播没有展示类型视频。
步骤105、根据第一聚合数据和第二聚合数据确定目标视频的目标个数。
根据第一聚合数据和第二聚合数据确定需要展示的目标视频的目标个数。具体地,第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳,第二聚合数据用于指示用户关注的主播的上传视频的视频列表,当用户选定筛选时间段后,根据该筛选时间段和第一聚合数据所指示的最后更新时间戳,在第二聚合数据指示的视频列表中确定满足筛选时间段和视频类型的视频的个数,该个数即为目标视频的目标个数。为便于理解,例如,用户确定筛选时间段为3天内,若当前时间为11月7日,第一聚合数据包括{9月20日,10月21日,11月5日,11月6日},则在主播于11月5日和11月6日上传的视频中找出满足视频类型的视频的个数,即为目标个数。
需要说明的是,对于每一种视频类型,都需要保存每个主播最后更新这种视频类型的时间戳,每一种视频类型,采用一个hash结构,结构组成如下:
key | field | value |
uploader_activetime:$(videotype) | uid | timestamp |
其中,key由字符串"uploader_activetime:"和视频类型组成,field为视频作者uid,value为视频作者最后一次更新这种视频类型的时间戳。
目前使用的active_time_redis实例使用内存为1.39GB,其中用户的浏览记录数量为1700万条,占用大部分内存;uploaderlist数量为20万左右,占用内存大概20MB,现在新增7种类型的数据,内存是够用的,但是actvie_time_redis是单实例,可能存在每秒查询率(query per second,QPS)的压力。
对于要展示的几种类型的视频,也采用一个hash结构,结构组成如下:
key | field | value |
uploader_activetime:$(aggregate_videotype) | uid | timestamp |
其中,key由字符串"uploader_activetime:"和要展示视频类型组成,field为视频作者uid,timestamp为视频作者最后一次更新这种视频类型的时间戳。
对于要展示的几种类型的视频,也采用一个hash结构,结构组成如下:
key | score | member |
uploader:$(aggregate_type):($uid) | timestamp | video_id |
其中,key由字符串"uploader_types:"、要展示的几种视频类型aggregate_type和主播的uid组成,score为视频的上传时间戳,member为视频id。
用户的缓存结构变更,也采用一个hash结构,结构组成如下:
key | field | value |
u_video:$(videotype):$(uid) | uploader:vid | timestamp |
其中,key由字符串"u_video:"、视频类型和用户uid组成,field为uploader:vid拼凑的字符串组成,value为上传视频的时间戳。
步骤106、根据目标视频的目标个数和用户需要查找的视频类型生成第一视频列表,该第一视频列表用于向用户展示目标个数的目标视频。
根据目标视频的目标个数生成第一视频列表,该第一视频列表用于向用户展示目标个数的目标视频,其中,该第一视频列表按照更新时间的早晚进行降序排列,更新时间越晚,则排序越靠前。该过程可以分为三个阶段:
步骤1、在第一阶段,更新视频的时候,更新uploaderlistnew的时间戳,同时也更新新增的两个时间戳,两个时间戳分别为videotype_uploader_activetime:$(videotype)和聚合数据aggregate_type_uploader_activetime:$(aggregate_videotype);读接口,都还是读的旧的数据。
步骤2、开始用python脚本来开始迁移数据,生成每种类型视频的主播最后更新时间戳,具体就是从数据库中导出全部的有效的视频信息,然后在python脚本中计算出每个主播的每个类型视频的最后更新时间戳,并依次写入redis数据库。
步骤3、数据迁移完成后,切换到第二阶段,还是双写,但是读接口开始读新的数据.
步骤4、切换到第三阶段,只写新的时间戳,读接口还是读的新的数据。
举例说明,根据视频类型查询用户关注的主播的视频列表的接口的过程如下:
1、查询第一页的时候,如果用户的视频列表的缓存为空或者缓存不为空但是距离上次更新缓存时间超过2min(还可以是其他值),就重新去实时获取用户关注的主播们的视频列表;
2、为了加快实时获取视频列表的速度,先拉去N*N(一页数据量)返回给用户第一页数据,然后再异步全量获取所有主播的视频列表;
3、在取每个主播的视频时,如果用户关注的主播数量小于500(可配置设置),就全量取出主播的要展示视频列表,如果超过500,就取最近20天(可配置)的视频列表;
4、取到全量数据后,最多取最近的500条,然后更新缓存,缓存的到期时间为6小时(还可以是其他值);
5、当查询的非第一页,就从缓存取数据,且更新缓存到期时间为6小时。
本发明实施例中,根据用户需要查找的视频类型确定用户关注的主播的上传视频的视频列表,提高了查找视频的效率。
可选的,在上述图1对应的实施例的基础上,本发明实施例提供的视频处理的方法的可选实施例中,所述根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳,包括:根据所述主播列表在直播平台的全部视频中查找各个主播的最后更新时间戳;若查找到聚合的最后更新时间戳,则取出所述各个主播的最后更新时间戳作为第一聚合数据;若未查找到聚合的最后更新时间戳,则生成第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳。
可选的,在上述图1对应的实施例的基础上,本发明实施例提供的视频处理的方法的可选实施例中,所述根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表,包括:根据所述主播列表在直播平台的全部视频中查找各个主播的上传视频的视频列表;若查找到所述各个主播的上传视频的视频列表,则取出所述各个主播的上传视频的视频列表作为第二聚合数据;若未查找到所述各个主播的上传视频的视频列表,则生成第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表。
可选的,在上述图1对应的实施例的基础上,本发明实施例提供的视频处理的方法的可选实施例中,所述根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数之后,所述根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表之前,所述方法还包括:判断所述用户关注的主播列表中主播的总数量;若所述总数量小于第一阈值,则在所述用户关注的主播列表中选择全部主播;若所述总数量大于所述第一阈值,则在所述用户关注的主播列表中选择所述预置个数的主播,所述预置个数为所述第一阈值。
可选的,在上述图1对应的实施例的基础上,本发明实施例提供的视频处理的方法的可选实施例中,判断在所述第一视频列表的当前页的停留时长是否超过预设时长;若所述停留时长超过所述预设时长,则重新生成第二视频列表,所述第二视频列表用于向用户展示目标个数的目标视频。
可选的,在上述图1对应的实施例的基础上,本发明实施例提供的视频处理的方法的可选实施例中,所述方法还包括:
更改所述上传视频的配置;若不存在所述第二聚合数据,则生成所述第二聚合数据,并将生成的所述第二聚合数据回写到redis数据库。
可选的,在上述图1对应的实施例的基础上,本发明实施例提供的视频处理的方法的可选实施例中,所述方法还包括:
为所述第二聚合数据设置过期时长;若所述第二聚合数据存在时长超过所述过期时长,则删除过期的第二聚合数据。
为了保证在切换换展示视频类型的时候,旧的聚合数据能被删除,我们把聚合数据(第一聚合数据和/或第二聚合数据)设置了过期时长,过期时长为3天,在每次更新或者读取aggregate_uploader_activetime:$(aggregate_videotype)值时候,都更新过期时长为3天,当切换了新的展示类型,旧的数据不会被访问到了,过期时长就会慢慢到期,然后被删除。同上面的聚合数据类型,也设置uploader_types:$(aggregate_type):($uid)过期时长,过期时长为7天,防止那些长期没有动态的主播被误删除。
上面从视频处理的方法的角度对本发明实施例进行了描述,下面从视频处理的装置的角度对本发明实施例进行描述。
请参阅图2,图2为本发明实施例提供的视频处理的装置的实施例示意图,视频处理的装置包括:
接收单元201,用于接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;
获取单元202,用于获取用户关注的主播列表和用户需要查找的视频类型;
第一确定单元203,用于根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;
第二确定单元204,用于根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;
第三确定单元205,用于根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;
生成单元206,用于根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。
请参阅图3,图3为本发明实施例提供的电子设备的实施例示意图。
如图3所示,本发明实施例提供了一种电子设备,包括存储器310、处理器320及存储在存储器320上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;获取用户关注的主播列表和用户需要查找的视频类型;根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。
可选的,在一种可能的实施例中,所述处理器320具体用于:根据所述主播列表在直播平台的全部视频中查找各个主播的最后更新时间戳;若查找到聚合的最后更新时间戳,则取出所述各个主播的最后更新时间戳作为第一聚合数据;若未查找到聚合的最后更新时间戳,则生成第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳。
可选的,在一种可能的实施例中,所述处理器320具体用于:根据所述主播列表在直播平台的全部视频中查找各个主播的上传视频的视频列表;若查找到所述各个主播的上传视频的视频列表,则取出所述各个主播的上传视频的视频列表作为第二聚合数据;若未查找到所述各个主播的上传视频的视频列表,则生成第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表。
可选的,在一种可能的实施例中,所述处理器320具体用于:判断所述用户关注的主播列表中主播的总数量;若所述总数量小于第一阈值,则在所述用户关注的主播列表中选择全部主播;若所述总数量大于所述第一阈值,则在所述用户关注的主播列表中选择所述预置个数的主播,所述预置个数为所述第一阈值。
可选的,在一种可能的实施例中,所述处理器320具体用于:判断在所述第一视频列表的当前页的停留时长是否超过预设时长;若所述停留时长超过所述预设时长,则重新生成第二视频列表,所述第二视频列表用于向用户展示目标个数的目标视频。
可选的,在一种可能的实施例中,所述处理器320还用于:更改所述上传视频的配置;若不存在所述第二聚合数据,则生成所述第二聚合数据,并将生成的所述第二聚合数据回写到redis数据库。
可选的,在一种可能的实施例中,所述处理器320具体用于:为所述第二聚合数据设置过期时长;若所述第二聚合数据存在时长超过所述过期时长,则删除过期的第二聚合数据。
由于本实施例所介绍的电子设备为实施本发明实施例中视频处理的装置所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
请参阅图4,图4为本发明实施例提供的计算机可读存储介质的实施例示意图。
如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现如下步骤:接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;获取用户关注的主播列表和用户需要查找的视频类型;根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:根据所述主播列表在直播平台的全部视频中查找各个主播的最后更新时间戳;若查找到聚合的最后更新时间戳,则取出所述各个主播的最后更新时间戳作为第一聚合数据;若未查找到聚合的最后更新时间戳,则生成第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:根据所述主播列表在直播平台的全部视频中查找各个主播的上传视频的视频列表;若查找到所述各个主播的上传视频的视频列表,则取出所述各个主播的上传视频的视频列表作为第二聚合数据;若未查找到所述各个主播的上传视频的视频列表,则生成第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:判断所述用户关注的主播列表中主播的总数量;若所述总数量小于第一阈值,则在所述用户关注的主播列表中选择全部主播;若所述总数量大于所述第一阈值,则在所述用户关注的主播列表中选择所述预置个数的主播,所述预置个数为所述第一阈值。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时还用于实现如下步骤:判断在所述第一视频列表的当前页的停留时长是否超过预设时长;若所述停留时长超过所述预设时长,则重新生成第二视频列表,所述第二视频列表用于向用户展示目标个数的目标视频。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时还用于实现如下步骤:更改所述上传视频的配置;若不存在所述第二聚合数据,则生成所述第二聚合数据,并将生成的所述第二聚合数据回写到redis数据库。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:为所述第二聚合数据设置过期时长;若所述第二聚合数据存在时长超过所述过期时长,则删除过期的第二聚合数据。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种视频处理的方法,其特征在于,包括:
接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;
获取用户关注的主播列表和用户需要查找的视频类型;
根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;
根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;
当用户选定筛选时间段后,根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;
根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。
2.根据权利要求1所述的方法,其特征在于,所述根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳,包括:
根据所述主播列表在直播平台的全部视频中查找各个主播的最后更新时间戳;
若查找到聚合的最后更新时间戳,则取出所述各个主播的最后更新时间戳作为第一聚合数据;
若未查找到聚合的最后更新时间戳,则生成第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表,包括:
根据所述主播列表在直播平台的全部视频中查找各个主播的上传视频的视频列表;
若查找到所述各个主播的上传视频的视频列表,则取出所述各个主播的上传视频的视频列表作为第二聚合数据;
若未查找到所述各个主播的上传视频的视频列表,则生成第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数之后,所述根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表之前,所述方法还包括:
判断所述用户关注的主播列表中主播的总数量;
若所述总数量小于第一阈值,则在所述用户关注的主播列表中选择全部主播;
若所述总数量大于所述第一阈值,则在所述用户关注的主播列表中选择预置个数的主播,所述预置个数为所述第一阈值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
判断在所述第一视频列表的当前页的停留时长是否超过预设时长;
若所述停留时长超过所述预设时长,则重新生成第二视频列表,所述第二视频列表用于向用户展示目标个数的目标视频。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
更改所述上传视频的配置;
若不存在所述第二聚合数据,则生成所述第二聚合数据,并将生成的所述第二聚合数据回写到redis数据库。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
为所述第二聚合数据设置过期时长;
若所述第二聚合数据存在时长超过所述过期时长,则删除过期的第二聚合数据。
8.一种视频处理的装置,其特征在于,包括:
接收单元,用于接收用户的视频查询指令,所述视频查询指令用于指示在直播平台上查找目标视频,所述目标视频的视频类型为用户需要查找的视频类型;
获取单元,用于获取用户关注的主播列表和用户需要查找的视频类型;
第一确定单元,用于根据所述视频查询指令和所述主播列表确定第一聚合数据,所述第一聚合数据用于指示用户关注的主播的上传视频的最后更新时间戳;
第二确定单元,用于根据所述第一聚合数据和所述主播列表确定第二聚合数据,所述第二聚合数据用于指示用户关注的主播的上传视频的视频列表;
第三确定单元,用于当用户选定筛选时间段后,根据所述第一聚合数据和所述第二聚合数据确定目标视频的目标个数;
生成单元,用于根据所述目标视频的目标个数和所述用户需要查找的视频类型生成第一视频列表,所述第一视频列表用于向用户展示目标个数的目标视频。
9.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任意一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910038487.5A CN109756780B (zh) | 2019-01-16 | 2019-01-16 | 一种视频处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910038487.5A CN109756780B (zh) | 2019-01-16 | 2019-01-16 | 一种视频处理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756780A CN109756780A (zh) | 2019-05-14 |
CN109756780B true CN109756780B (zh) | 2021-05-28 |
Family
ID=66405699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910038487.5A Active CN109756780B (zh) | 2019-01-16 | 2019-01-16 | 一种视频处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756780B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191364B (zh) * | 2019-05-31 | 2022-03-08 | 武汉瓯越网视有限公司 | 视频数据迁移方法、存储介质、设备及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744928A (zh) * | 2013-12-30 | 2014-04-23 | 北京理工大学 | 一种基于历史访问记录的网络视频分类方法 |
CN104065981A (zh) * | 2014-06-20 | 2014-09-24 | 海信集团有限公司 | 一种视频推荐方法和装置 |
CN105915944A (zh) * | 2016-05-31 | 2016-08-31 | 乐视控股(北京)有限公司 | 一种视频共享方法及装置 |
CN106534336A (zh) * | 2016-11-29 | 2017-03-22 | 武汉斗鱼网络科技有限公司 | 一种视频订阅动态的实现系统及方法 |
CN109120964A (zh) * | 2018-09-30 | 2019-01-01 | 武汉斗鱼网络科技有限公司 | 视频集合的消息推送方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170180805A1 (en) * | 2015-12-22 | 2017-06-22 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for video follow-play |
-
2019
- 2019-01-16 CN CN201910038487.5A patent/CN109756780B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744928A (zh) * | 2013-12-30 | 2014-04-23 | 北京理工大学 | 一种基于历史访问记录的网络视频分类方法 |
CN104065981A (zh) * | 2014-06-20 | 2014-09-24 | 海信集团有限公司 | 一种视频推荐方法和装置 |
CN105915944A (zh) * | 2016-05-31 | 2016-08-31 | 乐视控股(北京)有限公司 | 一种视频共享方法及装置 |
CN106534336A (zh) * | 2016-11-29 | 2017-03-22 | 武汉斗鱼网络科技有限公司 | 一种视频订阅动态的实现系统及方法 |
CN109120964A (zh) * | 2018-09-30 | 2019-01-01 | 武汉斗鱼网络科技有限公司 | 视频集合的消息推送方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109756780A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109688422B (zh) | 一种视频处理的方法及装置 | |
CN106331778A (zh) | 视频推荐方法和装置 | |
CN103324696B (zh) | 一种数据日志收集与统计分析系统和方法 | |
CN113779416B (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
CN103516774A (zh) | 一种基于云存储的消除多次重复存储的方法及系统 | |
CN106527958A (zh) | 用于分布式存储系统的写入数据、获取数据的方法和设备 | |
CN110321383A (zh) | 大数据平台数据同步方法、装置、计算机设备及存储介质 | |
CN106488256B (zh) | 一种数据处理方法及装置 | |
CN110113626B (zh) | 一种回放直播视频的方法及装置 | |
CN109299352B (zh) | 搜索引擎中网站数据的更新方法、装置和搜索引擎 | |
CN106709851A (zh) | 大数据检索方法及装置 | |
CN112598448A (zh) | 动态素材数据处理方法、系统、计算机和可读存储介质 | |
CN113051460A (zh) | 基于Elasticsearch的数据检索方法、系统、电子设备及存储介质 | |
CN109756780B (zh) | 一种视频处理的方法及装置 | |
CN106570060B (zh) | 一种信息流中数据的随机抽取方法及装置 | |
CN114520931A (zh) | 视频生成方法、装置、电子设备及可读存储介质 | |
CN113010790A (zh) | 内容推荐方法、装置、服务器及存储介质 | |
WO2023246259A1 (zh) | 视频识别方法、装置、计算机设备和存储介质 | |
CN109376174B (zh) | 一种选择数据库的方法和装置 | |
CN110019870B (zh) | 基于内存图像集群的图像检索方法及系统 | |
CN110019192B (zh) | 数据库的检索方法及装置 | |
JP2005267555A5 (zh) | ||
CN114051162A (zh) | 一种基于播放记录的缓存方法及装置 | |
CN109063201B (zh) | 一种基于混合存储方案的impala在线交互式查询方法 | |
CN109982143B (zh) | 一种确定视频播放时延的方法、装置、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |