Jump to content

Медиа Фонд

Media Foundation ( MF ) — это на базе COM конвейер мультимедийной платформы и инфраструктурная платформа для цифровых мультимедиа в Windows Vista , Windows 7 , Windows 8 , Windows 8.1 , Windows 10 и Windows 11 . Это предполагаемая замена Microsoft DirectShow , Windows Media SDK , объектов DirectX Media (DMO) и всех других так называемых «устаревших» мультимедийных API, таких как Audio Compression Manager (ACM) и Video for Windows (VfW) . Предполагается, что существующая технология DirectShow будет постепенно заменена Media Foundation, начиная с нескольких функций. В течение некоторого времени Media Foundation и DirectShow будут сосуществовать. Media Foundation не будет доступен для предыдущих версий Windows, включая Windows XP .

Первый выпуск, представленный в Windows Vista , ориентирован на качество воспроизведения аудио и видео, контент высокой четкости (например, HDTV ), защиту контента и более унифицированный подход к контролю доступа к цифровым данным для управления цифровыми правами (DRM) и его совместимости. Он интегрирует DXVA 2.0 для разгрузки большей части конвейера обработки видео на оборудование для повышения производительности. Видео обрабатывается в том цветовом пространстве, в котором оно было закодировано, и передается на оборудование, которое компонует изображение в его родном цветовом пространстве. Это предотвращает промежуточные преобразования цветового пространства для повышения производительности. MF включает в себя новый модуль рендеринга видео Enhanced Video Renderer (EVR), который является следующей версией VMR 7 и 9 . EVR имеет лучшую поддержку времени воспроизведения и синхронизации. Он использует службу планировщика мультимедийных классов (MMCSS), новую службу , которая отдает приоритет обработке мультимедиа в реальном времени, чтобы зарезервировать ресурсы, необходимые для воспроизведения, без каких-либо разрывов или сбоев.

Во втором выпуске, включенном в Windows 7, представлена ​​расширенная поддержка форматов мультимедиа и DXVA HD для ускорения HD-контента при WDDM 1.1. использовании драйверов [1]

Архитектура

[ редактировать ]
Архитектура медиа-фонда

Архитектура MF разделена на уровень управления , базовый уровень и уровень платформы . Базовый уровень инкапсулирует большую часть функций Media Foundation. Он состоит из конвейера медиа-фундамента, который состоит из трех компонентов: медиа-источника , медиа-приемника и медиа-фундамента (MFT). Медиа-источник — это объект, который действует как источник мультимедийных данных, как сжатых, так и несжатых. Он может инкапсулировать различные источники данных, такие как файл, сетевой сервер или даже видеокамера, при этом специфичные для источника функции абстрагируются общим интерфейсом . Исходный объект может использовать объект исходного преобразователя , который создает медиа-источник из URI , файла или байтового потока. Поддержку нестандартных протоколов можно добавить, создав для них преобразователь источника. Исходный объект также может использовать объект секвенсора для использования последовательности источников ( списка воспроизведения ) или для объединения нескольких источников в один логический источник. Медиа-приемник является получателем обработанных мультимедийных данных. Медиа-приемник может быть либо приемник рендеринга , который отображает контент на устройстве вывода, или приемник архива , который сохраняет контент в постоянной системе хранения, например в файле. Приемник средства рендеринга принимает на вход несжатые данные, тогда как приемник архива может принимать как сжатые, так и несжатые данные, в зависимости от типа вывода. Данные от медиа-источников до приемников обрабатываются MFT; MFT — это определенные функции, которые преобразуют данные в другую форму. MFT могут включать в себя мультиплексоры и демультиплексоры, кодеки или DSP эффекты , такие как реверберация . Базовый уровень использует такие службы, как доступ к файлам и сети, а также синхронизацию часов для синхронизации рендеринга мультимедиа. Они являются частью уровня платформы , который предоставляет услуги, необходимые для доступа к потокам байтов источника и приемника, часам представления и объектной модели, которая позволяет компонентам основного уровня работать асинхронно и обычно реализуется как службы ОС. Пауза, остановка, ускоренная перемотка вперед, назад или сжатие времени могут быть достигнуты путем управления часами презентации.

