Я прочитал ваше сообщение, ответ Ланса и ваши комментарии к нему, затем, наконец, нашел обходной путь для себя и решил добавить несколько заметок для всех, кто борется с этой проблемой.
Первое, что нужно проверить - построил ли CMake OpenCV с FFmpeg. Мой быстрый и ужасный способ сделать это - просто запустить cmake
с флагами и параметрами, как вы написали их во время установки, снова. В конце вывода будут журналы о том, какие компоненты будут установлены. Если ваши параметры копируют те, которые использовались во время фактической установки, вы получите информацию о том, что уже установлено.
Далее вы можете проверить доступные кодеры и декодеры для кодеков в вашей системе Linux. Я делаю это с помощью ffmpeg -codecs
.
Третье замечание - это надежные и примитивные аргументы, установленные для cvCreateVideoWriter
:
"a0000.png", 0, кадр / с, размер, 0
fps
и size
- это переменные, содержащие ваши значения для полей fps и frame_size соответственно. Вы получите пакеты с изображениями - то, что Ланс Ричардсон и Рикс уже отметили.
Наконец, для моей системы, в которой OpenCV построен с FFmpeg и установлен кодировщик XVID, я включаю эти аргументы в cvCreateVideoWriter
:
"/ home / me / openCVOut / a.avi", CV_FOURCC ('X', 'V', 'I', 'D'), кадр / с, размер
и, наконец, получить то, что я хочу.
Надеюсь, мой ответ пригодится!