Примеры приложений DirectShow

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

Примеры приложений DirectShow можно найти в репозитории Windows-classic-samples на сайте GitHub.

В приведенной ниже таблице перечислены все примеры DirectShow, предоставленные в этом репозитории. Инструкции по сборке примеров см. в документации, предоставленной в пакете Windows SDK. Если существует раздел, описывающий пример, на него ссылается первый столбец этой таблицы.

Пример Область Описание Дополнительные зависимости
Базовые классы DirectShow Библиотека базовых классов Классы C++ и служебные функции, предназначенные для реализации фильтров DirectShow.
Пример AmCap Сбор Приложение для захвата видео. strmbase.lib
Пример DVApp Сбор Приложение для записи цифрового видео (DV).
Пример PlayCap Сбор Простое приложение для записи.
Демонстрационный пример DMO DMO Выполняет потоковую передачу звуковых данных из WAV-файла через DMO звукового эффекта. DirectX SDK
Пример DVD DVD-диск Демонстрирует базовое воспроизведение DVD-дисков и навигацию, а также дополнительные функции, такие как управление родительским уровнем, закладки, караоке и синхронизация команд.
Пример фильтра InfTee Фильтры, прочее Пример реализации фильтра Бесконечное закрепление тройника . strmbase.lib
Пример фильтра Metronome Фильтры, прочее Показывает, как реализовать эталонные часы. strmbase.lib
Пример фильтра средства синтаксического анализа PSI Фильтры, прочее Получает таблицы PSI из транспортного потока MPEG-2 и извлекает сведения о программе. strmbase.lib
Пример фильтра дампа Фильтры, отрисовщик Записывает полученные примеры мультимедиа в текстовый файл. strmbase.lib
Фильтр SampVid Фильтры, отрисовщик Фильтр отрисовщика видео. strmbase.lib
Пример фильтра области Фильтры, отрисовщик Отображает звуковые данные в виде волновых форм. strmbase.lib
Пример асинхронного фильтра Фильтры, источник Фильтр чтения файлов, поддерживающий постепенное скачивание. strmbase.lib
Пример фильтра шарика Фильтры, источник Фильтр источника видео, который создает изображение прыгающего шара. strmbase.lib
Пример push-исходных фильтров Фильтры, источник Исходные фильтры, предоставляющие следующие данные в виде видеопотока: одноточечный рисунок, набор растровых изображений, копия текущего изображения рабочего стола. strmbase.lib
Пример фильтра Synth Фильтры, источник Исходный фильтр, который создает звуковые волны. В этом примере демонстрируется динамическое построение графа. strmbase.lib
Пример фильтра EZRGB24 Фильтры, преобразование Фильтр обработки изображений. strmbase.lib
Пример фильтра горла Фильтры, преобразование Фильтр звуковых эффектов. strmbase.lib
Пример фильтра WavDest Фильтры, преобразование Записывает аудиопоток в WAV-файл. strmbase.lib
Пример DMOEnum Прочее Показывает, как перечислить объекты мультимедиа (DMOS) DirectX .
Пример модуля сопоставления Прочее Показывает, как использовать сопоставителя фильтров для поиска фильтров в реестре.
Пример SysEnum Прочее Демонстрирует использование перечислителя системных устройств для перечисления устройств и фильтров.
Пример CutScene Воспроизведение Воспроизводит видеофайл в полноэкранном режиме.
Пример DDrawXCL Воспроизведение Воспроизводит видео в монопольном полноэкранном режиме DirectDraw с помощью интерфейса IDDrawExclModeVideo в фильтре Overlay Mixer .
Пример DShowPlayer Воспроизведение Приложение для воспроизведения видео.
Пример EVRPlayer Воспроизведение Демонстрирует использование фильтра DirectShow EVR. Примечание: Требуется Windows Vista или более поздней версии.
Этот пример доступен в windows SDK для Windows Server 2008 или более поздней версии.
strmbase.lib
Пример Texture3D9 Воспроизведение Рисует видео на поверхности текстуры Microsoft DirectX 9.0. strmbase.lib, пакет SDK для DirectX
Пример тикера VMR-9 Использует VMR-9 для смешивания видео и текста.
Пример VMR9Allocator VMR-9 Реализует пользовательский распределитель-выступающий для VMR-9. strmbase.lib
Пример VMR9Compositor VMR-9 Реализует пользовательский миксер для VMR-9.
Пример VMRPlayer VMR-9 Использует VMR-9 для смешивания одного или двух запущенных видео и статического изображения.
Пример подложки VMR-9 Смешивает статический растровый рисунок с видео во время воспроизведения с помощью VMR-9.
Пример без окон VMR-9 Демонстрирует режим без окон в VMR-9.

Дополнительные зависимости

Некоторые примеры ссылаться на библиотеку базовых классов DirectShow. Чтобы создать эти примеры, сначала создайте библиотеку базовых классов. Дополнительные сведения см. в разделе Базовые классы DirectShow. Библиотека базовых классов необходима для всех примеров фильтров.

Для некоторых примеров также требуется пакет SDK для DirectX, а также пакет WINDOWS SDK. Чтобы создать эти примеры, необходимо установить пакет SDK для DirectX и задать %DXSDK\_DIR% переменную среды, равную пути установки пакета SDK для DirectX.

Во многих примерах DirectShow используется набор общих заголовков и исходных файлов, расположенных в directrory \[SDK Root\]Samples\Multimedia\DirectShow\Common. Если вы копируете образец папки в другой каталог, обязательно скопируйте папку Common .