Однако компоненты медиаконвейера не подключены; скорее они просто представлены как дискретные компоненты. Приложение, работающее на уровне управления, должно выбрать, какие типы источников, преобразования и приемники необходимы для конкретной задачи обработки видео, и настроить «соединения» между компонентами ( топологию ) для завершения конвейера потока данных. Например, для воспроизведения сжатого аудио/видео файла конвейер будет состоять из объекта-источника файла, демультиплексора для конкретного формата контейнера файлов для разделения аудио- и видеопотоков, кодеков для распаковки аудио- и видеопотоков, процессоров DSP. для аудио- и видеоэффектов и, наконец, для рендеринга EVR. Или для приложения видеозахвата видеокамера будет выступать в качестве источника видео и звука, на котором кодеки MFT будут сжимать данные и передавать их на мультиплексор, который объединяет потоки в контейнер; и, наконец, файловый или сетевой приемник запишет его в файл или поток по сети. Приложение также должно координировать поток данных между компонентами конвейера. Уровень управления должен «извлекать» (запрашивать) образцы из одного компонента конвейера и передавать их следующему компоненту, чтобы обеспечить поток данных внутри конвейера. Это в отличие от «Push»-модель DirectShow , в которой компонент конвейера передает данные следующему компоненту. Media Foundation обеспечивает защиту контента путем размещения конвейера в защищенной среде выполнения, называемой Protected Media Path . Компоненты уровня управления необходимы для распространения данных по конвейеру со скоростью, при которой рендеринг синхронизируется с тактовой частотой представления. Скорость (или время) рендеринга внедряется как часть мультимедийного потока в виде метаданных. Исходные объекты извлекают метаданные и передают их. Метаданные бывают двух типов: закодированные метаданные , которые представляют собой информацию о скорости передачи данных и времени представления, и описательные метаданные , такие как название и имена авторов. Закодированные метаданные передаются объекту, который управляет сеансом конвейера, а описательные метаданные предоставляются приложению для использования, если оно того пожелает.

Media Foundation предоставляет объект Media Session , который можно использовать для настройки топологий и облегчения потока данных без явного выполнения этого приложением. Он существует на уровне управления и предоставляет объект загрузчика топологии . Приложение задает необходимую топологию конвейера загрузчику, который затем создает необходимые соединения между компонентами. Объект медиа-сеанса управляет синхронизацией с часами презентации. Он создает объект часов презентации и передает ссылку на него в приемник. Затем он использует события таймера от часов для распространения данных по конвейеру. Он также изменяет состояние часов для обработки запросов на паузу, остановку или возобновление работы приложения.

Практическая архитектура MF

[ редактировать ]

Теоретически существует только одна архитектура Media Foundation: модель Media Session, Pipeline, Media Source, Transform и Media Sink. Однако эта архитектура может быть сложной в настройке, и существует значительный простор для легких и относительно простых в настройке компонентов MF, предназначенных для обработки мультимедийных данных для простых точечных решений. Таким образом, практические соображения потребовали реализации вариаций фундаментальной конструкции Pipeline, и были разработаны такие компоненты, как Source Reader и Sink Writer, которые работают вне модели Pipeline. Некоторые источники [2] разделил архитектуру Media Foundation на три основных класса.

  • Трубопроводная архитектура
  • Архитектура чтения-писателя
  • Гибриды между конвейерной архитектурой и архитектурой чтения-записи

Архитектура конвейера отличается использованием отдельного объекта сеанса мультимедиа и конвейера. Мультимедийные данные передаются от одного или нескольких медиа-источников к одному или нескольким медиа-приемникам и, необязательно, через ноль или несколько медиа-преобразований. Именно медиа-сессия управляет потоком медиа-данных через конвейер, и этот конвейер может иметь несколько ответвлений и ветвей. Приложение MF может получить доступ к медиаданным при их перемещении от источника мультимедиа к приемнику мультимедиа, реализовав собственный компонент преобразования мультимедиа и вставив его в подходящее место в конвейере.

Архитектура Reader-Writer использует компонент Source Reader для предоставления мультимедийных данных и компонент Sink Writer для их использования. Source Reader содержит внутренний конвейер, но он недоступен для приложения. Source Reader не является медиа-источником, а приемник-писатель не является медиа-приемником, и ни один из них не может быть напрямую включен в конвейер или управляться с помощью медиа-сеанса. Как правило, медиаданные передаются от источника чтения к приемнику записи в результате действий приложения. Приложение либо возьмет пакеты медиаданных (называемые медиа-образцами) из Source Reader и передаст их непосредственно в Sink Writer, либо настроит функцию обратного вызова в Source Reader, которая выполнит ту же операцию. Фактически, управляя транспортировкой данных, само приложение выполняет роль, аналогичную роли медиа-сеанса в приложении с конвейерной архитектурой. Поскольку приложение MF управляет передачей образцов мультимедиа между устройством чтения источника и устройством записи приемника, оно всегда будет иметь доступ к необработанным медиаданным. Компоненты Source Reader и Sink Writer имеют ограниченную возможность автоматически загружать Media Transforms для облегчения преобразования формата мультимедийных данных, однако это делается внутри, и приложение мало что может контролировать.

