2016-08-15 3 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) как сгенерировать изображение для определенного кадра? –