[发明专利]一种视频大数据分布式解码的方法在审
申请号: | 201410748160.4 | 申请日: | 2014-12-09 |
公开(公告)号: | CN104394415A | 公开(公告)日: | 2015-03-04 |
发明(设计)人: | 高翔;宋智军;曹博琦 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | H04N19/436 | 分类号: | H04N19/436;H04N19/174;H04N19/44 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210007 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 数据 分布式 解码 方法 | ||
技术领域
本发明涉及一种计算机视频处理领域,特别是一种视频大数据分布式解码的方法。
背景技术
目前视频分析已然在学术以及现实生活中的一个热门领域,原因在于视频数据包含了大量的有价值的信息,但是视频文件具有容量大,无法直接对其进行分析处理,需要对视频文件进行解码,获得原始的视频图像帧后,再对图像帧进行分析,这必然涉及到传输、存储以及解码等工作。
发明内容
发明目的:本发明提出了一种基于Spark计算框架以及HDFS的视频大数据分布式解码的方法,解决了现有的海量视频分布式解码方法中存在的不足,有效提高了解码效率,并且解码准确率达到接近100%。
为了解决上述技术问题,本发明公开了一种基于Spark计算框架以及HDFS的视频大数据分布式解码方法,包括如下步骤:
步骤a:将海量(PB级以上)视频文件直接上传至HDFS中进行存储;
步骤b:定义Spark计算框架的分片模型(InputSplit),该分片包含视频文件的头信息以及完整的视频关键帧边界;
步骤c:构造Spark的分布式数据集HadoopRDD,定义读取分片数据的方式;
步骤d:在分布式数据集HadoopRDD的transformation(RDD转化)中完成分布式解码;
步骤e:在HadoopRDD的action(RDD动作阶段)中对解码后视频图像文件进行保存,用于后续的智能视频分析。
本发明分布式计算是基于Spark,分布式存储是基于HDFS(HadoopDistributed File System,Hadoop分布式文件系统)。
所述步骤b中,根据Spark提供的API实现java类InputSplit的子类,该子类不仅包含数据块在视频文件的起始位置、结束位置、主机信息,还包含视频文件头信息的结束位置以及主机信息。自定义java类InputFormat类的子类,实现该子类的java类getSplits方法,修改HDFS数据块(block)的分割方法,以视频图像帧作为分割边界,即对于每个分割(Split),需判断该分割是否能够得到可解码的帧,从而解决了HDFS现有分割方法(按字节)导致的视频图像帧分裂进而无法解码的问题。
所述步骤c中,自定义java类RecordReader的子类,该子类的作用是自定义读取分片数据的方式,并结合步骤b中自定义的InputFormat构造Spark的分布式数据集HadoopRDD。
所述步骤d中,实现HadoopRDD的map转化,对每一个map输入,根据视频解码所需的头信息,以及FFmpeg解码库实现对海量视频的分布式解码,并按照<帧的播放时间,视频帧图像文件>格式输出。实现HadoopRDD的reduce转化,对所有HadoopRDD的map转化的输出结果按key(键)进行排序。
所述步骤e中,实现HadoopRDD的action动作,最后结果保存在指定路径下的SequenceFile(HDFS提供的一种二进制存储文件)中,这些信息能够用于动态监测、前后景监测、图像识别等智能视频分析。
相对于现有技术,本发明具有如下有益效果:
1.本发明将海量视频文件直接存储在HDFS中,不需要事先对视频大数据按分布式文件系统的数据块进行分割,方便了海量视频的存储。
2.本发明自定义Spark的数据分片模型ImageInputSplit,继承抽象类InputSplit,该类不仅包含数据块在视频文件的起始位置、结束位置、主机信息,还包含视频文件头信息的结束位置以及主机信息。
3.本发明自定义InputFormat的子类,实现该子类的getSplits方法,修改HDFS数据块(block)的分割方法,以视频图像帧作为分割边界,解决了帧分裂导致视频图像帧缺失的问题。并且自定义分片(ImageInputSplit)数据的读取方式,即自定义RecordReader类,实现InputFormat的createRecordReader方法。从而保证了ImageInputSplit包含完整的视频关键帧边界,解决了传统分布式解码存在的帧分裂问题。
4.本发明根据以上所述构造Spark的分布式数据集HadoopRDD,通过map、reduce等转化完成所有解码工作,最后通过action(动作)保存最终的视频图像文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410748160.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置