基于Hadoop的海量视频数据的存储与转码方案

2018-02-28 02:31陈雁卿济民林必毅刘春秋
电子技术与软件工程 2018年20期

陈雁 卿济民 林必毅 刘春秋

摘要

由于科学技术带来的日新月异的变化,让各行各业都展现出前所未有的创新力,安防监控领域也是如此。随着视频监控技术的普及,各种监控录像可以说已经遍布大街小巷,每天产生的视频数据量惊人,如此巨大的视频数据如何进行有效的存储成为摆在行业面前的难题,如果用传统的方法存储,既消耗大量空间,又浪费人力物力,因此正是在这种背景下本文提出了基于Hadoop的海量视频数据的存储与转码方案。

【关键词】Hadoop技术 视频数据的存储 视频数据的解码

1 海量视频存储与转码系统的需求分析

本文提出了基于Hadoop的海量视频数据的存储与转码解决方案。对视频数据实施分布式存储,这种存储方式主要有三个部分构成:首先是流媒体的数据接收过程,这个过程主要是对监控视频拍摄到的视频流进行接收,其次是流媒体数据的存储策略,这是整个存储过程的核心,主要涉及到存储的方式和存储位置,此外还包括流媒体数据的上传,数据上传是为了更方便服务器端的数据处理和运算。如图1所示,给出了整个系统的各个功能模块。

分布式转码技术主要包括两个部分,分别是流媒体的数据读写和基于FFMPEG分布式转码,这两部分相互协作,实现了对视频采集到的流媒體数据的转码处理,并且利用MapReduce的并行计算能力,来对搜集到的数据进行并行处理,可以实现用户的多任务操作。

2 海量视频存储与转码系统以及管理平台的整体架构设计

数据流媒体在存储的过程中占用十分庞大的存储空间,在实际的视频存储中,需要将数据存储在HDFS上,因此也就要求整个流媒体是存储服务器是分布式存储的,在整个数据传输的过程中,需要首先将传输到用户端的数据进行预处理,先将整个数据进行刷新,再以H.264形式的数据按照刷新速率临时保存,之后分发服务器所要完成的就是在服务器上将各个终端传输过来的数据按照一定的规则进行临时存储,临时存储完成后,服务器中的DFSClient程序会将所有的数据进行上传,通过网络传输到HDFS集群中从而能够实现整个海量视频数据的分布式存储。在整个HDFS集群中,最核心的就是NameNode,他是整个集群的主节点,集群是由很多接点共同构成的,每个节点都存放着很多基础数据单元,数据节点服务器就是用来存储这些节点信息的服务器,通过节点服务器可以实现对所有视频数据的分布存储。DFSClient是HDFS的客户端,主要有两种不同的DFSClient类型,其中一种是流媒体服务器D,这种转发服务器的主要功能是将接收到的流媒体数据进行初步处理,加工成H.264数据帕的格式,在将处理后的数据上传到HDFS集群。另一种类型I服务器是主要负责视频下载的服务器,当终端用户通过网络访问服务器时候,该服务器就为终端用户提供相应的下载服务,在下载过程中需要对存储的H.264格式的文件进行解码,变成用户可以识别和观看的格式文件。因此当用户通过I服务器访问浏览视频数据的时候,浏览的文件格式已经是经过转码的格式。

3 海量视频数据的分布式转码流程

在整个HDFS中有大量的数据模块,这些模块在设计的时候就规定不能大于64M,因此一旦模块的大小超过64M,默认系统就会对模块进行切割。HDFS的这种数据处理模式是在服务器中进行的,DFS Client从HDFS集群上读取文件,再经过DFS Client系统将被模块化的数据进行整合处理。但是这里需要注意的是与传统的文本文件不同,由于在服务器中储存的视频数据是以H.264的格式存在的,因此在进行模块的整合加工时候就需要注意视频文件的特殊性,视频文件中主要包括了I帧(主帧)、P帧(辅帧)两种不同类型,其中I帧也就是整个视频的关键帧,而P帧则是需要在前后画面的基础上才能复原的辅助帧。I帧单独解码即可得到完整的图像,但是P帧在解码的时候必须依附于前一帧的图像。

4 总结

在当今社会视频监控已经无所不在的背景下,视觉信息有其自身的特点那就是数据量大,本文研究的基于Hadoop的海量视频数据的存储与转码方案是一种创新的视频数据处理方案,本文的研究能够为现有的海量视频数据检索工作提供技术支持,使得智能化的视频数据检索成为可能。

参考文献

[1]黄洁琛,倪明.基于Hadoop的分布式视频转码方案[J].计算机工程,2015,41(08):218-222.