Media Foundation | это... Что такое Media Foundation? (original) (raw)
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) и их взаимодействию.
Содержание
Архитектура
Media Foundation Architecture
Архитектура 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
Программные интерфейсы и фреймворки Microsoft Windows | |
---|---|
Графика | Проводник Windows • DirectX • Direct3D • GDI • Windows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component |
Звук | DirectSound • DirectMusic • XACT • Speech API • MME |
Мультимедиа | DirectShow • Windows Media • Media Foundation |
Веб | MSHTML • MSXML • Платформа RSS для Windows • JScript • ActiveX • XMLHttpRequest • Гаджеты |
Доступ к данным | Компоненты Microsoft Data Access • Extensible Storage Engine • ADO.NET • Sync Framework • Jet-механизм |
Сети | Winsock (LSP) • Filtering Platform • NDIS • Windows Rally • Сервис фоновой интеллектуальой передачи данных • P2P API |
Коммуникации | TAPI |
Администрирование | Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows |
Модель компонентов | COM • COM+ • DCOM • .NET Framework |
Библиотеки | Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Base Class Library (BCL) |
Разработка драйверов | Windows Driver Model • Windows Driver Foundation (KMDF • UMDF) |
Безопасность | CryptoAPI (CAPICOM) • Windows CardSpace • Data protection API • Security Support Provider Interface |
.NET | .NET Framework • ASP.NET • ADO.NET • .NET Remoting • Windows Presentation Foundation • Windows Workflow Foundation • Windows Communication Foundation • Windows CardSpace • XNA Framework • Silverlight • Библиотека параллельного программирования |
Межпроцессноевзаимодействие | Dynamic Data Exchange (DDE) • MSRPC • Именованные каналы |
Текст иподдержка языков | Framework Текстовых сервисов • Объектная модель текстов • Редактор метода ввода • Языковые пакеты • Многоязычный интерфейс |
Игры | XNA Framework • DirectX |