监控视频播放方法、装置、系统、媒体服务器及存储介质与流程

文档序号:17818997发布日期:2019-06-05 22:04阅读:212来源:国知局
监控视频播放方法、装置、系统、媒体服务器及存储介质与流程

本发明涉及视频监控技术领域,特别是涉及一种监控视频播放方法、装置、系统、媒体服务器及存储介质。



背景技术:

在视频监控技术领域,通常由前端设备(视频采集设备)进行视频采集,并且,前端设备可以将其采集的监控视频实时流直接发送给客户端进行播放,或者,可以先保存采集的监控视频,在需要的时候,用户可以通过客户端请求进行视频回放。

参考图1,其示出了现有的监控视频播放系统结构示意图。如图1所示,监控视频存储时,对应的数据流向为:0-2.1-2.2,录像片段信息数据流向:2.3,即前端设备将其采集的监控视频发送给流媒体服务器,流媒体服务器进一步将监控视频发送给视频存储服务器,最后视频存储服务器将监控视频发送给通用云存储进行保存。其中,视频存储服务器中会有一部分视频存储缓冲,而通用云存储中存储有多个视频文件。并且,视频存储服务器还可以生成录像片段信息并发送给录像片段元数据服务器存储。录像片段信息中包含了相应视频文件视频数据的起始时间、结束时间,以及在通用云存储中存储相应视频文件的起始地址和结束地址。

进行视频数据存储后,当需要查看从某一时刻开始至另一时刻为止采集的视频数据时,可进行视频回放。当进行视频回放时,对应的数据流向为:录像片段信息数据流向3.1,回放视频数据流向3.2→3.3,也就是说,视频点播服务器接收到客户端发送的视频获取请求后,可以首先获取录像片段元数据服务器中存储的录像片段信息,通过录像片段信息确定待获取的监控视频在通用云存储中的存储地址,进而从通用云存储对应位置处获取监控视频,并发送给客户端进行播放。

当进行视频预览时,对应的数据流向为:0-1.1,即前端设备将其采集的监控视频发送给流媒体服务器后,流媒体服务器直接将监控视频发送给客户端进行播放。

在实际应用中,可能存在回放过程中需要切换到预览,或预览过程中需要切换到回放的需求。但是,上述方法中,客户端进行预览和回放动作时,需要分别从流媒体服务器、视频点播服务器两个节点分两个流程获取,也即需要分别与流媒体服务器、视频点播服务器建立两个连接且实现互相切换,当预览时需要向流媒体服务器请求实时流,当要切换到视频回放时又需要向视频点播服务器请求回放流,这将导致视频播放过程复杂,效率较低。



技术实现要素:

本发明实施例的目的在于提供一种监控视频播放方法、装置、系统、媒体服务器及存储介质,以简化监控视频播放过程,提高监控视频播放效率。具体技术方案如下:

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

当接收到客户端发送的视频预览请求时,获取实时流并发送给所述客户端;

当接收到所述客户端发送的视频回放请求时,获取所述视频回放请求中包括的待获取监控视频的视频信息;其中,所述视频信息至少包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间;

根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置;

从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端。

可选的,所述根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置的步骤包括:

根据本地保存的历史视频分布索引信息,以及待获取监控视频对应的目标前端设备标识和起始时间,确定存储有所述待获取监控视频的目标存储设备;

根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,以及待获取监控视频的起始时间,确定待获取监控视频的存储位置。

可选的,所述根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,以及待获取监控视频的起始时间,确定待获取监控视频的存储位置的步骤包括:

根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,确定与所述起始时间最接近的关键帧;

将所述关键帧以及所述关键帧之后的监控视频在所述目标存储设备中的存储位置,作为待获取监控视频的存储位置。

可选的,所述从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端之后,所述方法还包括:

获取所述待获取监控视频的结束时间;

当所述结束时间为空时,获取实时流并发送给所述客户端。

可选的,保存所述历史视频分布索引信息的过程包括:

获取录像片段元数据服务器中存储的第一录像片段信息;

根据视频存储服务器中存储的视频存储缓冲,构建所述视频存储缓冲对应的第二录像片段信息;

根据媒体服务器中存储的实时流缓冲,构建实时流缓冲视频信息;

将所述第一录像片段信息、所述第二录像片段信息、以及所述实时流缓冲视频信息作为历史视频分布索引信息并保存。

可选的,保存所述历史视频分布索引信息之后,所述方法还包括:

按照设定的时间间隔,获取所述录像片段元数据服务器当前存储的第三录像片段信息,根据所述视频存储服务器当前存储的视频存储缓冲,构建所述视频存储缓冲对应的第四录像片段信息,根据所述媒体服务器中当前存储的实时流缓冲,构建当前实时流缓冲视频信息;

使用所述第三录像片段信息、所述第四录像片段信息、以及所述当前实时流缓冲视频信息更新本地保存的历史视频分布索引信息。

可选的,保存所述历史视频分布索引信息之后,所述方法还包括:

根据所述历史视频分布索引信息中包括的各录像片段信息和实时流缓冲视频信息对应的起始时间和结束时间,对所述历史视频分布索引信息进行拼接处理。

可选的,所述根据所述历史视频分布索引信息中包括的各录像片段信息和实时流缓冲视频信息对应的起始时间和结束时间,对所述历史视频分布索引信息进行拼接处理的步骤包括:

将所述各录像片段信息和实时流缓冲视频信息拼接为时间上连续且不重合。

可选的,所述从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端的步骤包括:

根据预设的单次视频获取长度,依次从存储位置处获取视频片段,并对所获取的视频片段进行拼接处理;

将拼接处理后得到的监控视频发送给客户端。

第二方面,本发明实施例提供了一种监控视频播放装置,应用于媒体服务器,所述装置包括:

第一处理模块,用于当接收到客户端发送的视频预览请求时,获取实时流并发送给所述客户端;

接收模块,用于当接收到所述客户端发送的视频回放请求时,获取所述视频回放请求中包括的待获取监控视频的视频信息;其中,所述视频信息至少包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间;

确定模块,用于根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置;

第二处理模块,用于从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端。

可选的,所述确定模块包括:

第一确定子模块,用于根据本地保存的历史视频分布索引信息,以及待获取监控视频对应的目标前端设备标识和起始时间,确定存储有所述待获取监控视频的目标存储设备;

第二确定子模块,用于根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,以及待获取监控视频的起始时间,确定待获取监控视频的存储位置。

可选的,所述第二确定子模块,具体用于:

根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,确定与所述起始时间最接近的关键帧;

将所述关键帧以及所述关键帧之后的监控视频在所述目标存储设备中的存储位置,作为待获取监控视频的存储位置。

可选的,所述装置还包括:

获取模块,用于获取所述待获取监控视频的结束时间;

发送模块,用于当所述结束时间为空时,获取实时流并发送给所述客户端。

可选的,所述装置还包括:

获取模块,用于获取录像片段元数据服务器中存储的第一录像片段信息;

构建模块,用于根据视频存储服务器中存储的视频存储缓冲,构建所述视频存储缓冲对应的第二录像片段信息;根据媒体服务器中存储的实时流缓冲,构建实时流缓冲视频信息;

存储模块,用于将所述第一录像片段信息、所述第二录像片段信息、以及所述实时流缓冲视频信息作为历史视频分布索引信息并保存。

可选的,所述装置还包括:

更新模块,用于按照设定的时间间隔,获取所述录像片段元数据服务器当前存储的第三录像片段信息,根据所述视频存储服务器当前存储的视频存储缓冲,构建所述视频存储缓冲对应的第四录像片段信息,根据所述媒体服务器中当前存储的实时流缓冲,构建当前实时流缓冲视频信息;使用所述第三录像片段信息、所述第四录像片段信息、以及所述当前实时流缓冲视频信息更新本地保存的历史视频分布索引信息。

可选的,所述装置还包括:

拼接模块,用于根据所述历史视频分布索引信息中包括的各录像片段信息和实时流缓冲视频信息对应的起始时间和结束时间,对所述历史视频分布索引信息进行拼接处理。

可选的,所述拼接模块,具体用于将所述各录像片段信息和实时流缓冲视频信息拼接为时间上连续且不重合。

