Interested Article - Media Foundation
- 2021-04-04
- 1
Media Foundation (сокращается до MF ) — мультимедийный фреймворк и интерфейс программирования приложений нового поколения, созданный корпорацией Microsoft для работы с цифровым мультимедиа под операционными системами семейства Windows , начиная с Vista . Основан на Component Object Model (COM) и написан в расчёте на использование из C/C++. Согласно планам Microsoft, он заменит DirectShow , , и более старые мультимедийные API, такие, как и Video for Windows (VfW) . При этом в течение некоторого времени предполагается параллельное сосуществование DirectShow и Media Foundation. В Windows XP и более старых операционных системах использование MF не планируется.
В первом релизе Media Foundation, выпущенном с Windows Vista, основное внимание уделено качеству воспроизведения аудио и видео, контенту высокой чёткости (то есть, ТВЧ ), защите контента, более унифицированному подходу к контролю доступа к цифровым данным для средств защиты авторских прав (DRM) и их взаимодействию.
Архитектура
Архитектура MF подразделяется на слой управления ( Control layer ), слой ядра ( Core layer ) и слой платформы ( Platform layer ). Слой ядра включает большую часть функциональности Media Foundation. Он является мультимедийным конвейером, состоящим из трёх частей: Media Source (объект-«источник» мультимедиа данных), Media Sink (объект-«приёмник» обработанных данных) и Media Foundation Transforms (MFT).
Media Foundation Transforms
Media Foundation Transforms получает от Media Source данные, производит промежуточную обработку и отдаёт объекту Media Sink. Он может состоять из нескольких обрабатывающих фильтров, а может быть и пустым. Эти фильтры могут идти последовательно, образуя мультимедийный конвейер (pipeline), а могут и независимо друг от друга. Примеры фильтров MFT:
- Аудио- и видеокодеки
- Аудио- и видеоэффекты
- Мультиплексоры и демультиплексоры
- Разветвители
- Преобразователи цветового пространства
- Преобразователи частоты
- Преобразователи размера видео
Для Windows Vista Microsoft рекомендует разработчикам писать фильтры MFT вместо DirectShow .
Enhanced Video Renderer
В MF включён новый видео рендерер , Enhanced Video Renderer (EVR), который является следующим поколением рендереров в ряду VMR 7 и 9. В Media Foundation EVR выступает в качестве объекта Media Sink (объекта-приёмника), при этом он может смешивать до 16 параллельных потоков, один из которых является референсным. Все потоки, кроме референсного, могут содержать информацию о прозрачности каждого своего пикселя и информацию о порядке наложения . Референсный поток не имеет прозрачных пикселей и всегда находится в самом низу порядка наложения. Результирующее изображение создаётся путём окраски каждого пикселя согласно цвету и прозрачности соответствующих пикселей всех потоков.
Преимущества над DirectShow
MF обладает следующими преимуществами:
- Масштабируемость для высокоразмерного контента и контента, защищённого DRM.
- Позволяет использовать DirectX-акселерацию видео без использования инфраструктуры DirectShow. DXVA 2.0 может быть доступен для компонент пользователя без использования видео рендерера DirectShow.
- Media Foundation позволяет совместно работать различным системам защиты контента.
- Media Foundation использует Multimedia Class Scheduler Service (MMCSS, ), новую службу , которая выставляет воспроизведению мультимедиа приоритет реального времени для резервирования требуемых при воспроизведения ресурсов. MMCSS гарантирует мультимедийным приложениям приоритетный доступ к ресурсам ЦП, который обеспечивает более точное по времени воспроизведение мультимедиа.
Media Foundation сопутствует двум другим технологиям — Direct3D 10 и Windows Presentation Foundation , идя в ногу с эволюцией графики и мультимедийного аппаратного обеспечения и требованиями мультимедийных приложений.
Использование в приложениях
Сейчас Media Foundation используется главным образом в службах и сервисах Windows:
- Windows (PMP), полностью основан на Media Foundation.
- Windows Media Player в Windows Vista использует Media Foundation для воспроизведения формата ASF (WMA и WMV) и защищённого контента, но вместо этого также может использовать DirectShow или Windows Media Format SDK. В случае воспроизведения WMV9, также используется DXVA 2.0 вместо DXVA 1.0, если поддерживается аппаратное декодирование WMV9/VC-1.
- DirectX Video Acceleration ( DXVA ) 2.0, конвейер аппаратной акселерации видео в Windows Vista, также основан на Media Foundation.
Примечания
- . Дата обращения: 19 октября 2009. Архивировано из 9 апреля 2008 года.
Ссылки
- 2021-04-04
- 1