JavaCV captura un marco usando FFmpeg
(1)
Después de buscar en la web por bastante tiempo, llegué a la siguiente solución:
Paso 1: descargue el archivo .zip "javacv- 0.6- cppjars .zip" de
https://code.google.com/p/javacv/downloads/list y descomprímalo.
Paso 2: ¡ Agrega el archivo "ffmpeg-20130915-git-7ac6c63-windows-x86_64.jar" a tu proyecto Java!
Creo una clase que captura el fotograma de un video. Cuando captura un marco, se guarda como una imagen. Cuando el video es .avi, la aplicación funciona bien. Cuando el formato es .avi.
public static void main(String[] args) {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("C:/Users/Ioanna/Desktop/video1.avi");
try {
IplImage img;
//Start grabber to capture video
grabber.start();
//grab video frame to IplImage
img = grabber.grab();
if (img != null) {
//save video frame as a picture
cvSaveImage("capture.jpg", img);
}
}catch (Exception e) {
}
}
El error es
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.googlecode.javacv.FFmpegFrameGrabber.<init>(FFmpegFrameGrabber.java:106)
at Video.main(Video.java:75)
Caused by: java.lang.IllegalStateException: Can''t overwrite cause with java.lang.UnsatisfiedLinkError: no avcodec in java.library.path
at java.lang.Throwable.initCause(Throwable.java:457)
at com.googlecode.javacpp.Loader.load(Loader.java:581)
at com.googlecode.javacpp.Loader.load(Loader.java:532)
at com.googlecode.javacv.cpp.avcodec.<clinit>(avcodec.java:39)
... 2 more
Caused by: java.lang.UnsatisfiedLinkError: no jniavcodec in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1837)
¿Alguien sabe cuál es el problema?
Gracias por adelantado