第三方面,本发明实施例提供了一种监控视频播放系统,所述系统至少包括:客户端和媒体服务器;其中,

所述客户端,用于向所述媒体服务器发送视频预览请求;

所述媒体服务器,用于接收所述客户端发送的所述视频预览请求,获取实时流并发送给所述客户端;

所述客户端,还用于向所述媒体服务器发送视频回放请求;

所述媒体服务器,还用于接收所述客户端发送的视频回放请求,获取所述视频回放请求中包括的待获取监控视频的视频信息;其中,所述视频信息至少包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间;根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置;从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端。

可选的,所述媒体服务器,具体用于根据本地保存的历史视频分布索引信息,以及待获取监控视频对应的目标前端设备标识和起始时间,确定存储有所述待获取监控视频的目标存储设备;根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,以及待获取监控视频的起始时间,确定待获取监控视频的存储位置。

可选的,所述媒体服务器,具体用于根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,确定与所述起始时间最接近的关键帧;将所述关键帧以及所述关键帧之后的监控视频在所述目标存储设备中的存储位置,作为待获取监控视频的存储位置。

可选的,所述媒体服务器,还用于从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端之后,获取所述待获取监控视频的结束时间;当所述结束时间为空时,获取实时流并发送给所述客户端。

可选的,所述系统还包括:录像片段元数据服务器和视频存储服务器,

所述媒体服务器,还用于获取录像片段元数据服务器中存储的第一录像片段信息;根据视频存储服务器中存储的视频存储缓冲,构建所述视频存储缓冲对应的第二录像片段信息;根据媒体服务器中存储的实时流缓冲,构建实时流缓冲视频信息;将所述第一录像片段信息、所述第二录像片段信息、以及所述实时流缓冲视频信息作为历史视频分布索引信息并保存。

可选的,所述媒体服务器,还用于按照设定的时间间隔,获取所述录像片段元数据服务器当前存储的第三录像片段信息,根据所述视频存储服务器当前存储的视频存储缓冲,构建所述视频存储缓冲对应的第四录像片段信息,根据所述媒体服务器中当前存储的实时流缓冲,构建当前实时流缓冲视频信息;使用所述第三录像片段信息、所述第四录像片段信息、以及所述当前实时流缓冲视频信息更新本地保存的历史视频分布索引信息。

可选的,所述媒体服务器,还用于根据所述历史视频分布索引信息中包括的各录像片段信息和实时流缓冲视频信息对应的起始时间和结束时间,对所述历史视频分布索引信息进行拼接处理。

可选的,所述媒体服务器,具体用于将所述各录像片段信息和实时流缓冲视频信息拼接为时间上连续且不重合。

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

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

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

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

本发明实施例提供的一种监控视频播放方法、装置、系统、媒体服务器及存储介质,所述方法应用于媒体服务器,所述方法包括:当接收到客户端发送的视频预览请求时,获取实时流并发送给所述客户端;当接收到所述客户端发送的视频回放请求时,获取所述视频回放请求中包括的待获取监控视频的视频信息;其中,所述视频信息至少包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间;根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置;从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端。

本发明实施例中,客户端只需与媒体服务器建立连接,就可以通过媒体服务器获取到任一时段的监控视频,也即可以在视频回放和视频预览之间平滑切换,从而可以简化监控视频播放过程,提高监控视频播放效率。

附图说明

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

图1为现有的视频播放系统网络架构图;

图2为本发明实施例提供的视频播放系统网络架构图;

图3为本发明实施例提供的监控视频播放方法的一种流程图;

图4为本发明实施例提供的监控视频播放方法的另一种流程图;

图5为本发明实施例提供的监控视频播放装置的结构示意图;

图6为本发明实施例提供的监控视频播放系统的结构示意图;

图7为本发明实施例提供的媒体服务器的结构示意图。

具体实施方式

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

以下通过具体实施例,对本发明进行详细说明。

为了解决在视频预览和回放过程中,客户端分别需要与不同的服务器建立连接而导致的视频播放过程复杂的问题,本发明实施例提供了一种视频播放系统,如图2所示,其示出了本发明实施例的视频播放系统网络架构图。

