用javacv库
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.FrameGrabber.Exception;
方法里写:FFmpegFrameGrabber grabber = new FFmpegFrameGrabber( "视频流");
视频文件没有弄过。不过音频文件我是知道的。用JMF同样可以解决视频文件的问题。希望对你有帮助。
首先你要明白hadoop是用来做什么事情的。简单的来说是来分析海量的可以分割成小数据的。首先是用来分析数据的,其次不是海量的没必要,然后不可分割的任务做不了
摄像头获取到的数据其实都是一帧一帧的图片,任何语言不仅仅是java都可以对这些数据进行处理,但是Java不是最佳的选择。
针对这些图片你首先要知道摄像头是否对视频流使用了压缩技术,例如:H263\H264或者是没有压缩过的。
如果是压缩过的,你需要先对每一帧进行解编码(DECODE),然后就是一张图了,你进行你要做的编辑,然后再编码(ENCODE),再放入视频流中。
C语言开发的视频处理软件是cstream,你可以看一看,这个是通道式处理,添加插件,处理每一个buffer,一个buffer就是一帧,同时也可以处理多种格式的音频。
对视频的编辑不是简简单单就能实现的,需要对算法有很好的了解。
你说的视频流,是流媒体的,目前,JAVA不支持那个模块,所有的JAVA不支持流媒体,智能操作系统的可以
javacv基于ffmpeg和opencv等开源音视频、图像处理库,可以支持各种协议的推流,拉流,实时图像处理,javacv可以解决你的问题,具体请参考javacv教程专栏:网页链接