Для использования следующиего примера необходимо иметь "Microsoft Video for
Windows SDK". Пример показывает, как открыть видео устройство для захвата видео,
как сграбить фрейм с устройства, как сохранить этот фрейм на диск в виде файла
.BMP, как записать .AVI файл (со звуком, но без предварительного просмотра), и
как закрыть устройство.
Замечание: Для работы примера необходимо иметь установленное устройство
захвата видео (video capture device).
Программа на Delphi, демонстрирующая способ захвата видеофреймов с видеоустройства с помощью SDK Microsoft Video for Windows. Программа предлагает несколько кнопок для управления процессом захвата видео:
OpenVideo: подключается к видеоустройству и создает окно для отображения захваченного видео.
CloseVideo: отключается от видеоустройства и закрывает окно захвата.
GrabFrame: захватывает одиночный фрейм видео с подключенного устройства.
SaveBMP: сохраняет захваченный фрейм в формате BMP.
StartAVI: запускает запись файла AVI из потока захваченного видео.
StopAVI: останавливает запись файла AVI.
Вот подробное описание работы каждой процедуры:
FormCreate: инициализирует программу, настраивая форму и переменные.
OpenVideoClick: создает окно захвата с помощью функции capCreateCaptureWindowA из библиотеки AVICAP32.DLL и подключается к видеоустройству с помощью сообщения WM_CAP_DRIVER_CONNECT.
CloseVideoClick: отключается от видеоустройства с помощью сообщения WM_CAP_DRIVER_DISCONNECT и закрывает окно захвата, установив переменную hWndC в 0.
GrabFrameClick: отправляет сообщение WM_CAP_GRAB_FRAME окну захвата для захвата одиночной фрейма видео.
SaveBMPClick: сохраняет захваченный фрейм в формате BMP с помощью функции SendMessage с сообщением WM_CAP_SAVEDIB.
StartAVIClick: запускает запись файла AVI из потока захваченного видео, отправляя сообщение WM_CAP_FILE_SET_CAPTURE_FILEA для установки файла захвата и затем отправляя сообщение WM_CAP_SEQUENCE для начала захвата фреймов.
StopAVIClick: останавливает запись файла AVI, отправляя сообщение WM_CAP_STOP.
Обратите внимание, что эта программа требует установленного SDK Microsoft Video for Windows на системе и подключенного и настроенного видеоустройства для работы с этой программой.
Статья описывает пример программирования на Delphi для захвата видео с устройства захвата видео и сохранения его в формате .BMP или записи в файл .AVI.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.