Java视频播放器

时间:2008-11-05 13:45:59

标签: java video buffer frame codec

我需要一个不能使用JMF的java api来播放由SO编解码器解释的视频,但我想在java代码中检索每个帧。有人知道吗?

3 个答案:

答案 0 :(得分:2)

看看FMJ需要Java Media Framework(JMF)。

页面底部有一个example,用于将视频的前5帧写入文件,因此您应该可以访问各个帧。

答案 1 :(得分:2)

FMJ已经过时了,而JMF是一个失败的原因(是的其中一个是恕我直言)。如果你想要一些有用的东西并且完全按你所描述的那样做,那就试试Xuggle。在他们的媒体工具示例中,他们提供了一个使用AWT / Swing的简单播放器示例。 http://xuggle.com/

答案 2 :(得分:0)

如果您对FFMpeg的Java包装感到满意,请尝试velvet-video

代码段可从视频文件中提取图像:

IVelvetVideoLib lib = VelvetVideoLib().getInstance();
try (IDemuxer demuxer = lib.demuxer(new File("/some/path/example.mp4"))) {
    IDecoderVideoStream videoStream = demuxer.videoStream(0);
    IFrame videoFrame;
    while ((videoFrame = videoStream.nextFrame()) != null) {
        BufferedImage image = videoFrame.image();
        // Use image as needed...
    }
}    

here是使用天鹅绒视频实现视频播放器的更高级示例。

免责声明:我是天鹅绒视频的作者。