如图2所示,本发明实施例提供的视频播放系统中,监控视频存储时,对应的数据流向为:0-2.1-2.2,录像片段信息数据流向:2.3,即前端设备将其采集的监控视频发送给媒体服务器,媒体服务器进一步将监控视频发送给视频存储服务器,最后视频存储服务器将监控视频发送给通用云存储进行保存。其中,媒体服务器中会有部分实时流缓冲,视频存储服务器中会有一部分视频存储缓冲,而通用云存储中存储有多个视频文件。并且,视频存储服务器还可以生成录像片段信息并发送给录像片段元数据服务器存储。录像片段信息中包含了相应视频文件视频数据的起始时间、结束时间,以及在通用云存储中存储相应视频文件的起始地址和结束地址。

进行视频数据存储后,当需要查看从某一时刻开始至另一时刻为止采集的视频数据时,可进行视频回放。当进行视频回放时,对应的数据流向为:录像片段信息数据流向3.1,回放视频数据流向3.2.1/3.2.2→3.3,也就是说,媒体服务器接收到客户端发送的视频回放请求后,可以根据待获取监控视频的开始时间和结束时间,对应从视频存储服务器中获取其缓冲的监控视频,也可以从通用云存储中获取其保存的监控视频。

当进行视频预览时,对应的数据流向为:0-1.1,即前端设备将其采集的监控视频发送给媒体服务器后,媒体服务器直接将监控视频发送给客户端进行播放。

需要说明的是,图2中只示例性示出了各设备的数量,并不构成对本发明实施例的限定。并且,各服务器可以是物理上独立的服务器,如,任一服务器都可以为一个服务器集群;或者,各服务器也可以是集成在同一计算机设备上的,软件上划分的服务器,本发明实施例对此不进行限定。

如图3所示,其示出了本发明实施例提供的一种监控视频播放方法流程图,该方法包括以下步骤:

s301,当接收到客户端发送的视频预览请求时,获取实时流并发送给所述客户端。

本发明实施例提供的方法可以应用于如图2所示的视频播放系统中,具体的,可以应用于媒体服务器中。

在本发明实施例中,媒体服务器可以与多台前端设备建立连接,从而各前端设备均可以将其采集的监控视频发送给媒体服务器。

当用户想要观看实时视频流时,可以通过客户端向媒体服务器发送视频预览请求。媒体服务器接收到视频预览请求后,可以获取前端设备发送的实时流并发送给客户端,以供用户观看。

具体的,媒体服务器中可以存储有部分实时流缓冲,当接收到视频预览请求后,媒体服务器可以将其存储的实时流缓冲发送给客户端。媒体服务器连续发送其存储的实时流缓冲,客户端即可持续接收到实时监控视频。

s302,当接收到所述客户端发送的视频回放请求时,获取所述视频回放请求中包括的待获取监控视频的视频信息;其中,所述视频信息至少包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间。

在本发明实施例中,媒体服务器接收到前端设备发送的监控视频后,还可以通过视频存储服务器将监控视频存储到通用云存储中。

当用户想要观看之前保存的历史监控视频时,其可以通过客户端向媒体服务器发送视频回放请求。其中,视频回放请求中包括的待获取监控视频的视频信息至少可以包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间。也就是说,待获取监控视频的视频信息可以标识用户想要观看的是哪台前端设备采集的哪个时间段的监控视频。

需要说明的是,上述步骤s301和s302执行顺序并不限于本实施例中所描述的。也就是说,可以先执行步骤s301再执行步骤s302;或者,先执行步骤s302再执行步骤s301,本发明实施例对此不做限定。

s303,根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置。

如上述针对图2系统的描述,本发明实施例的监控视频播放系统中,媒体服务器中会有部分实时流缓冲,视频存储服务器中会有部分视频存储缓冲,且通用云存储中存储有多个视频文件。也就是说,媒体服务器、视频存储服务器和通用云存储中都存储有部分监控视频。

