一种视频流数据的录像与回放方法及装置的制造方法
【技术领域】
[0001]本发明涉及大数据视频监控领域,尤其涉及一种视频流数据的录像与回放方法及
目.ο
【背景技术】
[0002]视频流数据的录像及回放在视频监控系统中具有重要意义,是智能视频分析处理的基础与前提。然而,在数据快速膨胀的今天,视屏监控卡口井喷式的增长,针对海量视频流数据的录像与回放提出了更高的要求。
[0003]目前针对海量视频流数据的录像与回放的方法主要是采用文件分段存储,通过时间戳的方式实现录像与回放。
[0004]但是,由于受到计算机资源瓶颈的限制,难以针对海量视频流数据进行录像与回放。
【发明内容】
[0005]本发明实施例提供了一种视频流数据的录像与回放方法及装置,能够在并行处理框架下,通过分布式文件系统实现海量视频流数据的录像及回放。
[0006]有鉴于此,本发明第一方面提供了一种视频流数据的录像与回放方法,包括:
[0007]在并行处理框架下采集视频流数据,压缩编码所述视频流数据,并建立用于查找及定位所述视频流数据中的每一视频帧数据的关联索弓I信息;
[0008]通过分布式文件系统中预置的序列化组件将所述视频流数据的数据格式转换为所述分布式文件系统支持的数据格式,并通过所述分布式文件系统中的多个数据块文件依次存储压缩编码后的所述视频流数据;
[0009]接收来自终端的视频回放请求;
[0010]根据所述关联索引信息获取所述视频回放请求对应的视频流数据;
[0011 ] 将获取到的视频流数据发送给所述终端,使得所述终端通过所述获取到的视频流数据进行视频播放。
[0012]本发明具有如下优点:由于分布式文件系统能实现海量数据的离线与实时处理,但分布式文件系统不支持视频流数据的数据格式,所以本发明将视频流数据的数据格式转换为分布式文件系统支持的数据格式,由此本发明利用分布式文件系统存储视频流数据,实现了海量视频流数据的录像及回放。
[0013]可选的:
[0014]所述压缩编码所述视频流数据,之后包括:
[0015]缓存所述视频流数据;
[0016]封装所述视频流数据。
[0017]需要说明的是,通过对视频流数据进行缓存和封装操作,以保证视频流数据源源不断的发送,保证数据的连续性。
[0018]可选的:
[0019]所述视频流数据包含多路视频流数据,所述多路视频流数据被封装成多路视频帧数据,所述多路视频帧数据的数据格式经过所述序列化组件转换后的数据格式为所述分布式文件系统支持的数据格式;
[0020]所述封装所述视频流数据,之后包括:
[0021]通过所述并行处理框架中预置的并行处理拓扑结构将所述多路视频帧数据发送至所述分布式文件系统;
[0022]所述通过所述分布式文件系统中的多个数据块文件依次存储压缩编码后的所述视频流数据,包括:
[0023]通过所述分布式文件系统中的多组数据块文件分别存储所述多路视频帧数据,其中,每组数据块文件包含多个依次用于存储的数据块文件。
[0024]需要说明的是,通过上述方案,本发明能够通过分布式文件系统对多路视频流数据进行并行存储,一方面实现了分布式文件系统存储视频流数据,另一方面提高了存储效率。
[0025]可选的:
[0026]所述视频流数据被封装成视频帧数据,所述视频帧数据的数据格式经过所述序列化组件转换后的数据格式为所述分布式文件系统支持的数据格式;
[0027]所述通过所述分布式文件系统中的多个数据块文件依次存储压缩编码后的所述视频流数据,包括:
[0028]将所述视频帧数据写入所述分布式文件系统的第一数据块文件中,在所述第一数据块文件存储满后,通过第二数据块文件进行存储,直至存储完所述视频帧数据。
[0029]需要说明的是,只有前面一个数据块文件存储满后,才会开始使用下一个数据块文件进行存储,由于虚拟磁盘是由数据块文件组成的,由此提高了虚拟磁盘利用率。
[0030]可选的:
[0031]所述关联索引信息包含视频帧时间点和视频帧位置的索引;
[0032]所述根据所述关联索引信息查找所述视频回放请求对应的视频流数据,包括:
[0033]获取所述视频回放请求中的视频帧时间点;
[0034]根据所述关联索引信息获取所述视频帧时间点对应的视频帧位置;
[0035]根据所述视频帧位置,读取对应的数据块文件,获取相应的视频帧数据;
[0036]解封装所述视频帧数据,得到相应的视频流数据。
[0037]需要说明的是,本发明能够快速查找到所需视频帧时间点对应的视频帧位置,快速查找视频流数据,也就提高了视频回放的效率。
[0038]有鉴于此,本发明第二方面提供了一种视频流数据的录像与回放装置,包括:
[0039]视频流数据采集模块,用于在并行处理框架下采集视频流数据,压缩编码所述视频流数据,并建立用于查找及定位所述视频流数据中的每一视频帧数据的关联索引信息;
[0040]视频流数据录像管理模块,用于通过分布式文件系统中预置的序列化组件将所述视频流数据的数据格式转换为所述分布式文件系统支持的数据格式,并通过所述分布式文件系统中的多个数据块文件依次存储压缩编码后的所述视频流数据;
[0041 ] 视频流数据回放模块,用于接收来自终端的视频回放请求;根据所述关联索引信息获取所述视频回放请求对应的视频流数据;将获取到的视频流数据发送给所述终端,使得所述终端通过所述获取到的视频流数据进行视频播放。
[0042]可选的:
[0043]所述视频流数据采集模块,还用于缓存所述视频流数据;封装所述视频流数据。
[0044]可选的:
[0045]所述视频流数据包含多路视频流数据,所述多路视频流数据被封装成多路视频帧数据,所述多路视频帧数据的数据格式经过所述序列化组件转换后的数据格式为所述分布式文件系统支持的数据格式;
[0046]所述视频流数据采集模块,还用于通过所述并行处理框架中预置的并行处理拓扑结构将所述多路视频帧数据发送至所述分布式文件系统;
[0047]所述视频流数据录像管理模块,具体用于通过所述分布式文件系统中的多组数据块文件分别存储所述多路视频帧数据,其中,每组数据块文件包含多个依次用于存储的数据块文件。
[0048]可选的:
[0049]所述视频流数据被封装成视频帧数据,所述视频帧数据的数据格式经过所述序列化组件转换后的数据格式为所述分布式文件系统支持的数据格式;
[0050]所述视频流数据录像管理模块,具体用于将所述视频帧数据写入所述分布式文件系统的第一数据块文件中,在所述第一数据块文件存储满后,通过第二数据块文件进行存储,直至存储完所述视频帧数据。
[0051]可选的:
[0052]所述关联索引信息包含视频帧时间点和视频帧位置的索引;
[0053]所述视频流数据回放模块,具体用于接收来自终端的视频回放请求;获取所述视频回放请求中的视频帧时间点;根据所述关联索引信息获取所述视频帧时间点对应的视频帧位置;根据所述视频帧位置,读取对应的数据块文件,获取相应的视频帧数据;解封装所述视频帧数据,得到相应的视频流数据;将获取到的视频流数据发送给所述终端,使得所述终端通过所述获取到的视频流数据进行视频播放。
[0054]从以上技术方案可以看出,本发明实施例具有以下优点:由于分布式文件系统能实现海量数据的离线与实时处理,但分布式文件系统不支持视频流数据的数据格式,所以本发明将视频流数据的数据格式转换为分布式文件系统支持的数据格式,由此本发明利用分布式文件系统存储视频流数据,实现了海量视频流数据的录像及回放。
【附图说明】
[0055]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0056]图1为本发明实施例方法流程示意图;
[0057]图2为本发明实施例分布式文件系统结构图;
[0058]图3为本发明实施例多路视频流数据并行处理框架结构图;
[0059]图4为本发明实施