您的位置:首页 > 运维架构

利用Hadoop和opencv进行处理视频的原理

2014-07-04 00:46 267 查看
大概的原理就是,先使用一个自定义的InputFormat将视频文件从HDFS里面读到内存,这时是以二进制字节的形式存在,然后对视频文件根据其编码类型,比如x264或者xvid格式,对这些二进制的字节流进行截取,转换成一个个的桢。这时将“帧流”以key-value的方式输入到Map Task中进行处理。
其实我们之前一直存在一个误区,就是opencv的API读取的是文件路径,这两个对不上啊。但是,opencv利用VideoCapture读取文件之后还是会把它转成一个个的帧,因此,我们的Map Task其实就只要处理现成的帧就好了。这样才符合MapReduce的模型!
另外,其实Spark和Hadoop处理视频的思路应该是一样的。

相关参考资料:
JAVE:ffmpeg 项目的 Java 语言封装 http://www.sauronsoftware.it/projects/jave/index.php

JavaCv–获取视频帧并保存 http://www.lvzejun.cn/?p=698

Hadoop InputFormat浅析 http://hi.baidu.com/_kouu/item/dc8d727b530f40346dc37cd1

自定义hadoop的InputFormat http://blog.csdn.net/zhongyifly/article/details/25156145

hadoop 自定义inputformat和outputformat /article/3865128.html

自定义hadoop map/reduce输入文件切割InputFormat http://hi.baidu.com/lzpsky/item/0d9d84c05afb43ba0c0a7b27

在Hadoop的streaming中使用自定义的inputformat和outputformat http://www.codesky.net/article/201204/172486.html

javaCV http://blog.sina.com.cn/s/blog_72cc84c001019nzd.html

Java中如何使用OpenCV http://blog.sina.com.cn/s/blog_7b4a5b550101ifi7.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: