基于直播的视频推送方法、装置和计算机可读存储介质转让专利

申请号 : CN201910341639.9

文献号 : CN110198456B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡晓川

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种基于直播的视频推送方法、装置和计算机可读存储介质,该方法在向直播客户端推送第二直播视频流的过程中,识别第二直播视频流中的视频帧;若识别出的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送目标短视频,其中,所述目标短视频为基于已推送的第一直播视频流生成的。通过在向推送第二直播视频流的过程中,播放精彩集锦短视频,不仅避免了现有技术通过回看方式播放目标短视频的情况发生,而且也解决了现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题。

权利要求 :

1.一种基于直播的视频推送方法,其特征在于,包括:

从已推送的第一直播视频流中获取候选视频帧,识别所述候选视频帧的内容类型;

若所述内容类型为设定内容类型,则从所述候选视频帧中截取关键区域,并对所述关键区域进行文字识别;

基于文字识别结果确定所述候选视频帧中是否存在事件;

当确定所述候选视频帧中存在事件时,确定存在的事件的事件类型;

若所述事件类型为设定事件类型,则确定所述候选视频帧满足短视频截取条件,并从所述第一直播视频流中截取包含所述候选视频帧的视频段,以及基于截取的视频段生成目标短视频;

确定所述目标短视频的投放区域信息,所述投放区域信息包括所述目标短视频的各个视频帧中可加载投放数据的区域信息、可投放数据的投放时长和投放形式,其中,所述投放时长是基于所述各个视频帧中具有相同区域信息的视频帧的数量确定的;针对每个视频帧,当所述视频帧与前一视频帧之间的变化程度小于预设程度阈值,则将前一视频帧中可加载投放数据的区域信息,作为所述视频帧中可加载投放数据的区域信息;否则,根据所述视频帧中不可遮挡区域的区域信息,确定所述视频帧中可加载投放数据的区域信息;

在向直播客户端推送第一直播视频流的过程中,识别所述第一直播视频流中的视频帧是否满足短视频推送条件;

若识别出的所述第一直播视频流中的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送所述目标短视频和所述投放区域信息,以使所述直播客户端播放目标短视频,以及获取待投放数据并基于所述投放区域信息投放所述待投放数据。

2.如权利要求1所述的方法,其特征在于,还包括:

在推送所述目标短视频时,继续识别所述第一直播视频流的视频帧;

若识别出的第一视频帧满足短视频停止推送条件,则从所述第一视频帧的时间戳开始,停止推送目标短视频,并从所述第一视频帧开始推送所述第一直播视频流。

3.如权利要求1所述的方法,其特征在于,在从第一直播视频流中获取候选视频帧之前,还包括:确认所述第一直播视频流中携带视频识别标识。

4.如权利要求1或2所述的方法,其特征在于,若所述第一直播视频流为游戏直播视频流时,所述满足短视频推送条件的第一视频帧至少包括以下一项:属于介于相邻两局游戏之间的视频帧和视频帧中设定区域内不存在目标对象。

5.一种基于直播的视频推送装置,其特征在于,包括:

视频推送模块,用于从已推送的第一直播视频流中获取候选视频帧,识别所述候选视频帧的内容类型;若所述内容类型为设定内容类型,则从所述候选视频帧中截取关键区域,并对所述关键区域进行文字识别;基于文字识别结果确定所述候选视频帧中是否存在事件;当确定所述候选视频帧中存在事件时,确定存在的事件的事件类型;若所述事件类型为设定事件类型,则确定所述候选视频帧满足短视频截取条件,并从所述第一直播视频流中截取包含所述候选视频帧的视频段,以及基于截取的视频段生成目标短视频;

确定模块,用于确定所述目标短视频的投放区域信息,所述投放区域信息包括所述目标短视频的各个视频帧中可加载投放数据的区域信息、可投放数据的投放时长和投放形式,其中,所述投放时长是基于所述各个视频帧中具有相同区域信息的视频帧的数量确定的;针对每个视频帧,当所述视频帧与前一视频帧之间的变化程度小于预设程度阈值,则将前一视频帧中可加载投放数据的区域信息,作为所述视频帧中可加载投放数据的区域信息;否则,根据所述视频帧中不可遮挡区域的区域信息,确定所述视频帧中可加载投放数据的区域信息;

识别模块,用于在向直播客户端推送第一直播视频流的过程中,识别所述第一直播视频流中的视频帧是否满足短视频推送条件;

所述视频推送模块,用于若识别出的所述第一直播视频流中的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送所述目标短视频和所述投放区域信息,以使所述直播客户端播放目标短视频,以及获取待投放数据并基于所述投放区域信息投放所述待投放数据。

6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一权利要求所述的方法。

7.一种计算机可读介质,存储有处理器可执行指令,其特征在于,所述处理器可执行指令用于执行如权利要求1至4任一权利要求所述的方法。

说明书 :

基于直播的视频推送方法、装置和计算机可读存储介质

技术领域

[0001] 本发明涉及视频处理技术领域,尤其涉及一种基于直播的视频推送方法、装置和计算机可读存储介质。

背景技术

[0002] 当前网络平台的游戏直播越来越多,现有的直播平台上的游戏精彩集锦是直播结束后,由主播或者平台运营后期对播放完的直播视频进行剪辑整理并上传到直播平台上,然后以回看的方式呈现给用户,参考图1a所示,用户需要点播图1a中剪辑整理视频来回看游戏精彩集锦。然而实际应用中,用户很少在直播平台观看点播内容,并且用户对于游戏精彩集锦的回看需求也比较强烈,传统的做法类似于电视赛事转播,需要特定的转播人员来实时整理并播放,导致人工成本较高。
[0003] 因此,如何实现在直播过程中播放精彩集锦视频以解决现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题是值得考虑的技术问题之一。

发明内容

[0004] 本发明实施例提供一种基于直播的视频推送方法、装置和计算机可读存储介质,用以实现在直播过程中播放精彩集锦视频,以解决现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题。
[0005] 一方面,本发明实施例提供一种基于直播的视频推送方法,包括:
[0006] 在向直播客户端推送第二直播视频流的过程中,识别第二直播视频流中的视频帧;
[0007] 若识别出的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送目标短视频,其中,所述目标短视频为基于已推送的第一直播视频流生成的。
[0008] 另一方面,本发明实施例提供一种基于直播的视频推送装置,包括:
[0009] 识别模块,用于在向直播客户端推送第二直播视频流的过程中,识别第二直播视频流中的视频帧;
[0010] 视频推送模块,用于若识别出的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送目标短视频,其中,所述目标短视频为基于已推送的第一直播视频流生成的。
[0011] 再一方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明提供的基于直播的视频推送方法。
[0012] 再一方面,本发明实施例提供一种计算机可读介质,存储有处理器可执行指令,所述处理器可执行指令用于执行本发明提供的基于直播的视频推送方法。
[0013] 本发明实施例提供的基于直播的视频推送方法、装置和计算机可读存储介质,在向直播客户端推送第二直播视频流的过程中,识别第二直播视频流中的视频帧;若识别出的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送目标短视频,其中,所述目标短视频为基于已推送的第一直播视频流生成的。通过在向推送第二直播视频流的过程中,播放精彩集锦短视频,不仅避免了现有技术通过回看方式播放目标短视频的情况发生,而且也解决了现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题。
[0014] 此外,在生成目标短视频后,本发明提出在向直播客户端推送第二直播视频流的过程中,推送目标短视频,从而也就避免了现有技术通过回看方式播放目标短视频的情况发生。
[0015] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

