Не могу открыть видео с помощью OpenCV в Java
Я использую opencv 320 в Ubuntu 17.04 и просто пытаюсь подсчитать общее количество кадров данного видео в java. Вот мой код.
public class VideoAnalysis {
public static void main (String [] args){
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
File f = new File("/home/aritra/workspace/oopencv/horror.mp4");
boolean b = f.exists();
System.out.println(b);
VideoCapture capture = new VideoCapture("/home/aritra/workspace/oopencv/horror.mp4");
if(!capture.isOpened()){
System.out.println("could not open this file ");
}
else{
System.out.println("length"+(capture.get(Videoio.CAP_PROP_FRAME_COUNT)));
}
}
}
Я сохранил видео файл в проекте. Всякий раз, когда я запускаю эту программу, она показывает сообщение
true
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
VIDEOIO ERROR: V4L: device /home/aritra/workspace/oopencv/horror.mp4: Unable to query number of channels
could not open this file
Но мой статус ввода / вывода видео
Video I/O:
-- DC1394 1.x: NO
-- DC1394 2.x: NO
-- FFMPEG: YES
-- avcodec: YES (ver 57.64.101)
-- avformat: YES (ver 57.56.101)
-- avutil: YES (ver 55.34.101)
-- swscale: YES (ver 4.2.100)
-- avresample: YES (ver 3.1.0)
-- GStreamer: NO
-- OpenNI: NO
-- OpenNI PrimeSensor Modules: NO
-- OpenNI2: NO
-- PvAPI: NO
-- GigEVisionSDK: NO
-- Aravis SDK: NO
-- UniCap: NO
-- UniCap ucil: NO
-- V4L/V4L2: Using libv4l1 (ver 1.12.3) / libv4l2 (ver 1.12.3)
-- XIMEA: NO
-- Xine: NO
-- gPhoto2: NO
Я проверил OpenCV Constants.CaptureProperty и сделал WITH_LIBV4L=ON в соответствии с https://github.com/opencv/opencv/issues/6157 но все еще получаю эти сообщения. Что я должен делать? Может кто-нибудь мне помочь?