Я работаю над проектом, чтобы сделать анализ на видео, и я хочу разделить видео на фреймы для индивидуальной обработки. Я взглянул на несколько библиотек с открытым исходным кодом, включая Xuggler и FFMPEG, но они оба устарели и недоступны для использования. Есть ли простой способ, с помощью которого я могу извлечь кадры из видео и обработать их как коллекцию BufferedImage
?Как извлечь кадры из видео java?
-2
A
ответ
-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) как сгенерировать изображение для определенного кадра? –
FFMPEG по-прежнему активно поддерживается http://ffmpeg.org/ последний релиз был в этом месяце ... – litelite