我想在存储为.mp4格式的视频上进行一些图像分析。因此,我需要一种在Java中只获取这部电影的图像的方法。
我搜索了很多,并找到了一些库,如jcodec和jaad。但是我无法使用这些库运行程序。并且,据我所知,没有示例(至少我没有找到)可以展示我的用例。
你能帮帮我吗?你知道任何可以满足我的需求并且至少在Win7 64位上运行的库吗? 或者你知道如何使用jcodec完成这个任务吗?
编辑:
正如我所写的,我已经尝试过jcodec。我发现如何获取帧的数据,但不知道如何将其转换成类似于BufferedImage之类的格式。我预计这些数据不是简单的RGB格式,而是任何压缩格式之类的东西。(我是对的吗?)我不知道如何解码这些数据。
你可以按照以下方式使用jcodec获取帧的数据(至少就我理解而言):
我还发现了以下内容: http://code.google.com/p/jcodec/source/browse/trunk/src/test/java/org/jcodec/containers/mp4/DitherTest.java?r=70 但是,这个链接不能与可下载的jar包一起使用(存在编译错误)。
你能帮帮我吗?你知道任何可以满足我的需求并且至少在Win7 64位上运行的库吗? 或者你知道如何使用jcodec完成这个任务吗?
编辑:
正如我所写的,我已经尝试过jcodec。我发现如何获取帧的数据,但不知道如何将其转换成类似于BufferedImage之类的格式。我预计这些数据不是简单的RGB格式,而是任何压缩格式之类的东西。(我是对的吗?)我不知道如何解码这些数据。
你可以按照以下方式使用jcodec获取帧的数据(至少就我理解而言):
public static void main(String[] args) throws IOException, MP4DemuxerException {
String path = "videos/video-2011-09-21-20-07-21.mp4";
MP4Demuxer demuxer1 = new MP4Demuxer(new FileInput(new File(path)));
DemuxerTrack videoTrack = demuxer1.getVideoTrack();
Packet firstFrame = videoTrack.getFrames(1);
byte[] data = firstFrame.getData();
}
我还发现了以下内容: http://code.google.com/p/jcodec/source/browse/trunk/src/test/java/org/jcodec/containers/mp4/DitherTest.java?r=70 但是,这个链接不能与可下载的jar包一起使用(存在编译错误)。