在本发明实施例中,为了简化视频播放过程,媒体服务器可以与前端设备、视频存储服务器以及通用云存储均建立连接,并且,可以根据前端设备发送给媒体服务器的实时流缓冲、视频存储服务器中的视频存储缓冲以及通用云存储中存储的视频文件,建立并保存历史视频分布索引信息。

具体的,媒体服务器可以获取录像片段元数据服务器中存储的第一录像片段信息,将该录像片段信息作为存储于通用云存储中的视频文件对应的录像片段信息并保存;根据视频存储服务器中存储的视频存储缓冲,构建该视频存储缓冲对应的第二录像片段信息并保存;根据媒体服务器中存储的实时流缓冲,构建该实时流缓冲对应的实时流缓冲视频信息并保存。例如,媒体服务器中保存的历史视频分布索引信息可以如表1所示:

表1

媒体服务器接收到视频回放请求后,可以根据本地保存的历史视频分布索引信息,以及视频回放请求中包括的视频信息,确定待获取监控视频的存储位置。例如,媒体服务器可以根据本地保存的历史视频分布索引信息,将前端设备标识对应的,起始时间之后的监控视频,均确定为待获取监控视频。

例如,当媒体服务器接收到的视频回放请求中包括的前端设备标识为01,待获取监控视频的起始时间为:2017.2.3.1:45时,媒体服务器可以确定存储有该待获取监控视频的目标存储设备为视频存储服务器,对应的存储位置为b。

s304,从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端。

当媒体服务器确定存储有待获取监控视频的目标存储设备,以及相应的存储位置后,其可以从目标存储设备中相应位置处获取待获取监控视频,并通过与客户端已建立的连接将监控视频发送给客户端。客户端接收到监控视频后,即可播放该监控视频。

本发明实施例中,客户端只需与媒体服务器建立连接,就可以通过媒体服务器获取到任一时段的监控视频,也即可以在视频回放和视频预览之间平滑切换,从而可以简化监控视频播放过程,提高监控视频播放效率。

作为本发明实施例的一种实施方式,为了提高待获取监控视频的获取效率,媒体服务器接收到视频回放请求后,确定待获取监控视频的存储位置时,可以根据本地保存的历史视频分布索引信息,以及待获取监控视频对应的目标前端设备标识和起始时间,确定存储有待获取监控视频的目标存储设备。其中,该目标存储设备可以为一个或多个。

确定目标存储设备后,媒体服务器可以进一步根据本地保存的与目标存储设备对应的历史视频分布索引信息,以及待获取监控视频的起始时间,确定待获取监控视频的存储位置。

与所有的历史视频分布索引信息相比,目标存储设备对应的历史视频分布索引信息的数据量较小,因此,先确定目标存储设备,之后再从目标存储设备对应的历史视频分布索引信息中,查找待获取监控视频的存储位置,能够提高存储位置查找速度,进而提高待获取监控视频的获取效率。

作为本发明实施例的一种实施方式,为了保证用户可以准确的查看到其想要查看的监控视频,媒体服务器在确定待获取监控视频的存储位置时,可以根据本地保存的与目标存储设备对应的历史视频分布索引信息,确定与起始时间最接近的关键帧,进而将该关键帧以及该关键帧之后的监控视频在目标存储设备中的存储位置,作为待获取监控视频的存储位置。

可以理解,有些情况下,用户可能想要查找一段时间之内的监控视频。这种情况下,用户可以向媒体服务器发送待获取监控视频的结束时间,以准确的获取到开始时间和结束时间之间的监控视频。

例如,用户可以在视频回放请求中添加待获取监控视频的结束时间;或者,可以在发送视频回放请求之后,再次向媒体服务器发送包含待获取监控视频的结束时间的通知消息,本发明实施例对此不做限定。

相应的,当用户向媒体服务器发送待获取监控视频的结束时间时,媒体服务器在确定待获取监控视频的存储位置时,即可根据开始时间和结束时间来确定待获取监控视频的存储位置。

例如,媒体服务器可以根据本地保存的与目标存储设备对应的历史视频分布索引信息,确定与起始时间最接近的第一关键帧,以及与结束时间最接近的第二关键帧,进而将第一关键帧与第二第二关键帧之间的监控视频在目标存储设备中的存储位置,作为待获取监控视频的存储位置。

如图4所示,其示出了本发明实施例提供的一种监控视频播放方法的另一流程图,在步骤s304之后,该方法还包括以下步骤:

s305,获取所述待获取监控视频的结束时间;当所述结束时间为空时,获取实时流并发送给所述客户端。

可以理解,有些情况下,用户可能在观看历史监控视频时,想要在观看完历史监控视频后,自动切换到实时视频流,也就是从视频回放自动切换到视频预览。在本发明实施例中,当用户想要执行上述操作时,其可以将向媒体服务器发送的待获取监控视频的结束时间设置为空。

当媒体服务器接收到视频回放请求,从起始时间处依次获取监控视频并发送给客户端后,其可以获取待获取监控视频的结束时间。例如,对应于用户发送待获取监控视频的结束时间方式不同,媒体服务器可以采用对应的方式获取到待获取监控视频的结束时间,即可以从视频回放请求或用户通过客户端发送的另一通知消息中获取待获取监控视频的结束时间。

获取到待获取监控视频的结束时间后,媒体服务器可以判断该结束时间是否为空,当判断出结束时间为空时,其可以自动切换至视频预览,也即开始向客户端发送实时视频流。具体的,媒体服务器可以根据存储于媒体服务器中的实时流缓冲获取实时流,并将实时流发送给客户端。

本实施例中,当媒体服务器判断出待获取监控视频的结束时间为空时,可以在发送完历史监控视频后,自动发送实时视频流,从而能够实现回放和预览的平滑切换。与现有的从回放切换到预览的过程相比,本实施例不需要客户端与服务器重新建立连接,从而能够实现0时差的平滑切换,提高用户体验。

作为本发明实施例的一种实施方式,媒体服务器还可以实时更新本地保存的历史视频分布索引信息,保证历史视频分布索引信息的准确性,从而保证用户获取的监控视频的准确性。

例如,媒体服务器可以按照设定的时间间隔,获取录像片段元数据服务器当前存储的第三录像片段信息,根据视频存储服务器当前存储的视频存储缓冲,构建该视频存储缓冲对应的第四录像片段信息,根据媒体服务器中当前存储的实时流缓冲,构建当前实时流缓冲视频信息;并使用第三录像片段信息、第四录像片段信息、以及当前实时流缓冲视频信息更新本地保存的历史视频分布索引信息。

作为本发明实施例的一种实施方式,媒体服务器中的实时流缓冲、视频存储服务器中的视频存储缓冲、和通用云存储中的视频文件,一般会存在短时间的重合。如,各存储设备中的监控视频对应的实际时间可以如表2所示:

表2

如表2所示,2017.2.3.1:38:00-2017.2.3.1:40:00这段时间的监控视频同时存在于通用云存储和视频存储服务器中,2017.2.3.1:48:00-2017.2.3.1:50:00这段时间的监控视频同时存在于视频存储服务器和媒体服务器中。

本实施例中,为了保证用户获取到的监控视频的连续性,媒体服务器可以根据历史视频分布索引信息中包括的各录像片段信息和实时流缓冲视频信息对应的起始时间和结束时间,对历史视频分布索引信息进行拼接处理。也就是说,可以对重合的时间段进行拼接处理,以保证历史视频分布索引信息中各监控视频的时间连续且不重合。

例如,对图2所示的录像片段信息进行拼接处理后,可以得到如表1所示的历史视频分布索引信息。由表1可知,对录像片段信息进行拼接处理后,历史视频分布索引信息中各存储设备对应的监控视频时间连续且互不重合,从而能够保证用户获取到的监控视频的连续性。

作为本发明实施例的一种实施方式,为了进一步保证客户端获取到的监控视频的连续性,可以由媒体服务器或客户端对获取到的监控视频进行拼接后再进行播放。

在一种实现方式中,媒体服务器可以根据预设的单次视频获取长度,依次从存储位置处获取视频片段,并对所获取的视频片段进行拼接处理;之后,可以将拼接处理后得到的完整的监控视频发送给客户端。

