Когда я пытаюсь использовать VideoWriter для записи кадра, он не работает. Я уже пробовал множество кодов FOURCC, таких как defaul, h264, mjpg, divx, xvid и т. Д. И да, я установил ffmpeg со всеми необходимыми конфигурациями (—enable-shared, —enable-libx264, … ) и установка opencv с поддержкой ffmpeg.
Я уже много гуглю это, и все, что я нашел, даже близко не решает эту проблему, то есть повторяется в OpenCV. Код является самым простым, и он работал несколько недель назад, но не так.
Несколько выводов: get (CV_CAP_PROP_FPS) возвращает сообщение о неизвестной опции со значением -1 (то же самое происходит для набора). Следующая часть процесса cmake в opencv также интересна:
-- Could NOT find Jasper (missing: JASPER_LIBRARIES JASPER_INCLUDE_DIR)
-- checking for module 'gstreamer-video-1.0'
-- package 'gstreamer-video-1.0' not found
-- checking for module 'gstreamer-app-1.0'
-- package 'gstreamer-app-1.0' not found
-- checking for module 'gstreamer-riff-1.0'
-- package 'gstreamer-riff-1.0' not found
-- checking for module 'gstreamer-pbutils-1.0'
-- package 'gstreamer-pbutils-1.0' not found
-- checking for module 'gstreamer-base-0.10'
-- package 'gstreamer-base-0.10' not found
-- checking for module 'gstreamer-video-0.10'
-- package 'gstreamer-video-0.10' not found
-- checking for module 'gstreamer-app-0.10'
-- package 'gstreamer-app-0.10' not found
-- checking for module 'gstreamer-riff-0.10'
-- package 'gstreamer-riff-0.10' not found
-- checking for module 'gstreamer-pbutils-0.10'
-- package 'gstreamer-pbutils-0.10' not found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
Opencv 2.4.10
Убунту 14.04
РЕДАКТИРОВАТЬ: я обнаружил, что проблема в том, что объект VideoWriter не открывается, даже после вызова конструктора:
VideoWriter wr(outputFile, CV_FOURCC('D','I','V','X'), capture.get(CV_CAP_PROP_FPS,Size(capture.get(CV_CAP_PROP_FRAME_WIDTH),capture.get(CV_CAP_PROP_FRAME_HEIGHT)));
И использование CV_CAP_PROP_FPS заставляет OpenCV показывать следующее сообщение во время secution:
HIGHGUI ERROR: V4L2: Unable to get property <unknown property string>(5) - Invalid argument
Почему это так, как я могу это исправить?
Дайте выходной файл. «С расширением» попробуйте это:
example- outputfile.avi с CV_FOURCC (‘M’, ‘J’, ‘P’, ‘G’)