Запись видео с переменной частотой кадров в openCV

Следующие шаги для написания видеофайла в openCV следующие:

CvVideoWriter *writer =cvCreateVideoWriter(fileName, Codec ID, frameRate, frameSize); // Create Video Writer

cvWriteFrame(writer, frame); // Write frame

cvReleaseVideoWriter(&writer); // Release video writer

Приведенный выше фрагмент кода пишет с фиксированной частотой кадров. Мне нужно написать видео с переменной частотой кадров. Подход, который я использовал ранее с libx264, включал запись индивидуальных временных меток для каждого кадра.

Итак, вопрос в том, как мне записать метки времени в фрейм в openCV — каков конкретный API? В целом, как мне создать видео с переменной частотой кадров?

4

Решение

Я не думаю, что это возможно сделать с OpenCV напрямую, без изменения кода, чтобы получить доступ изнутри. Вы должны будете использовать другую библиотеку, такую ​​как libvlc, чтобы сделать это, используя ИМЕМ чтобы получить ваши сырые RGB-кадры в OpenCV в файл. Эта ссылка предоставляет пример использования imem с необработанными изображениями, загруженными из OpenCV. Вам просто нужно изменить параметры: sout, чтобы сохранить в файл, который вы хотите, используя предпочитаемый кодек.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]