2016-08-15 18 views
-2

私はビデオの分析を行うプロジェクトに取り組んでおり、ビデオをフレームに分割して個別に処理したいと考えています。私はXugglerやFFMPEGを含むいくつかのオープンソースライブラリを見てきましたが、それらは古くて使用できません。私はビデオからフレームを抽出し、それらをBufferedImageのコレクションとして処理できる簡単な方法はありますか?ビデオJavaからフレームを抽出する方法は?

+1

FFMPEGはまだ積極的に維持され、このコードを実行しますhttp://ffmpeg.org/最後のリリースとなりました今月は... – litelite

答えて

-1

OpenCV無料のオープンソースフレームワークの画像とビデオを処理することができます。また、優れたJavaラッパーも備えています。

0

import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
import javax.imageio.ImageIO; 
import org.bytedeco.javacpp.opencv_core.IplImage; 
import org.bytedeco.javacv.FFmpegFrameGrabber; 
import org.bytedeco.javacv.FrameGrabber.Exception; 

public class Read{ 
    public static void main(String []args) throws IOException, Exception 
    { 
     FFmpegFrameGrabber frameGrabber = new FFmpegFrameGrabber("D:/video.mp4"); 
     frameGrabber.start(); 
     IplImage i; 
     try { 

      i = frameGrabber.grab(); 
      BufferedImage bi = i.getBufferedImage(); 
      ImageIO.write(bi,"png", new File("D:/Img.png")); 
      frameGrabber.stop(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


    } 
} 
+0

あなたのコードでは、最初のフレーム(1秒) 用画像を生成します。特定のフレームの画像を生成する方法は? –

関連する問題