[0016] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0017] 图1a为现有技术中播放精彩集锦视频的示意图;
[0018] 图1b为现有技术中在人工指定的位置处投放广告的效果示意图;
[0019] 图2为本发明实施例提供的基于直播的视频推送方法的应用场景示意图;
[0020] 图3为本发明实施例提供的基于直播的视频推送方法的流程示意图之一;
[0021] 图4为本发明实施例提供的确定候选视频帧满足短视频截取条件的流程示意图;
[0022] 图5为本发明实施例提供的候选视频帧示意图;
[0023] 图6为本发明实施例提供的基于英雄联盟直播视频流获取的候选视频帧示意图;
[0024] 图7a为本发明实施例提供的基于直播的视频推送方法的流程示意图之二;
[0025] 图7b为本发明实施例提供的推送目标短视频的示意图之一;
[0026] 图8为本发明实施例提供的推送目标短视频的示意图之二;
[0027] 图9为本发明实施例提供的主播下播时播放的目标短视频‑‑‑精彩集锦视频示意图;
[0028] 图10为本发明实施例提供的推送目标短视频的示意图之三;
[0029] 图11a为本发明实施例提供的主播框区域示意图;
[0030] 图11b为本发明实施例提供的可加载广告区域的示意图;
[0031] 图12为本发明实施例提供的事件监控示意图;
[0032] 图13本发明实施例提供的基于直播的视频推送装置的结构示意图;
[0033] 图14为本发明实施例提供的基于直播的视频推送方法的执行逻辑结构图;
[0034] 图15为本发明实施例提供的视频处理模块134的结构示意图;
[0035] 图16为本发明实施例提供的实施基于直播的视频推送方法的计算设备的结构示意图。

具体实施方式

