Конфигурация графа фильтра 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) через интерфейс на фильтр переложения смешателя.

Заметка

Перекладывая mixer теперь устарела.

 

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

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

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

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

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

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

DVD-приложения