Поделиться через


Закрепление видеопорта в записи файлов

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Если устройство захвата имеет видеопорт, пин-код видеопорта должен быть подключен к отрисовщику видео, даже если требуется только запись в файл.

Если вы вызываете ICaptureGraphBuilder2::RenderStream со значением PIN_CATEGORY_CAPTURE и устройство имеет закрепление видеопорта, захват Граф построителя автоматически подключает закрепления видеопорта к фильтру Overlay Mixer и подключает микшер наложения к видео отрисовщику. Построитель графов захвата скрывает окно видео, вызывая IVideoWindow::p ut_AutoShow со значением OAFALSE. Если позже приложение вызывает RenderStream с PIN_CATEGORY_PREVIEW, конструктор Графа захвата вызывает put_AutoShow со значением OATRUE, чтобы отобразить окно видео.

После вызова RenderStream с PIN_CATEGORY_CAPTURE можно проверка, добавил ли он отрисовщик видео, запросив диспетчер фильтров graph для интерфейса IVideoWindow.

Запись видео в файл