Конфигурация графа фильтра DVD

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

В этом разделе описываются различные конфигурации графа фильтров для воспроизведения DVD-дисков в DirectShow. Эти схемы предоставляются в основном для справки. DVD-навигатор создает граф, поэтому в целом нет необходимости понимать детали настройки графа. Дополнительные сведения см. в разделе Создание графа фильтра DVD.

На следующем рисунке показан граф фильтра DVD с программным декодером.

Граф фильтра DVD для Windows XP

Аппаратный декодер обычно подключается непосредственно к карта видеопорта. Это позволяет отправлять декодированные биты видео непосредственно в буфер кадров на графическом карта без передачи в память узла. Для управления этим прямым подключением в более ранних версиях Windows DirectShow поддерживает расширения видеопорта DirectDraw (VPE) через интерфейс фильтра наложения микшера.

Примечание

Средство наложения теперь не рекомендуется.

 

В Windows XP и более поздних версиях аппаратный декодер может подключаться к фильтру диспетчера видеопортов .

DVD-граф для Windows XP с аппаратным декодером

Во всех этих графах исходный фильтр является навигаторОМ DVD; он выполняет несколько задач:

  • Считывает данные навигации и видео с диска.
  • Демультиплексирует видео, аудио и вложенные данные в отдельные потоки.
  • Перекачивает потоки в граф для дальнейшей обработки и последующей отрисовки.
  • Информирует приложение о событиях, связанных с DVD.

В аудиопотоке DVD-навигатор подключается вниз к декодеру звука, который подключается к фильтру Отрисовщика DirectSound, используемому по умолчанию. В потоках видео и вложенных потоков нижестоящими фильтрами являются сторонний декодер видео и отрисовщик для микширования видео (или микшер наложения и отрисовщик видео в приложениях нижнего уровня). Если приложение будет обрабатывать данные строки 21 с закрытыми субтитрами, необходимо добавить в граф фильтр Декодера DirectShow Line 21. Для этого требуется один вызов метода; фильтр будет подключен автоматически.

Приложение взаимодействует с НАвигатором DVD и управляет ими с помощью пользовательских интерфейсов, предоставляемых DVD-навигатором: IDvdControl2 — методы set и IDvdInfo2 — методы get. Он также должен взаимодействовать с диспетчером графов фильтров (через IMediaControl), чтобы остановить, запустить и иным образом управлять графом. Вам также может потребоваться управлять другими отдельными фильтрами, например фильтром переключения между оконным и полноэкранным отображением. Дополнительные сведения см. в разделе IMixerPinConfig2. Точная конфигурация графа будет зависеть от типа установленного декодера MPEG-2, необходимости обработки данных с закрытыми субтитрами строки 21 и других факторов.

Приложения DVD