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


Зачем использовать DirectShow?

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

Существует две main причины, по которым приложение может использовать DirectShow, а не пакет SDK для формата Windows Media напрямую: для удобства архитектуры потоковой передачи DirectShow и для доступа к оборудованию.

Удобство

При использовании архитектуры потоковой передачи DirectShow для воспроизведения файлов Windows Media Audio или Windows Media Video требуется всего несколько вызовов методов. Создание файлов также упрощается. Просто укажите профиль с помощью интерфейса IConfigAsfWriter в фильтре, а DirectShow автоматически загружает необходимые компоненты для отрисовки или записи потоков, а также предоставляет механизмы для передачи и синхронизации потока мультимедийных данных. DirectShow особенно полезен при преобразовании содержимого из различных форматов в формат Windows Media. Вы можете создавать графы фильтров DirectShow, которые декодируют различные типы файлов и сжатия, а затем передают декодированные потоки в фильтр модуля записи WM ASF . Для сравнения, пример UncompAVItoWMV в этом пакете SDK работает только с несжатыми AVI-файлами. Текстовые потоки и произвольные потоки данных также можно создавать и (или) отображать с помощью DirectShow, но для этого может потребоваться создать настраиваемые фильтры DirectShow для обработки этих потоков.

Доступ к оборудованию

DirectShow — это единственный способ для кода приложения получить доступ к аппаратным устройствам на основе windows Driver Model (WDM), таким как камеры 1394 DV, ТВ-тюнеры и USB-веб-камеры. Если приложению необходимо собирать данные непосредственно с аппаратного устройства на основе WDM и перекодировать их в формат Windows Media, а пакет SDK кодировщика Windows Media не соответствует вашим потребностям, то единственной альтернативой будет DirectShow. DirectShow также можно использовать для доступа к устаревшим устройствам на основе Видео для Windows.