Source Reader и Sink Writer обеспечивают простоту использования, а конвейерная архитектура обеспечивает чрезвычайно сложный контроль над потоком мультимедийных данных. Однако многие компоненты, доступные для конвейера (например, Enhanced Video Renderer), просто невозможно использовать в приложении с архитектурой чтения-записи. Поскольку структура образца мультимедиа, создаваемого устройством чтения источника, идентична структуре вывода источника мультимедиа, можно настроить конвейерную архитектуру, в которой образцы мультимедиа перехватываются при прохождении через конвейер, и копия передается Медиа-раковина. Это известно как гибридная архитектура, и она позволяет создать приложение, которое использует преимущества сложных возможностей обработки медиа-сеанса и конвейера, одновременно используя простоту использования Sink Writer. Sink Writer не является частью конвейера и не взаимодействует с сеансом мультимедиа. По сути, медиаданные обрабатываются специальным приемником мультимедиа, называемым приемником захвата выборки, который потребляет медиаданные и передает копию устройству записи в приемник. Также возможно реализовать гибридную архитектуру с пользовательским преобразованием мультимедиа, которое копирует образцы мультимедиа и передает их устройству записи в приемник по мере их прохождения через конвейер. В обоих случаях специальный компонент конвейера эффективно действует как простое приложение Reader-Writer и снабжает Sink Writer. Как правило, в гибридных архитектурах используются конвейер и приемник записи. Теоретически можно реализовать механизм, в котором средство чтения исходного кода могло бы каким-то образом вставлять образцы мультимедиа в конвейер, но, в отличие от приемника семпла захвата, такого стандартного компонента не существует.

Медиа Фонд Трансформация

[ редактировать ]

Преобразования Media Foundation (MFT) представляют собой общую модель обработки мультимедийных данных. Они используются в Media Foundation в первую очередь для реализации декодеров, кодеров, микшеров и процессоров цифровых сигналов (DSP) – между медиаисточниками и медиаприемниками . Преобразования Media Foundation — это развитие модели преобразования, впервые представленной в DirectX Media Objects (DMO). Их поведение более четко определено. Также можно создавать гибридные объекты DMO/MFT. Приложения могут использовать MFT внутри конвейера Media Foundation или использовать их непосредственно как автономные объекты. MFT могут быть любого из следующих типов:

  • Аудио и видео кодеки
  • Аудио и видео эффекты
  • Мультиплексоры и демультиплексоры
  • футболки
  • Преобразователи цветового пространства
  • Преобразователи частоты дискретизации
  • Видео скалеры

Microsoft рекомендует разработчикам писать Media Foundation Transform вместо фильтра DirectShow для Windows Vista , Windows 7 и Windows 8 . [3] Для редактирования и захвата видео Microsoft рекомендует использовать DirectShow, поскольку они не являются основной задачей Media Foundation в Windows Vista. Начиная с Windows 7, MFT также поддерживают аппаратную обработку, кодирование и декодирование видео для мультимедийных устройств на базе AVStream. [4]

Улучшенный рендеринг видео

[ редактировать ]

Media Foundation использует Enhanced Video Renderer (EVR) для рендеринга видеоконтента, который также действует как микшер. Он может смешивать до 16 одновременных потоков, причем первый поток является эталонным . Все потоки, кроме опорного, могут иметь информацию о прозрачности для каждого пикселя , а также любой указанный z-порядок . Опорный поток не может иметь прозрачных пикселей и имеет фиксированную позицию по оси Z в конце всех потоков. Окончательное изображение компонуется на единую поверхность путем окрашивания каждого пикселя в соответствии с цветом и прозрачностью соответствующего пикселя во всех потоках.

Внутри EVR использует объект микшера для смешивания потоков. При необходимости он также может деинтерлейсить вывод и применить цветовую коррекцию. Составной кадр передается объекту -презентатору , который планирует его рендеринг на устройстве Direct3D, которое он использует совместно с DWM и другими приложениями, использующими это устройство. Частота кадров выходного видео синхронизируется с частотой кадров опорного потока. Если какой-либо из других потоков (называемых подпотоками ) имеет другую частоту кадров, EVR отбрасывает лишние кадры (если подпоток имеет более высокую частоту кадров) или использует один и тот же кадр более одного раза (если он имеет более низкую частоту кадров).

Поддерживаемые медиаформаты

[ редактировать ]

Windows Media Audio и Windows Media Video — единственные поддерживаемые по умолчанию форматы для кодирования с помощью Media Foundation в Windows Vista . Для декодирования в Windows Vista доступен источник файла MP3 для чтения потоков MP3, но приемник файла MP3 для вывода MP3 доступен только в Windows 7. [5] Однако поддержка форматов является расширяемой; разработчики могут добавить поддержку других форматов, написав MFT кодировщика/декодера и/или собственные медиаисточники/приемники мультимедиа.