或者,媒体服务器可以根据预设的单次视频获取长度,依次从存储位置处获取待获取监控视频中的关键帧,并将所获取的关键帧发送给客户端。客户端接收到关键帧后,根据接收的关键帧获取完整的监控视频。

在另一种实现方式中,媒体服务器可以根据预设的单次视频获取长度,依次从存储位置处获取视频片段,并将所获取的视频片段发送给客户端。客户端接收到视频片段后,对该视频片段进行拼接处理得到完整的监控视频。

本实施例中,可以由媒体服务器或客户端对监控视频进行拼接处理,从而保证客户端播放的监控视频的连续性。

相应于方法实施例,本发明实施例还提供了一种监控视频播放装置,应用于媒体服务器,如图5所示,所述装置包括:

第一处理模块510,用于当接收到客户端发送的视频预览请求时,获取实时流并发送给所述客户端;

接收模块520,用于当接收到所述客户端发送的视频回放请求时,获取所述视频回放请求中包括的待获取监控视频的视频信息;其中,所述视频信息至少包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间;

确定模块530,用于根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置;

第二处理模块540,用于从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端。

本发明实施例中,客户端只需与媒体服务器建立连接,就可以通过媒体服务器获取到任一时段的监控视频,也即可以在视频回放和视频预览之间平滑切换,从而可以简化监控视频播放过程,提高监控视频播放效率。

作为本发明实施例的一种实施方式,所述确定模块530包括:

第一确定子模块,用于根据本地保存的历史视频分布索引信息,以及待获取监控视频对应的目标前端设备标识和起始时间,确定存储有所述待获取监控视频的目标存储设备;

第二确定子模块,用于根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,以及待获取监控视频的起始时间,确定待获取监控视频的存储位置。

作为本发明实施例的一种实施方式,所述第二确定子模块,具体用于:

根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,确定与所述起始时间最接近的关键帧;

将所述关键帧以及所述关键帧之后的监控视频在所述目标存储设备中的存储位置,作为待获取监控视频的存储位置。

作为本发明实施例的一种实施方式,所述装置还包括:

获取模块,用于获取所述待获取监控视频的结束时间;

发送模块,用于当所述结束时间为空时,获取实时流并发送给所述客户端。

作为本发明实施例的一种实施方式,所述装置还包括:

获取模块,用于获取录像片段元数据服务器中存储的第一录像片段信息;

构建模块,用于根据视频存储服务器中存储的视频存储缓冲,构建所述视频存储缓冲对应的第二录像片段信息;根据媒体服务器中存储的实时流缓冲,构建实时流缓冲视频信息;

存储模块,用于将所述第一录像片段信息、所述第二录像片段信息、以及所述实时流缓冲视频信息作为历史视频分布索引信息并保存。

作为本发明实施例的一种实施方式,所述装置还包括:

更新模块,用于按照设定的时间间隔,获取所述录像片段元数据服务器当前存储的第三录像片段信息,根据所述视频存储服务器当前存储的视频存储缓冲,构建所述视频存储缓冲对应的第四录像片段信息,根据所述媒体服务器中当前存储的实时流缓冲,构建当前实时流缓冲视频信息;使用所述第三录像片段信息、所述第四录像片段信息、以及所述当前实时流缓冲视频信息更新本地保存的历史视频分布索引信息。

作为本发明实施例的一种实施方式,所述装置还包括:

拼接模块,用于根据所述历史视频分布索引信息中包括的各录像片段信息和实时流缓冲视频信息对应的起始时间和结束时间,对所述历史视频分布索引信息进行拼接处理。

作为本发明实施例的一种实施方式,所述拼接模块,具体用于将所述各录像片段信息和实时流缓冲视频信息拼接为时间上连续且不重合。

相应的,本发明实施例还提供了一种监控视频播放系统,如图6所示,所述系统包括:客户端610、媒体服务器620;其中,

所述客户端610,用于向所述媒体服务器620发送视频预览请求;

所述媒体服务器620,用于接收所述客户端610发送的所述视频预览请求,获取实时流并发送给所述客户端610;

所述客户端610,还用于向所述媒体服务器620发送视频回放请求;

