J'ai utilisé javacv pour mon projet pour faire face à avi. La vidéo montre plus vite que la normale, je veux obtenir le fps pour définir la vitesse de la vidéo. Mais grabber.getFrameRate() renvoie 0, de même que grabber.getLengthInFrames() et grabber.getSampleRate(), quelqu'un peut-il me dire pourquoi? extrait de code ci-dessous:javacv: grabber.getFrameRate() return 0
FrameGrabber grabber = new OpenCVFrameGrabber("sample.avi");
double fps=grabber.getFrameRate();
System.out.println(fps);
//int n=grabber.getLengthInFrames();
//int f=grabber.getSampleRate();
CvMemStorage storage = CvMemStorage.create();
grabber.start();
grabbedImage = grabber.grab();
while (frame.isVisible() && (grabbedImage = grabber.grab()) != null)
{
BufferedImage bfimg = grabbedImage.getBufferedImage();
frame.showImage(bfimg);
frame.waitKey((int)(1000/fps));
cvClearMemStorage(storage);
}
grabber.stop();
Avez-vous essayé d'utiliser à la place 'FFmpegFrameGrabber'? –