Windows 7 расширяет поддержку кодеков, доступную в Windows Vista. Он включает в себя источники файлов AVI , WAV , AAC/ADTS для чтения соответствующих форматов. [5] источник файла MPEG-4 для чтения MP4 , M4A, M4V, MP4V, MOV и 3GP. форматов контейнеров [6] и приемник файлов MPEG-4 для вывода в формат MP4. [7]

Как и в Windows Vista, поддержка перекодирования (кодирования) не предоставляется ни одним встроенным приложением Windows, но несколько кодеков включены в качестве Media Foundation Transforms (MFT). [5] В дополнение к кодерам и декодерам Windows Media Audio и Windows Media Video , а также приемнику и источнику файлов ASF, представленным в Windows Vista, [5] Windows 7 включает кодировщик H.264 с базовым профилем уровня 3 и поддержкой основного профиля. [8] и кодировщик профиля AAC Low Complexity ( AAC-LC ). [9]

Для воспроизведения различных медиаформатов в Windows 7 также имеется декодер H.264 с поддержкой Baseline, Main и High-profile до уровня 5.1. [10] AAC-LC и HE-AAC v1 ( SBR ), HE-AAC v2 ( PS ), многоканальные стереодекодеры [11] MPEG-4 Part 2 Simple Profile и Advanced Simple Profile Декодеры [12] который включает в себя декодирование популярных реализаций кодеков, таких как DivX , Xvid и Nero Digital , а также MJPEG. [5] и ДВ [13] Декодеры MFT для AVI. Проигрыватель Windows Media 12 по умолчанию использует встроенные кодеки Media Foundation для воспроизведения этих форматов.

Воспроизведение MIDI также пока не поддерживается с помощью Media Foundation.

Поддержка приложений

[ редактировать ]

Приложения, поддерживающие Media Foundation, включают:

  • Проигрыватель Windows Media в Windows Vista и более поздних версиях
  • Windows Media Center в Windows Vista и более поздних версиях
  • Firefox v24 и более поздние версии для Windows 7 и более поздние версии (только для H.264 ) воспроизведения
  • GoldWave 5.60 и более поздние версии используют Media Foundation для импорта и экспорта аудио. Для экспорта форматы AAC и Apple Lossless можно сохранить через Media Foundation.

Любое приложение, использующее Protected Media Path в Windows, также использует Media Foundation.

  1. ^ «DXVA-HD» . Архивировано из оригинала 20 апреля 2012 г. Проверено 18 апреля 2010 г.
  2. ^ «Пример источника» . Гитхаб . Архивировано из оригинала 23 ноября 2020 г. Проверено 19 января 2019 г.
  3. ^ «Миграция с DirectShow на Media Foundation и их сравнение» . Архивировано из оригинала 9 апреля 2008 г. Проверено 22 февраля 2007 г.
  4. ^ Начало работы с поддержкой аппаратных кодеков в AVStream
  5. ^ Jump up to: а б с д и «Поддерживаемые форматы мультимедиа в Media Foundation» . Архивировано из оригинала 29 апреля 2010 г. Проверено 18 апреля 2010 г.
  6. ^ «Источник файла MPEG-4» . Архивировано из оригинала 14 марта 2010 г. Проверено 18 апреля 2010 г.
  7. ^ «Приёмник файлов MPEG-4» . Архивировано из оригинала 4 августа 2010 г. Проверено 18 апреля 2010 г.
  8. ^ «Видеокодер H.264» . Архивировано из оригинала 4 марта 2010 г. Проверено 18 апреля 2010 г.
  9. ^ «Кодер AAC» . Архивировано из оригинала 13 октября 2009 г. Проверено 18 апреля 2010 г.
  10. ^ «Видеодекодер H.264» . Архивировано из оригинала 21 апреля 2010 г. Проверено 18 апреля 2010 г.
  11. ^ «ААС-декодер» . Архивировано из оригинала 18 марта 2010 г. Проверено 18 апреля 2010 г.
  12. ^ «Видеодекодер MPEG4, часть 2» . Архивировано из оригинала 11 февраля 2010 г. Проверено 18 апреля 2010 г.
  13. ^ «DV-видеодекодер» . Архивировано из оригинала 29 марта 2010 г. Проверено 18 апреля 2010 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 47314ebc27a5a0fcea51771c24ef0d25__1702253940
URL1:https://arc.ask3.ru/arc/aa/47/25/47314ebc27a5a0fcea51771c24ef0d25.html
Заголовок, (Title) документа по адресу, URL1:
Media Foundation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)