Я пишу простое программное обеспечение для захвата и записи изображений с веб-камеры в сжатый видеофайл. Я использую OpenCV «VideoCapture read (frame)» и «VideoWriter write (frame)» в программном обеспечении C ++.
Я работаю на операционной системе Ubuntu 14.04 LTS.
Я хотел бы знать, какая библиотека OpenCV использует под капотом.
Это ffmpeg или gstreamer или V4L2 или собственный исходный код низкого уровня?
Кажется, это меняется в зависимости от версии OpenCV, которую я использую. (Пример 2.4.1, 2.4.11, 3.х)
Может кто-нибудь дать мне обзор того, что OpenCV делает для декодирования / кодирования видео?
Каков типичный путь передачи видеоданных с веб-камеры в мою программу в пространстве пользователя?
Каков типичный путь передачи видеоданных из программы в файловую систему?
Прямо сейчас это смущает меня.
OpenCV использует ffmpeg
Я не знаю точно, где и как. Я знаю это является используется для чтения и записи видеофайлов. Я думаю, что он не используется при получении изображений с камеры. Я думаю, что он читает необработанные данные камеры, потому что он может устанавливать свойства веб-камеры.
Кроме того, «видео» с веб-камеры — это не видео, а изображение во время захвата кадра. Захват нескольких изображений по порядку можно записать на видео.
Получая видео из файла, OpenCV захватывает кадр за раз из потока.
Других решений пока нет …