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


Работа с кодеками

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

Microsoft Windows предоставляет несколько кодеков в качестве компонентов операционной системы. Доступные кодеки всегда включают те, которые поставляются с любой версией DirectX и Медиаплеер Windows, включенной в выпуск Windows. При установке более новых версий DirectX или Медиаплеер Windows или среды выполнения пакета SDK для Windows Media могут устанавливаться дополнительные кодеки. Сторонние разработчики могут устанавливать дополнительные кодеки в хост-системе; Эти кодеки могут работать только с определенным приложением или поддерживать общее использование любым приложением DirectShow.

Кодеки можно реализовать одним из трех различных способов:

  • Как видео для аудио- или видеокодека, устанавливаемого с помощью диспетчера сжатия видео (VCM) или диспетчера сжатия аудио (ACM). Как правило, эта технология считается нерекомендуемой, и ее использование не рекомендуется. Устанавливаемые кодеки участвуют в графах фильтра DirectShow с помощью фильтра-оболочки распаковщика AVI.
  • Как фильтр DirectShow. Многие сторонние кодеки реализованы в виде собственных фильтров DirectShow. Одним из таких фильтров является фильтр распаковки MP3 Frauenhofer. Как правило, эти фильтры можно добавлять в граф фильтров обычными способами. Одним из исключений из этого правила является то, что некоторые кодеки Windows Media™ Audio или Windows Media Video, а также кодек Microsoft MPEG-4 нельзя добавить в граф фильтров вручную. Эти фильтры могут быть добавлены только фильтрами средства чтения ASF и модуля записи ASF.
  • Как объекты мультимедиа DirectX (DMOS). МДО являются рекомендуемым способом реализации кодеков, так как их можно использовать либо в графе фильтра DirectShow с помощью фильтра-оболочки DMO, либо независимо в любом другом приложении потоковой передачи, не основанном на DirectShow. Некоторые кодеки Windows Media Audio и Windows Media Video реализованы как МДО. Как и в случае с фильтрами Windows Media, эти МД нельзя использовать вне контекста пакета SDK для Windows Media. Это означает, что в DirectShow их можно добавлять в граф только с помощью фильтров средства чтения ASF или модуля записи ASF.

В GraphEdit все эти типы кодеков отображаются вместе в следующих категориях:

  • Аудиокомпрессор
  • Видеокомпрессор
  • Фильтр DirectShow

Однако многие из этих кодеков устанавливаются сторонними производителями или другими приложениями Майкрософт или компонентами операционной системы и не предназначены для использования другими приложениями DirectShow. Список кодеков, отображаемых в GraphEdit, также зависит от того, какая версия Windows запущена в хост-системе и какая версия пакета SDK DirectShow установлена.