利用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
其实我们之前一直存在一个误区,就是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
相关文章推荐
- 一段能用的OpenCV3中利用VideoCapture类进行视频的处理
- 利用opencv进行usb相机的视频捕获
- Window7系统 opencv 利用DirectShow 进行视频采集的解决方案
- 利用ffmpeg和opencv进行视频的解码播放
- 利用ffmpeg和opencv进行视频的解码播放
- zedboard中使用opencv对视频进行处理
- 利用Canny边缘检测算子进行边缘检测的原理及OpenCV代码实现
- 利用ffmpeg和opencv进行视频的解码播放
- 利用ffmpeg和opencv进行视频的解码播放
- 利用Opencv提供的imencode和imdecode进行图像视频传输(发送端支持Linux和Windows双系统)
- 在Android平台上利用opencv进行图像处理之边缘检测、灰度变换、缩小
- Opencv3.0-python的那些事儿:(九)、Opencv关于如何读取大量视频帧进行处理的方法
- OpenCV学习笔记02--利用滚动条控制视频;高斯滤波处理图像。
- 基于Qt与OpenCV的图片读取、保存,并利用Canny进行简单的边缘处理结果显示
- 利用opencv进行usb相机的视频捕获
- 利用ffmpeg和opencv进行视频的解码播放
- C# 利用 OpenCV 进行视频捕获 (笔记)
- 利用opencv进行usb相机的视频捕获
- Hadoop详解(七)——Hive的原理和安装配置和UDF,flume的安装和配置以及简单使用,flume+hive+Hadoop进行日志处理
- ROS中利用opencv3完成四个视频流拼接成一副图像显示,并添加track条进行参数调节