一种视频播放方法、装置、系统及电子设备与流程

    专利2022-07-07  93


    本发明涉及视频播放技术领域,特别是涉及一种视频播放方法、装置、系统及电子设备。



    背景技术:

    由于视频网站所提供的视频存在被盗用的风险,因此,视频网站在为用户播放视频时,通常希望播放视频的设有水印的视频播放数据,即水印播放数据。针对同一个视频而言,不同的用户,水印播放数据中所设有的水印不同。这样,针对盗版视频,可以基于盗版视频中的水印,追踪到盗版视频的来源用户。

    为了向用户反馈设有水印的水印播放数据,现有技术中,视频播放方法包括:服务端在接收到用户通过客户端发送的某一视频的播放请求后,为该客户端生成设有水印的水印播放数据,然后,向该客户端发送所生成的水印播放数据以使得客户端播放该水印播放数据。

    由于视频播放过程中包含带有水印的水印播放数据的生成环节,而该生成环节通常较为耗时,无疑导致视频播放的启播耗时较长。



    技术实现要素:

    本发明实施例的目的在于提供一种视频的水印播放数据预生成方法、装置及电子设备,以解决现有技术中视频播放的启播耗时较长的问题。具体技术方案如下:

    第一方面,本发明实施例提供了一种视频播放方法,,应用于服务端,所述方法包括:

    接收客户端发送的目标视频的播放请求;

    基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据;从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,所述待下发的水印播放数据为未下发至任一客户端的数据;

    向发送所述播放请求的客户端发送所述目标播放数据,以使发送所述播放请求的客户端播放所述目标播放数据。

    可选地,每一视频的多个水印播放数据的标识信息中包含该视频的视频标识;

    基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据,包括:

    从所述预定存储区中的水印播放数据中,确定标识信息中包含所述目标视频的视频标识的水印播放数据,得到所述目标视频的各个水印播放数据。

    可选地,所述预定存储区中的任一视频的多个水印播放数据的存储方式,包括:

    周期性生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中;和/或,

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    可选地,当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,包括:

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,若该视频的热度值超过第一阈值和/或该视频的水印播放数据在至少一个生成周期的平均选取量超过第二阈值,则生成该视频的至少一个水印播放数据。

    可选地,所述预定存储区中的任一视频的多个水印播放数据的存储方式,还包括:

    若该视频的上线类型为预上线类型,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    可选地,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,如果针对该视频的预约播放量大于所述预定存储区中该视频的水印播放数据的数量,每当检测到任一客户端发送的该视频的预约播放请求时,生成该视频的至少一个水印播放数据。

    可选地,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,统计该视频对应的参考视频在上线后的至少一个生成周期内的访问总量;其中,该视频对应的参考视频为与该视频属于同一内容类别的视频;

    基于该访问总量,确定该视频的水印播放数据的第二待生成数量;

    生成该视频的所述第二待生成数量个水印播放数据。

    可选地,所述周期性生成该视频的至少一个水印播放数据,包括:

    当进入到预定的任一生成周期时,获得该视频的指定信息;其中,该视频的指定信息包括:该视频的热度值、预估选取量和当前存储数量,所述预估选取量为预估出的本周期内该视频的水印播放数据的待选取数量,所述当前存储数量为所述预定存储区中该视频的水印播放数据的当前数量;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量;

    生成该视频的所述第一待生成数量个水印播放数据。

    可选地,该视频的预估选取量的确定方式包括:包括:

    计算n1个生成周期内所述预定存储区中该视频的水印播放数据的平均选取量,得到该视频的预估选取量;其中,n1个生成周期为在本周期之前的一个或多个生成周期。

    可选地,该视频的热度值为n2个生成周期内该视频的每秒查询率的平均值;其中,n2个生成周期为本周期之前的一个或多个生成周期;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量,包括:

    利用预定公式,计算本周期内该视频的水印播放数据的第一待生成数量;

    其中,所述预定公式包括:

    w=r*t n-m

    其中,w为所述第一待生成数量,r为该视频的热度值,t为所述n2个生成周期的总时长,n为所述预估选取量,m为所述当前存储数量。

    第二方面,本发明实施例提供了一种视频播放系统,包括服务端和客户端;

    所述客户端,用于向所述服务端发送目标视频的播放请求,以及接收并播放所述服端发送的目标播放数据;

    所述服务端,用于接收所述目标视频的播放请求;基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;向发送所述播放请求的客户端发送所述目标播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据,所述待下发的水印播放数据为未下发至任一客户端的数据。

    第三方面,本发明实施例提供了一种视频播放装置,应用于服务端,所述装置包括:

    接收模块,用于接收客户端发送的目标视频的播放请求;

    确定模块,用于基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据;

    选取模块,用于从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,所述待下发的水印播放数据为未下发至任一客户端的数据;

    发送模块,用于向发送所述播放请求的客户端发送所述目标播放数据,以使发送所述播放请求的客户端播放所述目标播放数据。

    第四方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

    存储器,用于存放计算机程序;

    处理器,用于执行存储器上所存放的程序时,实现上述第一方面所提供的视频播放方法的步骤。

    第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所提供的视频播放方法的步骤。

    本发明实施例提供的方案中,预先在预定存储区中存储有各视频的多个水印播放数据;进而,在接收到客户端针对目标视频的播放请求时,直接从预定存储区中选取目标视频的未下发至任一客户端的水印播放数据进行下发,这样使得在保证为客户端分配唯一的水印播放数据同时,避免在视频播放过程中来生成目标视频的水印播放数据。因此,通过本方案可以解决现有技术视频播放的启播耗时较长的问题。

    另外,由于在接收到播放请求时不再需要先生成水印播放数据再播放,因此,可以避免由于水印播放数据的无法生成所导致的视频播放失败,从而可以降低视频播放的失败率。

    当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1为本发明实施例中所提供的一种视频播放方法的流程图;

    图2为本发明实施例中所提供的一种在预定存储区中存储视频的水印播放数据的存储过程的原理图;

    图3为本发明实施例中所提供的一种视频播放系统的结构示意图;

    图4为本发明实施例中所提供的一种视频播放装置的结构示意图;

    图5为本发明实施例所提供的一种电子设备的结构示意图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    为了解决现有技术中视频播放的启播耗时较长的问题,本发明实施例提供了一种视频播放方法、装置、系统及电子设备。其中,所述的启播即为从发出播放请求到播放的阶段。

    下面首先对本发明实施例所提供的一种视频播放方法进行介绍。

    本发明实施例所提供的视频播放方法应用于服务端,该服务端用于为客户端提供视频播放功能。示例性的,该服务端可以短视频客户端对应的服务端,也可以为短视频客户端以外的其他视频客户端对应的服务端,等等。

    并且,为了解决现有技术问题中,预先在预定存储区中存储各视频的多个水印播放数据,以使得在视频播放过程中,服务端可以直接从预定存储区中选取水印播放数据并下发给发送视频播放请求的客户端。其中,预定存储区中各视频的多个水印播放数据的存储可以由预定存储装置来实现,该预定存储装置可以为该服务端中的插件程序,也可以为不同于服务端的专门的功能程序。并且,在预定存储装置为不同于服务端的功能程序时,该预定存储装置和该服务端可以部署于同一个服务器中,当然,也可以部署于不同的服务器中,并不作为具体限制。

    另外,本发明实施例中所涉及的水印播放数据为嵌入不可见的水印的播放数据,肉眼不可见的数据即在多媒体介质中的每一个关键帧中嵌入的数据。并且,本发明实施例并不对视频的水印播放数据的具体生成方法进行限定。示例性的,针对任一视频而言,该视频的水印播放数据的生成方式可以包括:获取该视频的两路视频码流,生成一个混合序列,按照该混合序列对两路视频码流进行数据混合,得到该视频的一个水印播放数据。其中,该混合序列即为水印,视频的任意两个水印播放数据所利用的混合序列不同,从而使得同一视频的任意两个水印播放数据中所设有的水印不同。举例而言,获取视频a的a、b两路视频码流,该视频a的一个水印播放数据所利用的混合序列可以为a1、b2、a3、b4、a5、b6;该视频a的另外一个水印播放数据所利用的混合序列可以为a1、a2、b3、b4、a5、b6。其中,a1、a2、a3、a5分别为a路视频的第一帧、第二帧、第三帧和第五帧,同样的,b2、b3、b4和b6分别为b路视频流的第二帧、第三帧、第四帧和第六帧。另外,可以理解的是,视频码流可以为是视频的标清码流、高清码流、超清码流、720p码流、1080p码流、蓝光码流等等。

    一种视频播放方法,其特征在于,应用于服务端,所述方法包括:

    接收客户端发送的目标视频的播放请求;

    基于该目标视频的视频标识,确定预定存储区中该目标视频的各个水印播放数据;其中,该预定存储区中存储有各视频的多个水印播放数据;

    从所确定的该目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,该待下发的水印播放数据为未下发至任一客户端的数据;

    向发送该播放请求的客户端发送该目标播放数据,以使发送该播放请求的客户端播放该目标播放数据。

    本发明实施例提供的方案中,预先在预定存储区中存储有各视频的多个水印播放数据;进而,在接收到客户端针对目标视频的播放请求时,直接从预定存储区中选取目标视频的未下发至任一客户端的水印播放数据进行下发,这样使得在保证为客户端分配唯一的水印播放数据同时,避免在视频播放过程中来生成目标视频的水印播放数据。因此,通过本方案可以解决现有技术视频播放的启播耗时较长的问题。

    另外,由于在接收到播放请求时不再需要先生成水印播放数据再播放,因此,可以避免由于水印播放数据的无法生成所导致的视频播放失败,从而可以降低视频播放的失败率。

    下面结合附图,对本发明实施例所提供的一种视频播放方法进行介绍。

    如图1所示,本发明实施例所提供的一种视频播放方法,可以包括如下步骤:

    s101,接收客户端发送的目标视频的播放请求;

    当用户希望通过客户端播放目标视频,可以通过客户端向对应的服务端发送目标视频的播放请求;相应的,服务端可以接收客户端发送的目标视频的播放请求,进而后续响应该目标视频的播放请求。

    s102,基于该目标视频的视频标识,确定预定存储区中该目标视频的各个水印播放数据;其中,该预定存储区中存储有各视频的多个水印播放数据;

    为了在满足向用户提供目标视频的水印播放数据的要求的同时,解决现有技术问题,服务端在接收到客户端发送的目标视频的播放请求后,基于该目标视频的视频标识,确定预定存储区中该目标视频的各个水印播放数据,进而,从所确定的目标视频的各个水印播放数据中选取数据下发给发送播放请求的该客户端。

    其中,预定存储区中每一视频的多个水印播放数据为该视频的设有不同水印的播放数据,且每一视频的多个水印播放数据具有基于该视频的视频标识所确定的不同标识信息。由于每一视频的多个水印播放数据具有基于该视频的视频标识所确定的不同标识信息,因此,可以基于视频的视频标识,从预定存储区中确定出视频的各个水印播放数据。

    需要说明的是,基于视频的视频标识来确定视频的水印播放数据的标识信息的方式存在多种。示例性的,在一种实现方式中,每一视频的多个水印播放数据的标识信息中包含该视频的视频标识;

    基于该目标视频的视频标识,确定预定存储区中该目标视频的各个水印播放数据,包括:

    从该预定存储区中的水印播放数据中,确定标识信息中包含该目标视频的视频标识的水印播放数据,得到该目标视频的各个水印播放数据。

    示例性的,在另一种实现方式中,每一视频的多个水印播放数据的标识信息中包含对该视频标识进行加密后的内容,不同的视频的视频标识加密后的内容不同;相应的,基于该目标视频的视频标识,确定预定存储区中该目标视频的各个水印播放数据,包括:

    对该目标视频的视频标识进行加密,得到加密内容,从该预定存储区中的水印播放数据中,确定标识信息中包含该加密内容的水印播放数据,得到该目标视频的各个水印播放数据。

    s103,从所确定的该目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,该待下发的水印播放数据为未下发至任一客户端的数据;

    其中,针对任一视频而言,为了保证客户端与水印播放数据的唯一对应性,每一视频的任一个水印播放数据被下发至任一客户端后,可以直接从预定存储区中删除该水印播放数据,以使得预定存储区中的该视频的水印播放数据均是未被下发至客户端的数据;或者,每一视频的任一个水印播放数据被下发至任一客户端后,可以为该水印播放数据设置标签,该标签用于表明已下发客户端。

    在确定出该目标视频的各个水印播放数据后,可以选取未下发至任一客户端的数据,即选取待下发的水印播放数据,作为目标播放数据。可以理解的是,若预定存储区中的每一视频的水印播放数据均是未被下发至客户端的数据,则可以从所确定的该目标视频的各个水印播放数据中,随机选取任一水印播放数据,作为待下发的水印播放数据;若预定存储区中的每一视频的水印播放数据既包含未被下发至客户端的数据,也包括已下发至客户端的数据,则可以从所确定的该目标视频的各个水印播放数据中,选取未设有标签的水印播放数据,作为待下发的水印播放数据。

    s104,向发送该播放请求的客户端发送该目标播放数据,以使发送该播放请求的客户端播放该目标播放数据。

    在获得目标播放数据后,服务端可以将该目标播放数据下发至发送该播放请求的客户端,从而使得发送该播放请求的客户端可以播放目标播放数据,即目标视频的水印播放数据,并且,播放的目标视频的水印播放数据与发送该播放请求的客户端具有唯一对应性,从而为后续的盗版追踪提供实现基础。

    本发明实施例提供的方案中,预先在预定存储区中存储有各视频的多个水印播放数据;进而,在接收到客户端针对目标视频的播放请求时,直接从预定存储区中选取目标视频的未下发至任一客户端的水印播放数据进行下发,这样使得在保证为客户端分配唯一的水印播放数据同时,避免在视频播放过程中来生成目标视频的水印播放数据。因此,通过本方案可以解决现有技术视频播放的启播耗时较长的问题。

    另外,由于在接收到播放请求时不再需要先生成水印播放数据再播放,因此,可以避免由于水印播放数据的无法生成所导致的视频播放失败,从而可以降低视频播放的失败率。

    可选地,本发明的另一实施例中,该预定存储区中的任一视频的多个水印播放数据的存储方式,可以包括:

    生成方式一:周期性生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到该预定存储区中;和/或,

    生成方式二:当检测到该服务端从该预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到该预定存储区中。

    预定存储区中的各个视频可以为预上线类型的视频,也可以为非预上线类型的视频,其中,预上线类型的视频即为在上线之前会发布预上线通知,表明即将上线,并且,用户可以对预上线类型的视频进行预约播放。无论是预上线类型的视频,还是非预上线类型的视频,均可以通过上述的生成方式来生成水印播放数据,并存储到预定存储区中。针对任一视频而言,若该视频仅仅存在一类视频流,那么所谓的生成该视频的至少一个水印播放数据即可以为生成该视频的同一视频流的至少一个水印播放数据。而针对任一视频而言,若该视频存在至少两种视频流,那么所谓的生成该视频的至少一个水印播放数据可以为:生成该视频的至少两种视频流的水印播放数据,且该视频的多种视频流的水印播放数据的数量为该至少一个;并且,可以按照预定比例来分配每一种视频流的水印播放数据的数量。

    针对生成方式一而言:

    该种生成方式为周期性生成方式,也可以称为离线生成方式。具体而言,在进入到每一生成周期时,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到该预定存储区中,该生成周期的具体时长可以根据实际情况设定,示例性的,该生成周期可以为分钟粒度的时长,例如:5min、15min、30min等等,当然该生成周期还可以为秒粒度的时长、小时粒度的时长,等等。以生成周期的时长为1h为例,若该生成过程的起始时间点为2020年11月10日的8:00,则时间点达到8:00时,进入第一个生成周期,时间点达到9:00时,进入第二个生成周期,时间点达到10:00时,进入第三个生成周期,以此类推,并且,在进入任一生成周期时,可以生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到该预定存储区中。

    该种生成方式中,任一视频的至少一个水印播放数据的数量可以为预先根据经验所设定的指定数量,或者,根据预定的数量确定方式所确定出的。

    针对根据预定的数量确定方式所确定出的的情况,周期性生成该视频的至少一个水印播放数据的具体实现方式存在多种。

    可选地,在一种实现方式中,周期性生成该视频的至少一个水印播放数据,可以包括:

    当进入到预定的任一生成周期时,统计该视频在本周期之前每个生成周期内的平均访问量,作为待生成数量;

    生成该视频的该待生成数量个水印播放数据。

    可选地,在一种实现方式中,周期性生成该视频的至少一个水印播放数据,可以包括:

    当进入到预定的任一生成周期时,获得该视频的指定信息;其中,该视频的指定信息包括:该视频的热度值、预估选取量和当前存储数量,该预估选取量为预估出的本周期内该视频的水印播放数据的待选取数量,该当前存储数量为该预定存储区中该视频的水印播放数据的当前数量;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量;

    生成该视频的所述第一待生成数量个水印播放数据。

    可以理解的是,该指定信息可以包括该视频的热度值、预估选取量和当前存储数量,也可以仅仅包括该视频的热度值、预估选取量和当前存储数量中的一种或两种,这也是合理的。其中,由于从预定存储区中选取待下发的水印播放数据后,该待下发的水印播放数据被消耗掉,不会下发给当前发送播放请求的客户端以外的客户端,因此,该预估选取量也可以称为预估消耗量。

    并且,任一视频的热度值的确定方式可以存在多种。示例性,将n2个生成周期内该视频的qps(queries-per-second,每秒查询率)的平均值,作为该视频的热度值,其中,n2个生成周期为本周期之前的一个或多个生成周期;当然,也可以通过其他方式来确定任一视频的热度值,例如,确定在预定时间段内的视频的访问量,作为视频的热度值,等等。

    任一视频的预估选取量的预估选取量的确定方式也可以存在多种。示例性的,在一种实现方式中,计算n1个生成周期内该预定存储区中该视频的水印播放数据的平均选取量,得到该视频的预估选取量;其中,n1个生成周期为在本周期之前的一个或多个生成周期。示例性的,在另一种实现方式中,将本周期的上一个生成周期内该预定存储区中该视频的水印播放数据的选取量,即消耗量,确定为该视频的预估选取量。

    针对该视频的指定信息包括该视频的热度值、预估选取量和当前存储数量的情况而言,示例性的,可以通过如下方式来计算该视频的水印播放数据的第一待生成数量:

    该视频的热度值为n2个生成周期内该视频的每秒查询率的平均值;其中,n2个生成周期为本周期之前的一个或多个生成周期;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量,包括:

    利用预定公式,计算本周期内该视频的水印播放数据的第一待生成数量;

    其中,该预定公式包括:w=r*t n-m

    其中,w为该第一待生成数量,r为该视频的热度值,t为该n2个生成周期的总时长,n为该预估选取量,m为该当前存储数量。具体而言,总时长为n2个生成周期的总秒数。

    上述的确定该视频的水印播放数据的第一待生成数量的实现方式仅仅作为示例,并不应该构成对本发明实施例的限定。例如:可以将预估选取量作为第一待生成数量;或者,将预估选取量与当前数量的差值乘以预定系数,得到第一待生成数量;或者,将该视频的热度值与n2个生成周期的总时长的乘积,作为第一待生成数量,等等。另外,n2和n1的取值可以相同或不同。

    针对生成方式二而言:

    在一种可选地的实现方式中,当检测到该服务端从该述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,可以包括:

    当检测到该服务端从该预定存储区中选取该视频的水印播放数据时,若该视频的热度值超过第一阈值和/或该视频的水印播放数据在至少一个生成周期的平均选取量超过第二阈值,则生成该视频的至少一个水印播放数据。

    需要说明的是,由于选取一个水印播放数据,则表明需要消耗掉一个可用的水印播放数据,因此,该平均选取量也可以称为平均消耗量。

    在该种生成方式下,所生成的该视频的至少一个水印播放数据的具体数量可以不小于当前选取数量,例如:当检测到该服务端从该述预定存储区中选取该视频的一个水印播放数据时,生成该视频的一个或两个水印播放数据。

    并且,第一阈值和第二阈值的取值可以根据实际情况设定,本发明实施例对此不做限定。

    可选地,在本发明的另一实施例中,该预定存储区中的任一视频的多个水印播放数据的存储方式,还可以包括:

    生成方式三:若该视频的上线类型为预上线类型,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到该预定存储区中。

    可以理解的是,针对任一预上线类型的视频而言,该视频在上线之前,可以发布预上线通知,这样,用户可以在查看到该预上线通知后知晓该视频即将上线,或者,对该视频进行预约播放,即用户向服务端提交预约播放请求。

    并且,在获得该视频的预上线通知后,可以立即执行生成该视频的至少一个水印播放数据的步骤,也可以上线前的预定时间,执行生成该视频的至少一个水印播放数据的步骤,例如:上线前5天或者上线前7天。

    该种生成方式中,所生成的该视频的至少一个水印播放数据的数量可以为指定数量,或者,根据预定的数量确定方式所确定的数量。

    针对根据预定的数量确定方式来确定水印播放数据的数量的情况,示例性的,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,可以包括:

    在获得该视频的预上线通知后,统计该视频对应的参考视频在上线后的至少一个生成周期内的访问总量;

    基于该访问总量,确定该视频的水印播放数据的第二待生成数量;

    生成该视频的所述第二待生成数量个水印播放数据。

    其中,任一视频对应的参考视频为与该视频属于同一内容类别的视频,例如:某一视频为电视剧a的续集,则该视频对应的参考视频可以为已上线的该电视剧a;或者,某一视频为明星真人秀综艺,则该视频对应的参考视频可以为已上线的其他明星真人秀综艺。

    其中,该访问总量的确定方式可以存在多种,例如:根据至少一个生成周期内参考视频的qps(queries-per-second,每秒查询率)来确定,例如:qps乘以至少一个生成周期的总秒数,得到该参考视频在至少一个生成周期内的访问总量;或者,根据至少一个生成周期内该参考视频的播放用户总量来确定,例如:该参考视频的播放用户总数乘以视频码流种类数,得到该参考视频的访问总量。

    另外,基于该访问总量,确定该视频的水印播放数据的第二待生成数量的生成方式可以存在多种。示例性的,在一种实现方式中,利用指定公式计算第二待生成数量,该指定公式可以为:x=(1 10%)*y;

    式中,x为第二待生成数量,y为该视频对应的参考视频在至少一个生成周期内的访问总量,y=qps*至少一个生成周期的总秒数。

    当然,在获得该视频的预上线通知后,也可以在满足预定触发条件时,生成该视频的至少一个水印播放数据,例如:该预定条件可以为:如果针对该视频的预约播放量大于该预定存储区中该视频的水印播放数据的数量,每当检测到任一客户端发送的该视频的预约播放请求。针对该种情况,生成该视频的至少一个水印播放数据的实现方式可以为上述的基于访问量的生成方式,也可以为预设的指定数量,本发明实施例对此不做限定。

    为了方案清楚,下面结合图2所示出的原理图,对在预定存储区中存储任一视频的多个水印播放数据的过程进行示例性说明。其中,预定存储区中所存储的各个视频的水印播放数据均是未下发至任一客户端的数据,也就是,从预定存储区中选取一个水印播放数据后,则从该预定存储区中删除该选取的一个水印播放数据,即消耗掉所选取的水印播放数据。

    水印实时生成过程,即上述的生成方式二所给出的生成过程:

    1.1:视频播放服务模块在接收到客户端发送的任一视频的播放请求时,从预定存储区中请求该视频的水印播放数据,即选取该视频的待下发的水印播放数据;若请求到该视频的水印播放数据,则将请求到的水印播放数据下发给客户端;

    1.2:视频播放服务模块若没有请求到该视频的水印播放数据,即水印播放数据未命中,则指示水印服务模块实时混合水印,即指示水印服务模块生成该视频的至少一个水印播放数据;

    1.3:视频播放服务模块在接收到客户端发送的该视频的播放请求时,异步发送水印请求信息至消息中心,该水印请求信息中携带有该视频的视频标识和命中情况等;

    1.4:水印服务模块在接收到视频播放服务模块的指示或检测到从预定存储区中提取该视频的水印播放数据时,异步触发水印实时生成模块以生成该视频的水印播放数据;

    1.5:水印实时生成模块将生成的该视频的水印播放数据存储到预定存储区中,即实时水印写入;

    1.6:消息中心为水印缓存运营模块定制水印离线生成任务提供该视频的热度值和预估选取量,从而为水印离线生成任务提供数据基础;其中,预估选取量即预估消耗量;

    2、水印预生成过程,即上述的生成方式三所给出的生成过程:

    步骤2.1:水印视频生成上线模块向消息中心发送预上线的该视频的包含预上线视频信息的预上线通知;

    步骤2.2:当消息中心接收到预上线通知时,向水印预生成模块发送该视频的预生成请求;

    步骤2.3:水印预生成模块参考该视频对应的参考视频的历史播放数据,例如:参考视频在上线后的至少一个生成周期内的访问总量,确定预生成产量策略,从而得到该视频的预生成产量,即第二待生成数量;

    步骤2.4:水印预生成模块生成该视频的第二待生成数量个水印播放数据,并将所生成的该视频的水印播放数据写入预定存储区中,即预生成水印播放数据写入。

    3、水印离线生成过程,即上述的生成方式一所给出的生成过程:

    步骤3.1:水印缓存运营模块为水印离线生成任务定制离线生成策略,该离线生成策略可以依据存量水印监控模块提供的预定存储区中该视频的水印播放数据的当前存储数量、消息中心通过步骤1.6提供的关于该视频的预估选取量和热度值,确定每个生成周期内,该视频的水印播放数据的水印离线生成任务,即生成该视频的第一待生成数量个水印播放数据;

    步骤3.2:水印缓存运营模块触发水印离线生成模块在每个生成周期内,生成该视频的第一待生成数量个水印播放数据,即定期触发水印生成;

    步骤3.3:水印离线生成模块将生成的该视频的各个水印播放数据存入预定存储区中,即离线水印播放数据写入。

    通过上述的存储方式,可以使得服务端在接收到客户端针对目标视频的播放请求时,直接从预定存储区中选取目标视频的未下发至任一客户端的水印播放数据进行下发,这样使得在保证为客户端分配唯一的水印播放数据同时,避免在视频播放过程中来生成目标视频的水印播放数据。

    相应于上述的方法实施例,本发明实施例还提供了一种视频播放系统,如图3所示,包括服务端310和客户端320;

    所述客户端320,用于向所述服务端发送目标视频的播放请求,以及接收并播放所述服端发送的目标播放数据;

    所述服务端310,用于接收所述目标视频的播放请求;基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;向发送所述播放请求的客户端发送所述目标播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据,所述待下发的水印播放数据为未下发至任一客户端的数据。

    可选地,每一视频的多个水印播放数据的标识信息中包含该视频的视频标识;

    基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据,包括:

    从所述预定存储区中的水印播放数据中,确定标识信息中包含所述目标视频的视频标识的水印播放数据,得到所述目标视频的各个水印播放数据。

    可选地,所述预定存储区中的任一视频的多个水印播放数据的存储方式,包括:

    周期性生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中;和/或,

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    可选地,当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,包括:

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,若该视频的热度值超过第一阈值和/或该视频的水印播放数据在至少一个生成周期的平均选取量超过第二阈值,则生成该视频的至少一个水印播放数据。

    可选地,所述预定存储区中的任一视频的多个水印播放数据的存储方式,还包括:

    若该视频的上线类型为预上线类型,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    可选地,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,如果针对该视频的预约播放量大于所述预定存储区中该视频的水印播放数据的数量,每当检测到任一客户端发送的该视频的预约播放请求时,生成该视频的至少一个水印播放数据。

    可选地,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,统计该视频对应的参考视频在上线后的至少一个生成周期内的访问总量;其中,该视频对应的参考视频为与该视频属于同一内容类别的视频;

    基于该访问总量,确定该视频的水印播放数据的第二待生成数量;

    生成该视频的所述第二待生成数量个水印播放数据。

    可选地,周期性生成该视频的至少一个水印播放数据,包括:

    当进入到预定的任一生成周期时,获得该视频的指定信息;其中,该视频的指定信息包括:该视频的热度值、预估选取量和当前存储数量,所述预估选取量为预估出的本周期内该视频的水印播放数据的待选取数量,所述当前存储数量为所述预定存储区中该视频的水印播放数据的当前数量;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量;

    生成该视频的所述第一待生成数量个水印播放数据。

    可选地,该视频的预估选取量的确定方式包括:包括:

    计算n1个生成周期内所述预定存储区中该视频的水印播放数据的平均选取量,得到该视频的预估选取量;其中,n1个生成周期为在本周期之前的一个或多个生成周期。

    可选地,该视频的热度值为n2个生成周期内该视频的每秒查询率的平均值;其中,n2个生成周期为本周期之前的一个或多个生成周期;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量,包括:

    利用预定公式,计算本周期内该视频的水印播放数据的第一待生成数量;

    其中,所述预定公式包括:

    w=r*t n-m

    其中,w为所述第一待生成数量,r为该视频的热度值,t为所述n2个生成周期的总时长,n为所述预估选取量,m为所述当前存储数量。

    相应于上述方法实施例,本发明实施例提供了一种视频播放装置,应用于服务端,如图4所示,所述装置包括:

    接收模块410,用于接收客户端发送的目标视频的播放请求;

    确定模块420,用于基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据;

    选取模块430,用于从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,所述待下发的水印播放数据为未下发至任一客户端的数据;

    发送模块440,用于向发送所述播放请求的客户端发送所述目标播放数据,以使发送所述播放请求的客户端播放所述目标播放数据。

    可选地,每一视频的多个水印播放数据的标识信息中包含该视频的视频标识;

    基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据,包括:

    从所述预定存储区中的水印播放数据中,确定标识信息中包含所述目标视频的视频标识的水印播放数据,得到所述目标视频的各个水印播放数据。

    可选地,所述预定存储区中的任一视频的多个水印播放数据的存储方式,包括:

    周期性生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中;和/或,

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    可选地,当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,包括:

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,若该视频的热度值超过第一阈值和/或该视频的水印播放数据在至少一个生成周期的平均选取量超过第二阈值,则生成该视频的至少一个水印播放数据。

    可选地,所述预定存储区中的任一视频的多个水印播放数据的存储方式,还包括:

    若该视频的上线类型为预上线类型,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    可选地,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,如果针对该视频的预约播放量大于所述预定存储区中该视频的水印播放数据的数量,每当检测到任一客户端发送的该视频的预约播放请求时,生成该视频的至少一个水印播放数据。

    可选地,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,统计该视频对应的参考视频在上线后的至少一个生成周期内的访问总量;其中,该视频对应的参考视频为与该视频属于同一内容类别的视频;

    基于该访问总量,确定该视频的水印播放数据的第二待生成数量;

    生成该视频的所述第二待生成数量个水印播放数据。

    可选地,周期性生成该视频的至少一个水印播放数据,包括:

    当进入到预定的任一生成周期时,获得该视频的指定信息;其中,该视频的指定信息包括:该视频的热度值、预估选取量和当前存储数量,所述预估选取量为预估出的本周期内该视频的水印播放数据的待选取数量,所述当前存储数量为所述预定存储区中该视频的水印播放数据的当前数量;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量;

    生成该视频的所述第一待生成数量个水印播放数据。

    可选地,该视频的预估选取量的确定方式包括:包括:

    计算n1个生成周期内所述预定存储区中该视频的水印播放数据的平均选取量,得到该视频的预估选取量;其中,n1个生成周期为在本周期之前的一个或多个生成周期。

    可选地,该视频的热度值为n2个生成周期内该视频的每秒查询率的平均值;其中,n2个生成周期为本周期之前的一个或多个生成周期;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量,包括:

    利用预定公式,计算本周期内该视频的水印播放数据的第一待生成数量;

    其中,所述预定公式包括:

    w=r*t n-m

    其中,w为所述第一待生成数量,r为该视频的热度值,t为所述n2个生成周期的总时长,n为所述预估选取量,m为所述当前存储数量。

    本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

    存储器503,用于存放计算机程序;

    处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例所提供的一种视频播放方法的步骤。

    上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

    通信接口用于上述电子设备与其他设备之间的通信。

    存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

    上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

    在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的视频播放方法的步骤。

    在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本发明实施例所提供的视频播放方法的步骤。

    在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

    需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

    本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

    以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。


    技术特征:

    1.一种视频播放方法,其特征在于,应用于服务端,所述方法包括:

    接收客户端发送的目标视频的播放请求;

    基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据;从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,所述待下发的水印播放数据为未下发至任一客户端的数据;

    向发送所述播放请求的客户端发送所述目标播放数据,以使发送所述播放请求的客户端播放所述目标播放数据。

    2.根据权利要求1所述的方法,其特征在于,每一视频的多个水印播放数据的标识信息中包含该视频的视频标识;

    基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据,包括:

    从所述预定存储区中的水印播放数据中,确定标识信息中包含所述目标视频的视频标识的水印播放数据,得到所述目标视频的各个水印播放数据。

    3.根据权利要求1或2所述的方法,其特征在于,所述预定存储区中的任一视频的多个水印播放数据的存储方式,包括:

    周期性生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中;和/或,

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    4.根据权利要求3所述的方法,其特征在于,当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,生成该视频的至少一个水印播放数据,包括:

    当检测到所述服务端从所述预定存储区中选取该视频的水印播放数据时,若该视频的热度值超过第一阈值和/或该视频的水印播放数据在至少一个生成周期的平均选取量超过第二阈值,则生成该视频的至少一个水印播放数据。

    5.根据权利要求1或2所述的方法,其特征在于,所述预定存储区中的任一视频的多个水印播放数据的存储方式,还包括:

    若该视频的上线类型为预上线类型,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,并将所生成的水印播放数据存储到所述预定存储区中。

    6.根据权利要求5所述的方法,其特征在于,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,如果针对该视频的预约播放量大于所述预定存储区中该视频的水印播放数据的数量,每当检测到任一客户端发送的该视频的预约播放请求时,生成该视频的至少一个水印播放数据。

    7.根据权利要求5所述的方法,其特征在于,在获得该视频的预上线通知后,生成该视频的至少一个水印播放数据,包括:

    在获得该视频的预上线通知后,统计该视频对应的参考视频在上线后的至少一个生成周期内的访问总量;其中,该视频对应的参考视频为与该视频属于同一内容类别的视频;

    基于该访问总量,确定该视频的水印播放数据的第二待生成数量;

    生成该视频的所述第二待生成数量个水印播放数据。

    8.根据权利要求3所述的方法,其特征在于,所述周期性生成该视频的至少一个水印播放数据,包括:

    当进入到预定的任一生成周期时,获得该视频的指定信息;其中,该视频的指定信息包括:该视频的热度值、预估选取量和当前存储数量,所述预估选取量为预估出的本周期内该视频的水印播放数据的待选取数量,所述当前存储数量为所述预定存储区中该视频的水印播放数据的当前数量;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量;

    生成该视频的所述第一待生成数量个水印播放数据。

    9.根据权利要求8所述的方法,其特征在于,该视频的预估选取量的确定方式包括:包括:

    计算n1个生成周期内所述预定存储区中该视频的水印播放数据的平均选取量,得到该视频的预估选取量;其中,n1个生成周期为在本周期之前的一个或多个生成周期。

    10.根据权利要求8所述的方法,其特征在于,该视频的热度值为n2个生成周期内该视频的每秒查询率的平均值;其中,n2个生成周期为本周期之前的一个或多个生成周期;

    基于该视频的指定信息,确定该视频的水印播放数据的第一待生成数量,包括:

    利用预定公式,计算本周期内该视频的水印播放数据的第一待生成数量;

    其中,所述预定公式包括:

    w=r*t n-m

    其中,w为所述第一待生成数量,r为该视频的热度值,t为所述n2个生成周期的总时长,n为所述预估选取量,m为所述当前存储数量。

    11.一种视频播放系统,其特征在于,包括服务端和客户端;

    所述客户端,用于向所述服务端发送目标视频的播放请求,以及接收并播放所述服端发送的目标播放数据;

    所述服务端,用于接收所述目标视频的播放请求;基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;向发送所述播放请求的客户端发送所述目标播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据,所述待下发的水印播放数据为未下发至任一客户端的数据。

    12.一种视频播放装置,其特征在于,应用于服务端,所述装置包括:

    接收模块,用于接收客户端发送的目标视频的播放请求;

    确定模块,用于基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据;

    选取模块,用于从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,所述待下发的水印播放数据为未下发至任一客户端的数据;

    发送模块,用于向发送所述播放请求的客户端发送所述目标播放数据,以使发送所述播放请求的客户端播放所述目标播放数据。

    13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

    存储器,用于存放计算机程序;

    处理器,用于执行存储器上所存放的程序时,实现权利要求1-10任一所述的方法步骤。

    14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的方法步骤。

    技术总结
    本发明实施例提供了一种视频播放方法、装置、系统及电子设备,应用于视频播放技术领域。该视频播放方法,应用于服务端,所述方法包括:接收客户端发送的目标视频的播放请求;基于所述目标视频的视频标识,确定预定存储区中所述目标视频的各个水印播放数据;其中,所述预定存储区中存储有各视频的多个水印播放数据;从所确定的所述目标视频的各个水印播放数据中,选取待下发的水印播放数据,作为目标播放数据;其中,所述待下发的水印播放数据为未下发至任一客户端的数据;向发送所述播放请求的客户端发送所述目标播放数据,以使发送所述播放请求的客户端播放所述目标播放数据。通过本方案可以解决现有技术中视频播放的启播耗时较长的问题。

    技术研发人员:卞腾
    受保护的技术使用者:北京奇艺世纪科技有限公司
    技术研发日:2020.11.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-6407.html

    最新回复(0)