【问题标题】:Java Video Player [closed]Java 视频播放器 [关闭]
【发布时间】:2008-11-05 13:45:58
【问题描述】:

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

【问题讨论】:

    标签: java video buffer frame codec


    【解决方案1】:

    看看FMJ。它确实需要Java Media Framework (JMF)。

    他们在页面底部有一个example,它将视频的前 5 帧写入文件,因此您应该能够访问各个帧。

    【讨论】:

      【解决方案2】:

      FMJ 已经非常过时了,而 JMF 是一个失败的原因(是的,其中之一就是恕我直言)。如果您想要一些可以正常工作并且完全符合您所描述的内容,请尝试 Xuggle。在他们的媒体工具示例中,他们提供了一个使用 AWT / Swing 的简单播放器示例。 http://xuggle.com/

      【讨论】:

      【解决方案3】:

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

      代码 sn-p 从视频文件中提取图像:

      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 找到使用 velvet-video 实现视频播放器的更高级示例。

      免责声明:我是 velvet-video 的作者。

      【讨论】:

      • 仅仅链接到您自己的库或教程并不是一个好的答案。链接到它,解释它为什么解决问题,提供如何解决问题的代码,并否认你编写了它,这样可以得到更好的答案。见:What signifies “Good” self promotion?
      猜你喜欢
      • 1970-01-01
      • 2015-05-20
      • 2012-11-17
      • 2010-11-19
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多