Media Foundation
Media Foundation (сокращается до MF) — мультимедийный фреймворк и интерфейс программирования приложений нового поколения, созданный корпорацией Microsoft для работы с цифровым мультимедиа под операционными системами семейства Windows, начиная с Vista. Согласно планам Microsoft, он заменит DirectShow, Windows Media SDK, DirectX Media Objects (DMOs) и более старые мультимедийные API, такие, как Audio Compression Manager (ACM) и 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[1].
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 Protected Media Path (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.
Примечания
Ссылки
- Microsoft Media Foundation SDK
- Media Foundation Development Forum
- Media Source Metadata
- Media Foundation Pipeline
- Media Foundation Architecture
- About the Media Session
- About the Media Foundation SDK
- Enhanced Video Renderer
en:Media Foundation ja:Media Foundation ko:미디어 파운데이션 zh:Media Foundation
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....