所述媒体服务器620,还用于接收所述客户端610发送的视频回放请求,获取所述视频回放请求中包括的待获取监控视频的视频信息;其中,所述视频信息至少包括:待获取监控视频对应的目标前端设备标识、以及待获取监控视频的起始时间;根据本地保存的历史视频分布索引信息,以及所述视频信息,确定待获取监控视频的存储位置;从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端610。

本发明实施例中,客户端只需与媒体服务器建立连接,就可以通过媒体服务器获取到任一时段的监控视频,也即可以在视频回放和视频预览之间平滑切换,从而可以简化监控视频播放过程,提高监控视频播放效率。

作为本发明实施例的一种实施方式,所述媒体服务器620,具体用于根据本地保存的历史视频分布索引信息,以及待获取监控视频对应的目标前端设备标识和起始时间,确定存储有所述待获取监控视频的目标存储设备;根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,以及待获取监控视频的起始时间,确定待获取监控视频的存储位置。

作为本发明实施例的一种实施方式,所述媒体服务器620,具体用于根据本地保存的与所述目标存储设备对应的历史视频分布索引信息,确定与所述起始时间最接近的关键帧;将所述关键帧以及所述关键帧之后的监控视频在所述目标存储设备中的存储位置,作为待获取监控视频的存储位置。

作为本发明实施例的一种实施方式,所述媒体服务器620,还用于从所述存储位置处获取所述待获取监控视频,并将所获取的监控视频发送给所述客户端之后,获取所述待获取监控视频的结束时间;当所述结束时间为空时,获取实时流并发送给所述客户端610。

作为本发明实施例的一种实施方式,所述系统还包括:录像片段元数据服务器和视频存储服务器,

所述媒体服务器620,还用于获取录像片段元数据服务器中存储的第一录像片段信息;根据视频存储服务器中存储的视频存储缓冲,构建所述视频存储缓冲对应的第二录像片段信息;根据媒体服务器中存储的实时流缓冲,构建实时流缓冲视频信息;将所述第一录像片段信息、所述第二录像片段信息、以及所述实时流缓冲视频信息作为历史视频分布索引信息并保存。

作为本发明实施例的一种实施方式,所述媒体服务器620,还用于按照设定的时间间隔,获取所述录像片段元数据服务器当前存储的第三录像片段信息,根据所述视频存储服务器当前存储的视频存储缓冲,构建所述视频存储缓冲对应的第四录像片段信息,根据所述媒体服务器中当前存储的实时流缓冲,构建当前实时流缓冲视频信息;使用所述第三录像片段信息、所述第四录像片段信息、以及所述当前实时流缓冲视频信息更新本地保存的历史视频分布索引信息。

作为本发明实施例的一种实施方式,所述媒体服务器620,还用于根据所述历史视频分布索引信息中包括的各录像片段信息和实时流缓冲视频信息对应的起始时间和结束时间,对所述历史视频分布索引信息进行拼接处理。

作为本发明实施例的一种实施方式,所述媒体服务器620,具体用于将所述各录像片段信息和实时流缓冲视频信息拼接为时间上连续且不重合。

相应的,本发明实施例还提供了一种媒体服务器,如图7所示,包括处理器710、通信接口720、存储器730和通信总线740,其中,所述处理器710、所述通信接口720、所述存储器730通过所述通信总线740完成相互间的通信;

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

所述处理器710,用于执行所述存储器上所存放的程序时,实现上述实施例所述的一种监控视频播放方法。

本发明实施例中,客户端只需与媒体服务器建立连接,就可以通过媒体服务器获取到任一时段的监控视频,也即可以在视频回放和视频预览之间平滑切换,从而可以简化监控视频播放过程,提高监控视频播放效率。

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

通信接口720用于上述计算机设备与其他设备之间的通信。

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

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

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

本发明实施例中,客户端只需与媒体服务器建立连接,就可以通过媒体服务器获取到任一时段的监控视频,也即可以在视频回放和视频预览之间平滑切换,从而可以简化监控视频播放过程,提高监控视频播放效率。

对于装置/系统/媒体服务器/存储介质实施例而言,由于其基本相似于设备实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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

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

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