[0036] 本发明实施例提供的基于直播的视频推送方法、装置和计算机可读存储介质,用以实现在直播过程中播放精彩集锦视频,以解决现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题。
[0037] 以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0038] 为了便于理解本发明,本发明涉及的技术术语中:
[0039] 1、光学字符识别,(Optical Character Recognition,OCR),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。
[0040] 2、内容分发网络,(Content Delivery Network,CDN),是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
[0041] 3、软件开发工具包,(Software Development Kit,SDK),一般是为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
[0042] 4、推流:指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,影响用户观看直播体验。
[0043] 5、转码技术,是一种将音视频信号从一种格式转换成另一种格式的技术。如把音视频实时消息传输协议(RTMP)流格式转码成FLV文件格式。
[0044] 发明人发现,现有技术需要人工剪辑直播内容来生成精彩集锦,但这一方法需要耗费较高的人力成本和时间;此外,现有技术在直播过程中投放广告时,投放广告的位置一般由人工提前设定,参考图1b所示的广告信息投放位置,然后在直播流里携带展示广告等信息,广告等信息就会在直播期间展示于设定位置处,这样就会产生不分场合投放广告等信息的问题,不仅存在投放的广告等信息遮挡直播内容的情况,而且会影响用户观看直播体验。
[0045] 如要解决上述问题,则需要改变现有的直播平台,以期在直播过程中生成精彩集锦视频而无需人工通过后期剪辑处理获得。鉴于此,本发明设计了基于直播的视频推送方案,具体来说,可以在向直播客户端推送第二直播视频流的过程中,识别第二直播视频流中的视频帧;若识别出的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送目标短视频,而该目标短视频为基于已推送的第一直播视频流生成的,从而实现了在直播过程中推送目标短视频,这样也就解决了现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题;此外,本发明中的目标短视频是基于下述方法生成的:获取已推送的第一直播视频流中的候选视频帧,当上述候选视频帧属于精彩集锦时,从上述第一直播流中截取包含上述候选视频帧的视频段,然后基于上述视频段生成短视频,即精彩集锦视频,从而实现了自动生成精彩集锦视频的效果,由此也就无需人工后期剪辑处理,进而节省了人工成本和时间。
[0046] 在介绍完本发明实施例的设计思想之后,下面对本发明实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本发明实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本发明实施例提供的技术方案。
[0047] 请参考图2所示的一种应用场景,该场景中,包括终端设备101、终端设备102、终端设备103和服务器104,终端设备101、终端设备102、终端设备103分别与用户1、用户2、用户3对应。终端设备101、终端设备102、终端设备103中均可以安装同一种直播客户端。以用户1发起直播、用户2和用户3观看用户1发起的直播为例进行说明,当用户1通过直播客户端发起直播时,通过终端设备101将直播视频流推送给服务器104,然后服务器104将直播流推送给终端设备102和终端设备103,这样用户2和用户3可以观看用户1发起的直播,而当这一直播流推送给用户2和用户3后,为了实现目标短视频的推送,服务器104可以通过实施本发明提供的基于直播的视频推送方法在向终端设备102和终端设备103中的直播客户端推送第二直播视频流的过程中推送目标短视频,这样就实现了在直播过程中推送目标短视频的效果,这样也就无需专门开放回看精彩集锦的功能,进而也解决了现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题。
[0048] 前述的终端设备101、终端设备102和终端设备103可以是手机、平板电脑、掌上电脑(Personal Digital Assistant,PDA),笔记本电脑、智能穿戴式设备(例如智能手表和智能手环)、个人计算机,等等,无论是哪种类型的终端设备,在该终端设备中均可以安装有同一社交平台对应的客户端,并且通过各个终端设备均可以登录相应的社交账户。以及,前述的服务器104可以是个人计算机、大中型计算机、计算机集群,等等。直播客户端可以为web、Android系统或iOS系统提供的直播客户端。
[0049] 需要说明的是,本发明中的直播视频流可以为游戏直播视频流,为了便于描述,后续以游戏直播视频流为例进行说明。
[0050] 当然,本发明实施例提供的方法并不限用于图2所示的应用场景中,还可以用于其它可能的应用场景,本发明实施例并不进行限制。对于图2所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
[0051] 下面结合图2所示的应用场景,参考下面各图描述根据本发明示例性实施方式提供的基于直播的视频推送方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
[0052] 请参考图3所示,为本发明实施例提供的基于直播的视频推送方法的流程示意图,以将上述方法应用到图2中的服务器为例进行说明,服务器实施的上述方法可以包括以下步骤:
[0053] S31、从已推送的第一直播视频流中获取候选视频帧。
[0054] 本步骤中,为了能够生成精彩集锦以供直播用户再次观看,则需要从第一直播视频流中截取候选视频帧。可选地,可以定时从第一直播视频流中获取候选视频帧,如每秒从第一直播视频流中截取一个候选视频帧。
[0055] 可选地,在从第一直播视频流中获取候选视频帧之前,还包括:
[0056] 确认所述第一直播视频流中携带视频识别标识。
[0057] 具体地,直播平台有成千上万的直播房间正在进行直播,而有些房间的直播内容相对比较枯燥,不足以调动用户的兴趣,故可以对直播平台的直播房间进行配置,通过为一些直播房间配置视频识别标识,同时直播平台的服务器会将一些精彩直播分配到配置有视频识别标识的直播房间。基于此,当基于该直播房间推送直播视频流时,在该直播视频流中携带为该直播房间配置的视频识别标识,当获取到直播视频流时,若该直播视频流携带视频识别标识,则会从该已推送的直播视频流中获取候选视频帧。
[0058] S32、当候选视频帧满足短视频截取条件时,从第一直播视频流中截取包含候选视频帧的视频段。
[0059] 本步骤中,不同的直播视频流设置的短视频截取条件不同,旨在截取一些精彩的、热度比较高的短视频。例如,当第一直播视频流为游戏直播视频流时,一般会截取非常精彩、值得再次观看的视频段,故基于此目的来设置短视频截取条件,这样,当候选视频帧满足短视频截取条件时,表明该候选视频帧的内容比较精彩,故截取包含候选视频帧的视频段为:以该候选视频帧为基准,截取时间戳晚于该候选视频帧的时间戳的若干个视频帧,以及时间戳早于候选视频帧的时间戳的若干个视频帧。
[0060] S33、基于截取的视频段生成目标短视频。
[0061] 本步骤中,在截取视频段后,该视频段就是精彩集锦视频;为了让观看直播用户获知当前观看的直播是集锦视频还是直播视频,可以对截取的视频段进行处理,如加上在视频段的首个视频帧中加上“精彩集锦”以标识当前播放的视频为精彩集锦;此外,还可以再配置一个用于表示即将播放精彩集锦视频的开始短视频和一个用于表征精彩集锦视频播放结束的结束短视频,将开始短视频、截取的视频段和结束短视频构成目标短视频。基于此,无需人工后期剪辑直播视频流就可以自动生成精彩集锦视频,不仅节省了人工成本而且节省了精彩集锦视频的生成时间。
[0062] 需要说明的是,本发明对开始短视频、截取的短视频和结束短视频中包含的视频帧的数量不进行限定,具体可以根据实际情况而定。
[0063] 基于上述任一实施例,可以按照图4所示的方法确定候选视频帧满足短视频截取条件:
[0064] S41、识别候选视频帧的内容类型。
[0065] 具体地,可以利用训练好的内容类型识别模型来识别候选视频帧的内容类型。具体实施时,可以利用各种内容类型的图片离线训练内容类型识别模型,当在线获取候选视频帧时,调用训练好的内容类型识别模型,将候选视频帧作为内容类型识别模型的输入,该内容类型识别模型会输出该候选视频帧与各个内容类型的之间的匹配概率,根据匹配概率可以确定该候选视频帧的内容类型。
[0066] 可选地,内容类型识别模型可以为基于卷积神经网络的分类模型,将直播场景分类成多个内容类型及内容状态,由于每秒都有大量的直播房间需要进行类型识别,而且集锦视频对识别的速度也有较高的要求,基于这些考虑本发明可以利用对VGG16分类模型进行训练得到内容类型识别模型。
[0067] 当候选视频帧为游戏视频帧时,则内容类型为游戏类型、内容类型识别模型相应为游戏类型识别模型,当利用游戏类型识别模型识别出候选视频帧的游戏类型与绝地求生的匹配概率最大时,则确定候选视频帧的游戏类型为绝地求生。
[0068] S42、若所述内容类型为设定内容类型,则对所述候选视频帧进行事件检测,并当确定所述候选视频帧中存在事件时,确定存在的事件的事件类型。
[0069] 具体地,可以预先设定一些设定内容类型并存储于设定列表中,在识别出候选视频帧的内容类型时,若识别出的内容类型在设定列表中则初步判断该候选视频帧可能会是精彩视频帧,为了进一步确定是否为精彩视频帧,则可以对该候选视频帧进行事件检测,且在确定该候选视频帧中存在事件时,确定存在的事件的事件类型。
[0070] 本发明中的事件用于表征候选视频帧中的内容,当直播为游戏直播时,则狙击场景中的事件可以包括击杀事件等等。
[0071] 当识别出的内容类型不是设定内容类型时,则无需执行后续流程。
[0072] 在对候选视频帧进行事件检测时,本发明给出了三种方法,当然不限于这三种算法,具体可以根据应用场景的不同选取合适的算法进行事件检测,接下来对每一种事件检测算法进行介绍:
[0073] 方式一:基于光学字符识别算法的事件检测。
[0074] 可选地,可以利用光学字符识别算法按照下述过程进行事件监测:从候选视频帧中截取关键区域,对所述关键区域进行文字识别,基于文字识别结果确定所述候选视频帧中是否存在事件。
[0075] 具体地,由于过大的视频帧进行OCR识别时会导致OCR服务延迟和准确率受到影响,故为了提高OCR识别速度和准确率,可以从候选视频帧中截取关键区域,这样,仅对关键区域进行OCR识别而不是对整个候选视频帧进行OCR识别,从而可以提高候选视频帧的文字识别速度。需要说明的是,实际应用中,不同的候选视频帧中关键区域的位置信息可以大致确定,如基于经验确定上述位置信息,然后基于这些位置信息来截取关键区域,参考图5所示,从图5左侧的候选视频帧中截取出右侧5个关键区域的示意图。
[0076] 具体实施时,一些事件所在的图像中可能包含特定文字,且不同的事件对应的文字不同,故基于此原理,在截取关键区域后,这些关键区域中会包含文字,然后可以利用光学字符识别算法识别关键区域中的文字,根据文字识别结果利用事件与文字之间的规则对候选视频帧中是否存在事件进行判别。
[0077] 方式二:基于卷积神经网络分类算法的事件检测。
[0078] 可以按照下述过程基于卷积神经网络对候选视频帧进行事件监测:根据候选视频帧和训练好的事件检测模型,确定候选视频帧是否存在事件,其中,上述事件检测模型的训练样本为:存在事件的事件图像样本和除事件图像样本以外的图像样本。
[0079] 具体地,本发明中的事件检测模型为训练好的卷积神经网络,利用各种事件分别对应的事件图像样本和不存在事件的图像样本对卷积神经网络进行迭代训练得到。
[0080] 在此基础之上,将候选视频帧输入至训练好的事件检测模型中,该事件检测模型会输出候选视频帧的事件检测结果,若候选视频帧中存在事件,输出结果会输出存在的事件类型标识,若候选视频帧中不存在事件,则输出用于表征不存在事件的标识,以区别于事件类型标识。可选地,可以用数字来表示事件类型标识,且不同的事件类型标识对应的事件也不相同。例如,数字“1”标识击杀事件,数字“1”标识打开狙击镜事件,而数字“0”标识不存在事件。
[0081] 方式三:基于特征模板匹配的事件检测。
[0082] 可选地,可以按照下述过程实施方式二,包括:将候选视频帧与每一事件的特征模板进行特征匹配;根据匹配结果,确定所述候选视频帧是否存在事件。
[0083] 具体地,将候选视频帧与每一事件的特征模板输入至特征模板匹配算法中,该模板匹配算法就可以输出候选视频帧中是否存在事件的结果。
[0084] 具体实施时,预先配置多种事件对应的特征模板,然后利用特征模板匹配算法对候选视频帧和多种事件分别对应的特征模板进行快速匹配,分别确定候选视频帧与各个事件的特征模板相匹配的像素点的数量,若基于某一事件的特征模板确定出相匹配的像素点的数量大于设定数量阈值,则确定候选视频帧中存在该事件。例如,若基于击杀事件的特征模板确定出相匹配的像素点的数量大于设定数量阈值,则确定候选视频帧中存在事件,则存在的事件为击杀事件,进而可以确定击杀事件对应的事件类型。
[0085] 具体地,多个事件可以对应一个事件类型,事件类型可以包括击杀类型、枪击类型、团战类型等等,具体可以根据实际情况而定。
[0086] S43、若所述事件类型为设定事件类型,则确定候选视频帧满足短视频截取条件。
[0087] 具体地,预先配置一个设定事件类型列表,当确定步骤S43识别出的事件类型与设定事件类型列表中的设定事件类型相匹配时,则确定候选视频帧满足短视频截取条件。
[0088] 为了更好地理解图4所示的流程,接下来以下述两个例子进行说明:
[0089] 还结合图5所示,图5为从第一直播视频流中获取的候选视频帧,若基于步骤S41识别出候选视频帧的内容类型(游戏类型)为绝地求生,而绝地求生为设定内容类型,则从候选视频帧中截取关键区域,并基于OCR识别方法对该关键区域进行文字识别,识别出的文字为“3次擊殺”来确定该候选视频帧中存在击杀事件,且识别出击杀事件的事件类型为击杀类型,而该击杀类型为设定事件类型,则确定图5所示的候选视频帧满足短视频截取条件,则从第一直播视频流中截取出包含该候选视频帧的视频段,然后为该视频段添加集锦视频标识,并配置开始短视频和结束短视频,从而构成目标短视频,也即精彩游戏集锦视频。
[0090] 结合图6所示,图6为从第一直播视频流(英雄联盟直播视频流)中获取的候选视频帧,利用VGG16分类模型识别出该候选视频帧的内容类型为英雄联盟时,而英雄联盟属于设定内容类型,则从候选视频帧中截取关键区域,并基于OCR识别算法对截取的关键区域进行文字识别,例如识别出“敌方被杀”等文字,则确定该候选视频帧中存在事件且事件类型为击杀类型,而击杀类型为设定事件类型,则可以从英雄联盟直播视频流中截取出包含图6所示的候选视频帧的视频段,然后基于该视频段生成目标短视频,也即英雄联盟精彩集锦视频。
[0091] 可选地,英雄联盟游戏中还会存在“双杀”、“超神”等文字的候选视频帧,若获取到这样的候选视频帧并识别出上述文字,则可以判断是否为团战事件类型,而对于英雄联盟游戏来说,一次大规模团战是选取精彩集锦视频的关键,当获取到包含“双杀”、“超神”等文字的候选视频帧时,则截取的包含该候选视频帧的视频段可以认定为精彩集锦视频。此外,还可以基于物体检测确定游戏剩余人数、敌方剩余人数、我方剩余人数和击杀事件等等,结合上述文字识别结果进一步确定是否为团战事件类型,进而按照本发明提供的方法生成精彩集锦视频。基于此,将这样的精彩集锦视频在直播过程中推送给用户观看,用户不但不会反感反而会提高用户观看直播的兴奋度。
[0092] 在介绍了目标短视频的生成流程之后,接下来介绍目标短视频的播放流程,当服务器向直播客户端推送第二直播视频流时,在推送过程中可以将目标短视频混入到第二直播视频流中推送给直播客户端,这样也就实现了在直播过程中播放精彩集锦视频,从而也就无需在直播平台上专门设置一个回看页面,降低了直播平台的运营成本,同时也无需特定的转播人员播放精彩集锦视频,进而解决了现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题。具体可以参考图7a所示的目标短视频推送流程,包括以下步骤:
[0093] S71、在向直播客户端推送第二直播视频流的过程中,识别第二直播视频流中的视频帧。
[0094] S72、若识别出的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送目标短视频。
[0095] 可选地,第一直播视频流与第二直播视频流可以为同一直播房间的直播视频流且在时间上满足关联关系,即第一直播视频流的推送时间与第二直播视频流的推送时间满足关联关系,例如,当直播为绝地求生游戏直播时,若第二直播视频流为第五局绝地求生游戏的直播视频流,则第一直播视频流可以为第四局绝地求生游戏的直播视频流,也可以为前四局绝地求生游戏中任一局绝地求生游戏的直播视频流。
[0096] 可选地,第一直播视频流与第二直播视频流也可以不是同一直播房间的直播视频流,或者第一直播视频流与第二直播视频流在时间上也可以不满足时间关联关系。例如,当直播为购物直播时,第一直播视频流为购物直播视频流,则基于该第一直播视频流通过实施图3所示的流程生成亮点比较多的购物目标短视频后,可以在其他直播房间和/或不具有时间关联关系的时间点推送第二直播视频流时,推送该购物目标短视频,这样可以让更多用户观看到该购物目标短视频,进而让直播用户了解到购物短视频中的物品,从而提高了该物品的扩散度。
[0097] 可选地,在从第一视频帧的时间戳开始推送目标短视频时,可以不推送第一视频帧及第二直播视频流中时间戳晚于第一视频帧的时间戳的视频帧,且当目标短视频推送完成后,则从推送完成的时间戳开始,推送第二直播视频流中与推送完成的时间戳相匹配的视频帧。
[0098] 可选地,在第一视频帧满足短视频推送条件时,在该第一视频帧的时间戳开始推送目标短视频时,还可以继续推送第二直播视频流,以达到在第一视频帧以及后续的视频帧上以小窗口展示目标短视频的效果。
[0099] 步骤S71和步骤S72中,在第二直播视频流推送过程中,不能在任意时刻推送目标短视频,也需要对第二直播视频流中的内容进行识别,故可以实时识别第二直播视频流中的视频帧,当识别出第二直播视频流中第一视频帧满足短视频推送条件时,才会从该第一视频帧的时间戳开始推送目标短视频,然后在推送目标短视频的过程中,该第二直播视频流中时间戳晚于该第一视频帧的时间戳的若干个视频帧不会被推送,具体不会被推送的视频帧的数量可以根据目标短视频的播放时长而定。若目标短视频播放2分钟,则第二直播视频流中从该第一视频帧的时间戳开始,2分钟内的视频帧不会被推送。
[0100] 具体地,在实施上述过程时,将第二直播视频流进行提前解码,然后将解码就得第二直播视频流传输至Filter Chain编码器进行特效处理,如编码器增加一个时间窗口,以保证视频流推送的流畅性。当识别出第二直播视频流中的第一视频帧满足视频播放条件时,编码器输出该第一视频帧后真正开始切换推送目标短视频中的首个视频帧,然后依次推送目标短视频中的后续视频帧,当目标短视频推送完之后并不是直接推送第二直播视频流中的视频帧,而是继续从编码器中读取帧,直到遇到第二直播视频流中的视频帧时,刷新编码器并按照遇到的视频帧的时间戳补齐帧的时间戳,然后开始推送第二直播视频流中的视频帧,这样也就实现了在推送第二直播视频流的过程中推送目标短视频,同时也实现了在目标短视频推送完成后继续推送第二直播视频流中的视频帧。
[0101] 为了更好地理解在第二直播视频流中推送目标短视频的流程,结合图7b进行说明,图7b中t1~t7均为第二直播视频流中的连续视频帧且第二直播视频流的格式为RTMP格式,目标短视频包含T1和T2两个视频帧,当识别出t3视频帧满足短视频推送条件时,则将T1和T2视频帧替换掉t3和t4视频帧,这样替换后的第二直播视频流为:t1、t2、T1、T2、t5、t6和t7,这样不仅完成了目标短视频的播放而且当目标短视频播放完成后继续播放第二直播视频流中的视频。
[0102] 可选地,在推送目标短视频时,第二直播视频流就不可避免的存在一些视频帧不能推送给直播客户端,故为了避免第二直播视频流中重要的和/或精彩的视频帧没有被推送给直播客户端,本发明提出还包括下述过程:
[0103] 在推送所述目标短视频时,继续识别所述第二直播视频流的视频帧,若识别出第二视频帧满足短视频停止推送条件,则从所述第二视频帧的时间戳开始,停止推送目标短视频,并从所述第二视频帧开始推送所述第二直播视频流。
[0104] 具体地,当第二直播视频流为游戏直播视频流时,游戏直播视频流中会存在一些比较精彩的视频帧,而推送的目标短视频可能会导致比较精彩的视频帧没有推送的直播客户端,这样直播客户端的用户也就没能看到精彩的直播视频流,进而会造成用户对第二直播视频流的兴趣度不高;为了避免这一问题,本发明实施例提出,以满足短视频推送条件的视频帧为第i视频帧,则在第二直播视频流中推送目标短视频的过程中,继续识别第二直播视频流中时间戳晚于上述视频帧的时间戳的视频帧,如会继续识别第i+1视频帧、第i+2视频帧……,当识别出存在第i+5视频帧(第二视频帧)满足短视频停止条件,即第i+5视频帧的内容为精彩内容时,则可以停止推送目标短视频,然后开始推送第i+5视频帧及第i+6视频帧……,这样用户既不会错过第二直播视频流中的精彩视频而且也观看到了目标短视频。结合图8所示,图8中t1~t7均为第二直播视频流中的连续视频帧,目标短视频包含T1~T8视频帧,当识别出t3视频帧满足短视频推送条件时,则从t3视频帧的时间戳开始,推送目标短视频的T1视频帧、T2视频帧等,此时t4、t5等视频帧不会被推送,但会继续对t4、t5等视频帧继续识别,当识别出t5视频帧(第二视频帧)满足短视频停止条件,则此时就不会推送T3视频帧(以视频帧间隔时间相同为例进行说明),则继续第二直播视频流中的推送t5视频帧、t6视频帧等。
[0105] 需要说明的是,本发明实施例中的短视频推送条件和短视频停止推送条件可以根据实际情况进行设定,旨在不影响第二直播视频流中精彩内容的直播。可选地,在识别第二直播视频流中的视频帧时,可以采用现有的方法进行识别,也可以确定视频帧中存在的事件,然后判断存在的事件是否满足短视频推送条件等。或者预先配置一些满足短视频推送条件的视频帧,然后将第二直播视频流中的视频帧与上述满足短视频推送条件的视频帧进行一一匹配,若匹配成功则确定满足第二直播视频流中的视频帧满足短视频推送条件。
[0106] 可选地,若所述第二直播视频流为游戏直播视频流时,满足短视频推送条件的第一视频帧至少包括以下一项:属于介于相邻两局游戏之间的视频帧和视频帧中设定区域内不存在目标对象。
[0107] 具体地,当第二直播视频流为游戏直播视频流时,则可以在两局游戏之间(游戏局间)来推送目标短视频,也可以在主播下播时推送目标短视频,基于此目的,若识别出游戏直播视频流中的视频帧属于介于两局游戏之间的视频帧时,表明当前进入游戏局间,则可以推送目标短视频;若识别出游戏直播视频流中的视频帧中主播框所在的区域(设定区域)中不存在目标对象时,则表明主播下播,此时可以推送目标短视频,参考图9所示,图9为主播下播时播放的目标短视频‑‑‑精彩集锦视频示意图。
[0108] 可选地,当第二直播视频流为游戏直播视频流时,则基于上述任一实施例,在获得目标短视频时,还可以实施下述过程:确认所述目标短视频满足游戏局间推送条件。
[0109] 具体地,本发明中不同的游戏设置的游戏局间推送条件可以不同也可以相同,具体可以根据实际情况进行设定。由于游戏局间时间比较短,故如果生成的目标短视频太长或者精彩度不够,则不会在游戏局间播放目标短视频。而主播下播表明当前的直播视频内容不精彩无需主播进行解说,则此时可以随意推送目标短视频。
[0110] 具体地,当候选视频帧满足短视频截取条件时,还可以识别该候选视频帧中游戏状态信息,若游戏状态信息满足游戏局间推送条件,则当检测到游戏直播视频流中的视频帧属于介于两局游戏之间的视频帧时,则允许在游戏局间推送基于该候选视频帧生成的目标短视频,否则不允许在游戏局间推送基于该候选视频帧生成的目标短视频。不同的游戏对应的游戏状态信息不同,具体可以根据实际情况而定。
[0111] 请参见图5所示,图5中的绝地求生游戏的游戏状态信息可以但不限于为:游戏剩余人数和击杀总人数等等,然后设置的绝地求生游戏的游戏局间推送条件可以为:游戏剩余人数不高于第一剩余数量阈值和/或击杀总人数不低于第一击杀数量阈值等,则当基于图5识别出游戏剩余人数和击杀总人数后,可以判断识别出的游戏剩余人数和击杀总人数是否满足上述绝地求生游戏的游戏局间推送条件,若满足则当基于上述实施例确定进入游戏局间时,按照上述任一实施例提供的推送方法推送包含图5的候选视频帧的目标短视频。
[0112] 请参见图6所示,图6中的英雄联盟游戏的游戏状态信息可以但不限于为:游戏剩余人数、敌方剩余人数、我方剩余人数、助攻次数、击杀人数等等,基于此设置的英雄联盟游戏的游戏局间推送条件可以但不限于为:游戏剩余人数不高于第二剩余数量阈值、敌方剩余数量不高于第三剩余数量阈值、我方剩余数量不低于第四剩余数量阈值、助攻人数不低于预设数量阈值和/或击杀人数不低于第二击杀数量阈值等。当基于图6识别出英雄联盟游戏的游戏状态信息后,图6中右上角“5/5/10”分别表示击杀人数/死亡次数/助攻次数,可以判断出上述游戏状态信息是否满足英雄联盟游戏的游戏局间推送条件,若满足则当基于上述实施例确定进入游戏局间时,按照上述任一实施例提供的推送方法推送包含图6的候选视频帧的目标短视频。
[0113] 需要说明的是,上述游戏剩余人数、敌方剩余人数、我方剩余人数、助攻人数、击杀人数可以基于数字匹配模型识别出,该模型的训练过程与内容类型识别模型的训练过程类似,在此不再描述。
[0114] 结合图10所示,图10中游戏直播视频流包括t1~t8视频帧,当按照本发明上述任一实施例生成英雄联盟目标短视频后,该英雄联盟目标短视频包括T1~T5视频帧,若确定英雄联盟目标短视频满足游戏局间播放条件,则在识别出游戏直播视频流中t3视频帧(第一视频帧)属于介于相邻两局游戏之间的视频帧,即满足短视频推送条件,则在t3视频帧对应的时间戳开始推送T1视频帧、T2视频帧;当识别出t5视频帧(第二视频帧)为精彩视频帧,即满足短视频停止推送条件时,则不推送T3视频帧,开始推送t5视频帧、t6视频帧、t7视频帧;当识别出t8视频帧(第一视频帧)中设定区域内不存在目标对象,即主播下播时,则此时可以继续推送英雄联盟目标短视频包括的T1~T5视频帧,也可以推送其他目标短视频。具体地,当英雄联盟目标短视频不满足游戏局间播放条件时,则在检测到t3视频帧为游戏局间视频帧时,则此时也不会推送上述英雄联盟目标短视频,只有当检测出t8视频帧为主播下播视频帧时,才会推送上述英雄联盟目标短视频。
[0115] 基于上述任一实施例,在基于截取的视频段生成目标短视频之后,还包括下述过程:
[0116] 确定所述目标短视频的投放区域信息,上述投放区域信息包括所述目标短视频中视频帧中可加载投放数据的区域信息。
[0117] 在此基础之上,在推送所述目标短视频时,将所述投放区域信息推送给所述直播客户端,以使所述直播客户端接收到所述投放区域信息后,获取待投放数据并基于所述可加载投放数据的区域信息投放所述待投放数据。
[0118] 具体地,本发明中的投放区域信息可以包括可加载投放数据的区域信息;上述投放区域信息还可以包括投放时长和投放形式等。具体地,确定出的可加载投放数据的区域信息可以表示为:中心点的坐标,可加载投放数据区域的长和宽。当然,还可以有其他表示方法,具体可以根据实际情况而定。
[0119] 具体地,在获得目标短视频后,在识别候选视频帧是否满足短视频截取条件时,还可以识别出该候选视频帧中可加载投放数据的区域信息,同理可以识别出目标短视频中其他视频帧中可加载投放数据的区域信息,这样可以筛选出具有相同区域信息的视频帧的数量,然后基于视频帧的数量确定可投放数据的投放时长。上述投放形式可以为投放动态数据,也可以为投放静态数据等。
[0120] 具体地,本发明中的可加载投放数据可以但不限于为广告、文本等,若投放数据为广告,则可加载投放数据区域为可加载广告区域。为了描述方便,后续以在直播中嵌入的投放数据为广告为例进行说明。
[0121] 具体地,可以根据目标短视频中视频帧的内容、视频帧中主播位置来确定可加载投放数据的区域信息。还可以根据直播平台的需求来设定可加载投放数据的区域信息等。
[0122] 可选地,可以按照下述的流程实施确定目标短视频中的视频帧中可加载投放数据的区域信息,以确定目标短视频中候选视频帧的可加载投放数据的区域信息为例进行说明,包括以下步骤:根据候选视频帧和训练好的区域定位模型,确定候选视频帧中不可遮挡候选区域的区域信息和置信度;并根据不可遮挡候选区域的置信度,确定不可遮挡区域;然后根据不可遮挡区域的区域信息,确定候选视频帧中可加载投放数据的区域信息。
[0123] 通过实施上述可加载投放数据的区域信息的流程,图11a中主播框区域即为不可遮挡区域,则基于该不可遮挡区域的区域信息,选择靠近该不可遮挡区域且不属于该不可遮挡区域的边缘区域确定为可加载投放数据区域,然后输出可加载投放数据区域的区域信息。请参考图11b所示,图11b中给出了基于主播框区域确定出的可加载投放数据区域,当嵌入的数据为广告时,则图11b中可加载投放数据区域就是可加载广告区域。
[0124] 可选地,在确定该候选视频帧中可加载投放数据的区域信息时,还可以按照下述过程实施:确定该候选视频帧与前一视频帧之间的变化程度,若变化程度大于预设程度阈值,则基于上述流程确定该候选视频帧中可加载投放数据的区域信息。若变化程度小于预设程度阈值,则直接将前一视频帧中可加载投放数据的区域信息作为该候选视频帧中可加载投放数据的区域信息。这样发送给直播客户端的可加载数据区域的位置相对固定,从而使得直播客户端在固定位置处投放广告,同时也不会遮挡直播视频中重要内容。
[0125] 可选地,在同一应用场景中,有些视频帧上能够投放广告的区域的区域信息是固定的,例如,有些游戏场景中主播框所在区域的正上方或者左侧固定位置处一般可用于投放广告,故可以预先对一个游戏中的各个游戏界面进行分析,然后筛选出一些可以在固定位置投放广告的视频帧,并记录这些视频帧中可投放广告区域的区域信息并进行存储,格式形如:(视频帧图像,视频帧图像中可加载投放数据的区域信息)。这样,当从目标短视频中获取到候选视频帧后,可以将该候选视频帧与上述筛选出的视频帧进行匹配,若匹配成功,则将匹配成功的视频帧的可加载投放数据的区域信息确定为该候选视频帧中的可加载投放数据的区域信息;若均匹配不成功,则再按照上述流程确定该候选视频帧中的可加载投放数据的区域信息。
[0126] 在按照上述任一方法确定出目标短视频中视频帧中可加载投放数据的区域信息后,可以将其携带在投放区域信息中随推送的目标短视频一并发送给直播客户端,这样直播客户端在观看直播时,若识别出观看的直播为目标短视频,则基于投放区域信息中的投放时长和形式从广告系统中获取不高于该投放时长且形式与投放区域信息中的形式相匹配的广告,然后再基于投放区域信息中视频帧中可加载投放数据的区域信息,在该区域信息所指示的可加载投放数据区域投放获取到的广告,参考图11b所示,图11b给出了在可加载广告区域投放广告的效果示意图。这样,就可以实现直播客户端在合适的区域投放广告的目的,同时也不会遮挡视频帧中重要的内容。
[0127] 可选地,直播客户端在投放待投放广告之前,还可以实施下述过程:确定当前播放时间不在数据频控范围内。
[0128] 具体地,以数据频控范围为广告频控范围为例进行说明,为了避免频繁投放广告的情况发生,在获取到待投放广告之前,若当前播放时间不在广告频控范围内则可以在当前正在播放的目标短视频的视频帧中投放待投放广告,否则放弃投放待投放广告。
[0129] 可选地,还可以在服务器侧进行投放广告的频率进行控制,如在向直播客户端推送目标短视频时,可以确定上一次发送投放区域信息的时间,若确定上述时间与推送目标短视频的时间之间的差值小于时间间隔阈值,则本次推送目标短视频时不发送该目标短视频的投放区域信息,具体地,时间间隔阈值可以但不限于为30分钟等等。
[0130] 基于上述任一实施例,在实施图4所示的流程之后,还包括:可以将候选视频帧和识别结果,如识别出的内容类型、事件类型等进行存储,然后进行事件监控,请参考图12所示的事件监控示意图,通过对目标短视频(精彩集锦视频)中的事件进行监控,可以判断目标短视频(精彩集锦视频)是否符合预期效果,以获得更好地目标短视频(精彩集锦视频)。
[0131] 本发明提供的方法,通过在直播过程中捕获已推送的第一直播视频流中的候选视频帧,若候选视频帧满足短视频截取条件则从第一直播视频流中截取包含候选短视频的视频段,进而基于该视频段生成目标短视频,当短视频截取条件为精彩集锦截取条件时,从而也就实现了在直播过程中自动生成精彩集锦视频的效果,也就避免了现有技术通过人工剪辑的方式制作精彩集锦而导致的人工成本高的问题发生;此外,在生成目标短视频后,本发明提出在向直播客户端推送第二直播视频流的过程中,推送目标短视频,实现了在直播过程中播放精彩集锦视频的效果,不仅避免了现有技术通过回看方式播放目标短视频的情况发生,而且也解决了现有技术中需要特定的转播人员播放精彩集锦视频所造成的人工成本高的问题。
[0132] 基于同一发明构思,本发明实施例中还提供了一种基于直播的视频推送装置,该装置可以设置于图2中的服务器104中,由于上述装置解决问题的原理与基于直播的视频推送方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
[0133] 如图13所示,为本发明实施例提供的基于直播的视频推送装置的结构示意图,包括:识别模块131和视频推送模块132,其中:
[0134] 识别模块131,用于在向直播客户端推送第二直播视频流的过程中,识别第二直播视频流中的视频帧;
[0135] 视频推送模块132,用于若识别出的第一视频帧满足短视频推送条件,则从所述第一视频帧的时间戳开始,推送目标短视频,其中,所述目标短视频为基于已推送的第一直播视频流生成的。
[0136] 可选地,所述识别模块131,还用于在推送所述目标短视频时,继续识别所述第二直播视频流的视频帧;
[0137] 所述视频推送模块132,还用于若识别出的第二视频帧满足短视频停止推送条件,则从所述第二视频帧的时间戳开始,停止推送目标短视频,并从所述第二视频帧开始推送所述第二直播视频流。
[0138] 可选地,本发明提供的基于直播的视频推送装置,还包括:
[0139] 获取模块133,用于从已推送的第一直播视频流中获取候选视频帧;
[0140] 视频处理模块134,用于当所述候选视频帧满足短视频截取条件时,从所述第一直播视频流中截取包含所述候选视频帧的视频段;
[0141] 短视频生成模块135,用于基于截取的视频段生成目标短视频。
[0142] 可选地,本发明提供的基于直播的视频推送装置,还包括:
[0143] 确定模块136,用于确定所述目标短视频的投放区域信息,所述投放区域信息包括所述目标短视频中视频帧中可加载投放数据的区域信息;
[0144] 在此基础之上,视频推送模块132,还用于在推送所述目标短视频时,将所述投放区域信息推送给所述直播客户端,以使所述直播客户端接收到所述投放区域信息后,获取待投放数据并基于所述可加载投放数据的区域信息投放所述待投放数据。
[0145] 可选地,所述视频处理模块134,具体用于识别所述候选视频帧的内容类型;若所述内容类型为设定内容类型,则对所述候选视频帧进行事件检测,并当确定所述候选视频帧中存在事件时,确定存在的事件的事件类型;若所述事件类型为设定事件类型,则确定所述候选视频帧满足短视频截取条件。
[0146] 可选地,所述视频处理模块134,具体用于从所述候选视频帧中截取关键区域;对所述关键区域进行文字识别,基于文字识别结果确定所述候选视频帧中是否存在事件。
[0147] 可选地,所述视频处理模块134,具体用于根据所述候选视频帧和训练好的事件检测模型,确定所述候选视频帧是否存在事件,其中,所述事件检测模型的训练样本为:存在事件的事件图像样本和除事件图像样本以外的图像样本。
[0148] 可选地,本发明提供的基于直播的视频推送装置,还包括:
[0149] 确认模块137,用于在所述获取模块133从第一直播视频流中获取候选视频帧之前,确认所述第一直播视频流中携带视频识别标识。
[0150] 可选地,若所述第二直播视频流为游戏直播视频流时,所述满足短视频推送条件的第一视频帧至少包括以下一项:属于介于相邻两局游戏之间的视频帧和视频帧中设定区域内不存在目标对象。
[0151] 为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
[0152] 具体地,当介绍完本发明实施例提供的基于直播的视频推送装置之后,结合图2和图14所示,本发明提供的基于直播的视频推送装置还包括控制模块、转码模块、内容分发CDN模块,且视频处理模块134和确定模块136设置于视频理解引擎中,基于上述装置来描述本发明实施例提供的基于直播的视频推送方法,大致过程为:当主播用户1基于终端设备101中的直播客户端提供的直播房间进行直播过程中,服务器中的视频推送模块132在获取到已推送的第一直播视频流后,然后将该第一直播视频流发送给控制模块,由于直播平台需要生成精彩集锦视频的直播房间比较多,故可能配置多个图13中的短视频生成模块135,而控制模块用于进行负载均衡,将接收到的第一直播视频流发送给负荷相对减小的短视频生成模块135;由短视频生成模块135向视频处理模块134发送视频识别请求,这样视频处理模块134在接收到该请求后,向获取模块133发送视频帧获取请求,这样,获取模块133在接收到该请求后,从第一直播视频流中获取候选视频帧,然后发送给视频理解引擎中的视频处理模块134,由视频处理模块134在识别出该候选视频帧满足短视频截取条件时,从所述第一直播视频流中截取包含所述候选视频帧的视频段并发送给视频生成模块135,由视频生成模块135基于截取的视频段生成目标短视频。当用户2基于直播客户端进入与用户1相同的直播房间时,会向视频理解引擎中的视频处理模块134发送通知,以让视频处理模块
134获知用户2观看用户1的直播,此时当生成目标短视频后,由于主播用户1依然在进行直播,故会产生第二直播视频流,这样,短视频生成模块135会将目标短视频发送给视频推送模块132,由视频推送模块132在向直播客户端推送第二直播视频流的过程中,推送目标短视频;具体地,当推送过程中,需要将视频流发送给转码模块进行转码,然后将转码后的视频流发送给CDN模块,由CDN模块将视频流推送给图2中的终端设备102中的直播客户端,这样终端设备102的用户2当进入直播客户端时,打开相应直播房间时就可以观看到第二直播视频流或目标短视频的视频流。此外,视频理解引擎中的确定模块136可以确定目标短视频的投放区域信息,然后将投放区域信息发送给CDN模块,当用户2的直播客户端播放直播时,若确定当前播放的视频帧属于目标短视频,则会每秒定时向CDN获取投放区域信息,然后从广告系统获取与投放区域信息相匹配的广告,然后在投放区域信息中包含的位置信息所指示的位置处投放获取到的广告。
[0153] 可选地,图14中的CDN模块可以由长连接控制模块代替,即由长连接控制模块采用websocket长连接的形式向直播客户端发送命令,基于该命令传递投放区域信息,当然还可以采用其他方式,本发明对此不进行限定。
[0154] 进一步地,参考图15所示,为视频处理模块134的结构示意图,视频处理模块134包括内容类型识别模块1341、图片预处理模块1342、事件类型识别模块1343,则当获取模块133获取到第一直播视频流中的候选视频帧后,将候选视频帧发送给内容类型识别模块
1341,由内容类型识别模块1341识别候选视频帧的内容类型,当识别出内容类型为设定内容类型时,将候选视频帧发送给图片预处理模块1342,由图片预处理模块1342从候选视频帧中截取关键区域,然后发送给事件类型识别模块1343,当事件类型识别模块1343接收到关键区域后,可以调用OCR服务来识别关键区域的文字,然后基于识别出的文字来识别候选视频帧中存在的事件的事件类型,当识别出的事件类型为设定事件类型时,从第一直播视频流中截取包含候选视频帧的视频段然后将视频段发送给视频生成模块135;此外,当内容类型识别模块1341识别出候选视频帧的内容类型不为设定内容类型时,则流程结束。
[0155] 在介绍了本发明示例性实施方式的基于直播的视频推送方法、装置和计算机可读存储介质之后,接下来,介绍根据本发明的另一示例性实施方式的计算设备。
[0156] 所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0157] 在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述描述的根据本发明各种示例性实施方式的基于直播的视频推送方法中的步骤。例如,所述处理器可以执行如图3所示的步骤S31~步骤S33中的基于直播的视频推送流程。
[0158] 下面参照图16来描述根据本发明的这种实施方式的计算设备160。图16显示的计算设备160仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0159] 如图16所示,计算设备160以通用计算设备的形式表现。计算设备160的组件可以包括但不限于:上述至少一个处理器161、上述至少一个存储器162、连接不同系统组件(包括存储器162和处理器161)的总线163。
[0160] 总线163表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0161] 存储器162可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1621和/或高速缓存存储器1622,还可以进一步包括只读存储器(ROM)1623。
[0162] 存储器162还可以包括具有一组(至少一个)程序模块1624的程序/实用工具1625,这样的程序模块1624包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0163] 计算设备160也可以与一个或多个外部设备164(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算设备160交互的设备通信,和/或与使得该计算设备160能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口165进行。并且,计算设备160还可以通过网络适配器166与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器166通过总线163与用于计算设备16的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备160使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0164] 基于同一发明构思,本发明实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的基于直播的视频推送方法的步骤。
[0165] 基于同一发明构思,本发明实施例还提供一种视频处理装置,该视频处理装置包括至少一个处理器及可读存储介质,当该可读存储介质中包括的指令被该至少一个处理器执行时,可以执行如前述的基于直播的视频推送方法的步骤。
[0166] 基于同一发明构思,本发明实施例还提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现如前述的基于直播的视频推送方法的步骤。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0167] 在一些可能的实施方式中,本发明实施例提供的基于直播的视频推送方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机上运行时,所述程序代码用于使所述计算机执行前文述描述的根据本发明各种示例性实施方式的信基于直播的视频推送方法中的步骤。
[0168] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0169] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0170] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0171] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0172] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0173] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。