Думаю освоить DirectShow, так как помимо вебки далее придётся работать со звуком, а DS, как я понял, универсальное и актуальное на данный момент средство для работы с мультимедиа в Windows. Хочу начать с того, чтобы переписать свой класс камеры на DirectShow, но мне что-то не ясна логика работы этого API - графы, фильтры, инерфейсы...
Объясните пожалуйста пошагово, как при помощи DirectShow получить кадр с камеры?
Например, с vfw32 я делал следующее:
1. Создаю окно захвата capCreateCaptureWindow
2. Перебираю девайсы от 0 до 9, пытаясь capGetDriverDescription
3. Если успешно по пункту два, делаю бинд драйвера на окно захвата capDriverConnect
4. Если третий успешно, настраиваю камеру (capGetVideoFormat и capSetVideoFormat) и устанавливаю коллбек процедуру (capSetCallbackOnFrame), в которой и описано заполнение глобального RGB-буфера кадра из структуры LPVIDEOHDR.
То есть после этих действий, я отправляю окну захвата WM_CAP_GRAB_FRAME и получаю unsigned char * буфер с RGB-палитрой кадра.
Как прийти к этому RGB-буферу при помощи DirectShow?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники