История мультимедиа в Windows: Media Foundation (ч.3)

Автор: Topol Вторник, Май 8th, 2012 Нет комментариев

Рубрика: Операционные системы

Третья часть статьи, рассказывающей об истории появления в составе Windows средств по обработке мультимедиа.

18. Windows Vista  и Media Foundation
И тут мы подходим к, вероятно, самому значительному продукту Microsoft 2000-х годов. Это новая операционная система Windows Vista и входящая в её состав новая мультимедийная подсистема Media Foundation.

Оба этих продукта тесно связаны между собой, поэтому мы рассмотрим их вместе.

18.1. Windows Vista
Windows Vista начала разрабатываться в начале 2000-х годов под названием Longhorn. 22 июля 2005 года было объявлено её окончательное название — Vista, — и только 30 января 2007-го она вышла в свет. Так что эту систему можно назвать ещё и одним из величайших долгостроев в истории Microsoft.


Рис. 11. Интерфейс Windows Vista

Впрочем, если ознакомиться со списком появившихся в ней нововведений, столь долгий срок разработки уже не кажется чем-то удивительным.

  • Новый пользовательский интерфейс Windows Aero.
  • Полностью новое ядро.
  • Обновлённые ключевые подсистемы.
  • Новый Проводник.
  • Расширенные возможности поиска.
  • Новая программная платформа, предназначенная для создания гаджетов — небольших приложений, которые помещаются на особую боковую панель.
  • Новые настольные приложения: Calendar, Photo Gallery и др.
  • Новые интернет-приложения: Internet Explorer 7 и почтовый клиент Microsoft Mail (бывший Outlook Express).
  • Улучшенная поддержка игр.
  • DirectX 10.0.
  • Новая аудиоподсистема.
  • Новая мультимедийная подсистема Media Foundation.
  • Новый фильтр вывода (или, в терминологии Media Foundation, сток) Enhanced Video Renderer.
  • Новая версия технологии DXVA — 2.0.
  • Windows Media Player 11.
  • Windows Movie Maker 6.0.
  • Программа для мастеринга DVD-Video DVD Maker.
  • Оболочка Windows Media Center, включенная в состав системы.
  • Новые сетевые возможности.
  • Новые средства администрирования и обеспечения устойчивости и безопасности.

При этом из состава Windows Vista были удалены некоторые устаревшие компоненты. К ним относились, прежде всего, старые мультимедийные подсистемы ACM и VfW, старый программный микшер KMixer и компонент DirectSound, заменённый новой аудиоподсистемой.

Достоинства Windows Vista: огромное количество нововведений, многие из которых ожидались давно; новые приложения, которых не хватало в предыдущих версиях Windows (например, DVD Maker); поддержка самого современного оборудования; улучшения в плане организации сетей; развитые средства обеспечения устойчивости и безопасности. Недостатки: некоторая непроработанность; чрезмерные требования к системным ресурсам; невысокое быстродействие; проблемы с совместимостью со старыми приложениями; некоторые нововведения были весьма спорными.

Windows Vista, с одной стороны, была революционной для своего времени, но, с другой стороны, оказалась слишком сырой, прожорливой и медленной, чтобы совершить революцию на рынке операционных систем. Ей так и не удалось вытеснить заметно устаревшую, но «лёгкую» и быструю Windows XP, и, в конечно итоге, она провалилась на рынке. Windows Vista остаётся одним из самых одиозных продуктов Microsoft до сих пор.

Тем не менее, Windows Vista принесла много нового в плане мультимедиа. В том числе, новую аудиоподсистему и новую мультимедийную подсистему. Давайте о них поговорим.

18.2. Новая аудиоподсистема Windows Vista
В предыдущих версиях Windows для вывода звука использовался компонент DirectX под названием DirectSound. Для середины 90-х годов, когда он только появился, DirectSound был вполне адекватен, но в 2000-х, с распространением высококачественного многоканального звука, сильно устарел. Требовалось что-то новое ему на замену.

18.2.1. Собственно новая аудиоподсистема
Такой заменой и стала аудиоподсистема, появившаяся в Windows Vista и основанная на архитектуре UAA. (Иногда её саму называют UAA, что, вообще-то, неправильно.)

При разработке новой аудиоподсистемы ставились следующие цели:

  • Обработка высококачественного многоканального звука.
  • Высокие точность и быстродействие.
  • Максимальное снижение задержек.
  • Расширенные средства управления звуковыми потоками, в том числе с назначением им приоритетов.
  • Улучшенная поддержка оборудования (через UAA).
  • Поддержка самого широкого спектра аудиоустройств, в том числе подключаемых через USB и FireWire.
  • Повышение стабильности за счёт переноса ключевых компонентов с уровня системного ядра на уровень пользовательских приложений.
  • Расширяемость через специальные API.

И, надо признать, все они были достигнуты.

Новая аудиоподсистема включает расширенные средства по коррекции звука. Так, она позволяет регулировать громкость в каждом канале звука, калибровать каждый канал отдельно от других, а также преобразовывать многоканальный звук в двухканальный (стерео). Ранее эти задачи приходилось выполнять на уровне пользователских приложений.

Новая аудиоподсистема получила новый программный микшер с незатейливым названием Audio Engine. Он заменил устаревший, не очень стабильный и порождавший значительные задержки KMixer. Поскольку новый микшер стал неотъемлемой частью новой аудиоподсистемы, мы не будем рассматривать его отдельно.

Ещё новая аудиоподсистема включила реализацию архитектуры UAA, призванной упростить работу с совместимыми аудиоадаптерами.

Сторонние разработчики получили возможность создавать дополнительные программные модули, выполняющие специальную обработку звука или реализующие новые звуковые эффекты. Для этого новая аудиоподсистема предусматривает набор особых API.

Наконец, новая аудиоподсистема может работать с самым широким спектром современных аудиоадаптеров: интегрированных, реализованных в виде карт расширения, подключаемых по шинам USB, FireWire и даже беспроводных. Причём зачастую для этого не требуется никаких дополнительных драйверов.

При этом новая аудиоподсистема поддерживает старые программы, написанные с расчётом на использование DirectSound. Такие программы успешно работают в режиме эмуляции.

К сожалению, новая аудиоподсистема оказалась несовместимой со уже имеющимися на рынке аудиоадаптерами высшего ценового диапазона, которые включают в свой состав схемы микшеров и звуковых эффектов. Эти схемы просто не задействуются, и вся обработка звука полностью перекладывается на центральный процессор.

В качестве выхода компании — разработчики аудиоадаптеров разработали специальные системные программы, которые занимаются тем, что перехватывают команды обработки звука, поступающие от приложений, и, по возможности, перенаправляют их аппаратным узлам аудиоадаптера. К таким программам можно отнести, в частности, ALchemy, предназначенную для аудиоадаптеров компании Creative.

Достоинства новой аудиоподсистемы: высокие быстродействие и точность; богатые возможности по обработке и коррекции звука; поддержка широкого спектра оборудования; стабильность; расширяемость. Недостатки: проблемы со старыми аудиоадаптерами; недоступность для более старых версий Windows.

Новую аудиоподсистему можно назвать одним из самых удачных нововведений Windows Vista, несмотря на некоторые огрехи в реализации. Она используется также и в Windows 7 и, скорее всего, будет присутствовать в составе Windows 8, которая ещё только разрабатывается.

18.2.2. UAA
Ещё в 2002 году Microsoft выступила с инициативой стандартизировать аппаратные средства аудиоадаптеров с целью облегчить написание драйверов для них. Какое-то время эта инициатива существовала исключительно виртуально и только с выходом Windows Vista оформилась в архитектуру UAA (Universal Audio Architecture).

Она базируется на двух принципах:

  • Аудиоадаптер, совместимый с UAA на аппаратном уровне, может успешно использоваться в системе без необходимости установки соответствующих драйверов.
  • Стандартная аудиоподсистема включает в свой состав программные модули, призванные обеспечить поддержку аудиоадаптеров, совместимых с UAA.

Интересно, что вся работа с совместимым аудиоадаптером должна при этом выполняться средствами стандартной аудиоподсистемы. То есть, по крайней мере, теоретически должна отсутствовать необходимость в установке не только драйверов, но и дополнительных утилит и апплетов Панели управления, с помощью которых обычно выполняется настройка аудиоадаптера. Никаких дополнительных программ — вот девиз UAA.

Основное достоинство данной архитектуры — полная поддержка всех аппаратных возможностей аудиоадаптера без потребности в установке драйверов и прочего специального ПО. Основной недостаток — аудиоадаптер должен поддерживать UAA на аппаратном уровне.

Не все производители аудиоадаптеров реализовали в своих изделиях поддержку UAA. Те их них, кто занимался интегрированными аудиорешениями, возможно, так и поступил (благо такие схемы обновляются довольно часто). Но производители аудиоадаптеров высшего ценового диапазона, чем рынок уже много лет переживает застой, реализовывать в своих изделиях поддержку UAA не спешили. Посмотрим, как будет обстоять дело в будущем.

18.3. Media Foundation
Вторым удачным нововведением Windows Vista стала новая мультимедийная подсистема Media Foundation, или, сокращённо, MF. Она заменила все старые мультимедийные технологии: DirectShow, Windows Media Player SDK и DMO.

Новая подсистема основана на тех же принципах, что и её предшественница DirectShow. Во-первых, она является модульной и состоит из множества разнообразных программ, каждая из которых выполняет свою часть работы по обработке мультимедиа. Во-вторых, она основана на COM.

На этом сходство заканчивается, и начинаются различия.

Прежде всего, все программы, составляющие Media Foundation, делятся на три части, или, как написано в документации Microsoft, уровня(layers).

  • Уровень платформы (platform layer). Самая низкоуровневая часть Media Foundation. Обеспечивает работу остальных двух уровней, предоставляя им средства для доступа к файлам и сети, управления программными потоками и внутренним «часам», используемым для синхронизации мультимедийных потоков. Фактически представляет низкоуровневую часть программного ядра DirectShow, выделенную в отдельное «подразделение».
  • Уровень ядра (core layer). Работает поверх уровня платформы и выполняет большинство операций по собственно обработке мультимедиа: чтение из файлов, разделение дорожек, декодирование, кодирование, постобработку, наложение эффектов и пр. Включает в себя множество программных модулей, аналогичных по назначению фильтрам DirectShow.
  • Уровень управления (control layer). Располагается над уровнем ядра и выполняет задачи управления его компонентами. То есть занимается тем же, за что «отвечала» высокоуровневая часть ядра DirectShow.

Теперь рассмотрим все эти уровни подробнее.

Собственно, об уровне платформы всё уже сказано. Он занимается выполнением низкоуровневых задач — работой с файлами, сетью, потоками и внутренними «часами», — которыми не с руки заниматься его «собратьям» более высокого уровня.

Уровень ядра занимается собственно обработкой мультимедиа. Он состоит из множества программ - модулей MF, — которые выполняют элементарные задачи по обработке. Модули MF делятся на три группы.

  • Источники, или истоки (media sources). Занимаются чтением мультимедийных данных из файлов и аналогичны по назначению фильтрам-источникам DirectShow.
  • Преобразователи (media foundation transforms, MFT). Занимаются разделение дорожек, декодированием, кодированием, наложением эффектов, постобработкой и пр. В этом смысле аналогичны фильтрам-разделителям и фильтрам-преобразователям DirectShow.
  • Стоки (media sinks). Занимаются выводом мультимедиа или записью его в файл. Аналогичны фильтрам вывода DirectShow.

Как и фильтры DirectShow, модули MF объединяются в цепочки, передавая данные друг другу.

Уровень управления занимается тем, что выстраивает цепочку модулей MF, обрабатывающих мультимедиа — источников, преобразователей и стоков, — организует передачу данных от одного модуля другой, следит за синхронностью и управляет приоритетами.

Одно из фундаментальных отличий Media Foundation от DirectShow заключается в способе передачи данных между модулями MF. Фильтры DirectShow после выстраивания «цепочки» передают друг другу данные сами, без помощи программного ядра. В Media Foundation передачей данных занимается уровень управления — забирает данные у одних модулей и отправляет другим. Вероятно, это сделано с целью повышения управляемости.

Media Foundation поддерживает назначение приоритетов потокам мультимедийных данных. Благодаря этому появляется возможность дать более высокий приоритет, скажем, видео высокого разрешения, чтобы оно воспроизводилось без задержек; при этом другие потоки, такие, как системные звуки, могут получить более низкий приоритет. DirectShow этого не поддерживала.

Ещё в Media Foundation имеется поддержка систем управления цифровыми правами. DirectShow если и поддерживала их, то на начальном уровне.

Кроме того, Media Foundation изначально создавалась для поддержки видео высокого разрешения. При воспроизведении такого видео она требует меньше системных ресурсов, нежели DirectShow, а её быстродействие выше.

Media Foundation совместима с более старыми приложениями, использующими DirectShow. Такие приложения, в том числе и фильтры DirectShow, успешно работают в новой мультимедийной подсистеме в режиме эмуляции.

Вообще, можно сказать, что Media Foundation, несмотря на некоторые фундаментальные различия, — суть переработанная и улучшенная DirectShow.

Достоинства Media Foundation: более гибкая архитектура; средства для назначения потокам мультимедийных данных приоритетов; хорошая поддержка систем управления цифровыми правами; высокое быстродействие и меньшая потребность в системных ресурсах при воспроизведении видео высокого разрешения; обратная совместимость с DirectShow. Основной недостаток — она работает только в Windows Vista и более новых версиях этой системы.

Media Foundation пришла на смену DirectShow и останется в составе Windiws надолго. Так, и в Windows 8, согласно некоторым источникам (1), будет использоваться именно она.

18.4. Enhanced Video Renderer
Очередное нововведение Windows Vista, что мы сейчас рассмотрим, не столь значительно. Это новый модуль-сток (фильтр вывода в терминологии DirectShow) Enhanced Video Renderer, или EVR.

Цель разработки Enhanced Video Renderer — обеспечить поддержку трёх нововведений Windows Vista: обновлённой графической подсистемы, новой мультимедийной подсистемы Media Foundation и технологии DXVA 2.0 (о ней мы поговорим чуть позже). И он с этим успешно справляется.

В остальном его возможности аналогичны возможностям Video Mixing Renderer 9. Он использует для вывода видео средства Direct3D, а именно, Direct3D 10, входящего в состав DirectX 10. Он позволяет микшировать до 16 каналов видео, накладывая их друг на друга; при этом каналы видео могут быть полупрозрачными. Он предлагает мощные средства для постобработки видео, что позволяет повысить его качество.

Чтобы Enhanced Video Renderer работал с максимальной скоростью, в системе должен присутствовать видеоадаптер с аппаратной поддержкой DirectX 10. В противном случае многие функции DirectX 10 будут выполняться центральным процессором, и быстродействие заметно упадёт.

Достоинства у Enhanced Video Renderer те же, что и у его предшественника — Video Mixing Renderer 9 — плюс поддержка всех новых графических и мультимедийных средств Windows Vista. Недостаток: он доступен только в Windows Vista и более поздних версиях Windows; для успешной работы рекомендуется наличие видеоадаптера, аппаратно поддерживающего DirectX 10.

Enhanced Video Renderer на текущий момент времени — самый современный модуль-сток. Судя по всему, он ещё долго будет служить нам, поклонникам компьютерного видео.

18.5. DXVA 2.0
Ещё в составе Windows Vista появилась новая версия технологии аппаратного декодирования и постобработки видео - DXVA 2.0.

Самое значительное нововведение, представленное ей, заключалось в том, что все операции по работе с видеоадаптером теперь могли выполняться в обход модуля-стока. Фактически любой преобразователь мог инициировать выполнение любой операции, поддерживаемой видеоадаптером, — декодирования, постобработки или собственно вывода, — не уведомляя сток. Это позволило расширить область применения DXVA 2.0; так, появилась возможность выполнять аппаратное декодирование видео без его вывода.

Помимо этого, в DXVA 2.0 был несколько расширен список операций обработки видео, которые может выполнять видеоадаптер.

DXVA 2.0 требует наличие в операционной системе новой версии драйверов видеоадаптеров, DirectX 10 или более новой её версии и Media Foundation. Таким образом, работать она может только в Windows Vista; более старые версии Windiws оставались «за бортом».

DXVA 2.0 обратно совместима с DXVA 1.0. То есть старые программы, рассчитанные на использование DXVA 1.0, будут успешно работать с DXVA 2.0 в режиме эмуляции.

Достоинства DXVA 2.0: возможность использования аппаратных функций видеоадаптера по обработке видео любым преобразователем Media Foundation; более широкий спектр операций, выполняемых видеоадаптером на аппаратном уровне. Недостаток — доступность только в тех версиях Windows, что включают в свой состав Media Foundation.

Первые видеоадаптеры, поддерживающие DXVA 2.0, вышли в том же 2007 году, чуть позже, чем сама Windows Vista. Это были модели линейки AMD Radeon HD 2xxx и Nvidia GeForce 8xxx.

Судя по всему, DXVA 2.0 поселилась в наших компьютерах надолго. По крайней мере, о новой версии этой технологии ничего не слышно.

18.6. Windows Movie Maker 6.0
Ещё одно мультимедийное нововведение Windows Vista, что мы здесь рассмотрим, — новая версия простейшего видеоредактора. Она называлась Windows Movie Maker 6.0.


Рис. 12. Windows Movie Maker 6.0

Список её нововведений таков:

  • 49 эффектов и 63 перехода. Причём список эффектов и переходов отличался от того, что присутствовал в предыдущей версии этой программы.
  • Поддержка импорта видео из файлов телепередач, записанных в оболочке Windows Media Center.
  • Поддержка импорта видео из цифровых видеокамер высокого разрешения (только в редакциях Home Premium и Ultimate).
  • Отсутствие поддержки захвата аналогового видео с ТВ-тюнеров и аналоговых видеокамер.

Windows Movie Maker 6.0 распространялся только в составе Windows Vista, причём не всех её редакций. Отдельно загружаемой версии для более старых версий Windows не существовало.

Достоинство у новой версии Windows Movie Maker одно — возможность импорта записанных телепередач и видео с видеокамер высокого разрешения. Недостатки: другой набор эффектов и переходов, нежели у предыдущей версии; отсутствие средств для захвата аналогового видео.

Windows Movie Maker 6.0 станет последней версией данной программы. В Windows 7 ей на смену придёт новый видеоредактор Windows Live Movie Maker.

18.7. DVD Maker
В составе Windows Vista наконец-то появилась простейшая программа для создания (мастеринга) и записи дисков DVD-Video. Называлась она просто и безыскусно - DVD Maker.

DVD Maker позволял импортировать видеофайл любого формата, чья поддержка имелась в Windows. После этого фильм разбивался на части, создавалось меню диска (точнее, выбиралось из нескольких доступных в программе шаблонов), готовый фильм экспортировался в формат DVD-Video и, возможно, записывался на диск DVD.

Достоинства DVD Maker: удобные средства для мастеринга DVD-Video; возможность создания меню диска; средства для записи гтового фильма на диск DVD; ориентация на неподготовленного пользователя. Недостаток, пожалуй, всего один — отсутствие развитых средств мастеринга, используемых профессионалами; но это, в принципе, понятно, — ведь это всё-таки простейший редактор…

DVD Maker присутствует также в составе всех последующих версий Windows.

18.8. Windows Movie Maker 2.6
Помимо Windows Movie Maker 6.0, включённого в состав Windows Vista, Microsoft выпустила также другую версию этой программы -Windows Movie Maker 2.6. Эта версия предназначается для тех редакций Windows Vista, в состав которых не входит Windows Movie Maker 6.0, а также для пользователей, привыкших к старым версиям этой программы.

Windows Movie Maker 2.6 основан на Windows Movie Maker 2.1. Он включает тот же набор эффектов и переходов, однако средства для захвата аналогового видео из него были исключены.

Windows Movie Maker 2.6 распространяется отдельно и предназначается для любых редакций Windows Vista. Он также нормально работает под всеми последующими версиями Windows.

19. Expression Encoder 1.0
6 сентября 2007 года Microsoft выпустила новую программу-перекодировщик звука и видео. Она называлась Expression Encoder 1.0.

Вот список её возможностей:

  • Перекодирование звука и видео в форматы MP3, ASF, WMA 9.2 и WMV 9.
  • Поддержка всех форматов файлов и кодирования звука и видео, для которых в системе установлены соответствующие фильтры DirectShow или источники и преобразователи Media Foundation.
  • Множество встроенных профилей кодирования и возможность создания пользовательских профилей.
  • Возможность получения видео, предназначенного для потокового вещания и для воспроизведения на мобильных устройствах.
  • Возможность встраивания в файлы ASF команд по управлению проигрывателем.
  • Перекодирование видео с Web-камер в реальном времени.
  • Базовые средства по редактированию видео.
  • Добавление титров, субтитров и водяных знаков.
  • Средства для пакетного перекодирования сразу множества файлов.
  • Загружаемый отдельно SDK, позволяющий создавать дополнительные модули.

В состав Expression Encoder 1.0 также входили фильтры DirectShow и модули MF, поддерживающие форматы файлов MPEG Transport Stream и BDAV и форматы кодирования MPEG II Video и AC-3. Правда, поддерживался только импорт звука и видео, закодированных в этих форматах.

Кодирование в более старые версии форматов WMA и WMV не поддерживалось. Для этого Microsoft предлагала использовать программу Windows Media Encoder.

Expression Encoder 1.0 и все последующие его версии вышли в трёх различных редакциях:

  • Pro коммерческая. Платная, продавалась только в коробках. Самая полная версия программы.
  • Pro подписная. Доступна по подписке на программы DreamSpark, BizSpark, WebsiteSpark и MSDN Ultimate. Не включала поддержку форматов MPEG Transport Stream, BDAV, MPEG II Video и AC-3.
  • Free. Бесплатная, свободно загружаемая либо доступная по подписке на программу MSDN Premium. Не включала поддержку форматов MPEG Transport Stream, BDAV, MPEG II Video и AC-3 и была несколько ограничена в возможностях.

Expression Encoder 1.0 работал под Windows XP и Vista. Для работы он требовал .NET 3.0 или более новую её версию.

Достоинства этой программы: поддержка импорта звука и видео, хранящихся практически в любом формате; богатые возможности по подготовке, обработке и перекодированию видео, в том числе средства для наложения титров, субтитров и водяных знаков; перекодирование видео в реальном времени; возможность пакетного перекодирования сразу множества файлов. Недостатков всего два: небольшой набор форматов, в который можно перекодировать звук и видео, и некоторые ограничения в бесплатной (Free) версии.

Первая версия Expression Encoder просуществовала на рынке меньше года. Уже в мае 2008-го ей на смену пришла вторая версия, о которой мы поговорим потом.

20. Windows Server 2008
Новый 2008 год начался с релиза новой серверной версии Windows. Она носила название Windows Server 2008, стала доступной для производителей готовых серверов 4 февраля, а с 27 февраля её уже могли приобрести все желающие.


Рис. 14. Интерфейс Windows Server 2008

Основанная на коде Windows Vista, она включала все её нововведения. Кроме того, новая Windows Server получила обновлённые серверные и сетевые компоненты, новые средства обеспечения безопасности и надёжности.

Но самым главным обновлением была модульная структура. Теперь администрато мог установить только те компоненты Windows, которые реально были ему нужны; ненужные же компоненты просто не устанавливались. Имелась даже возможность установить Windows без графической оболочки; в этом случае управление системой осуществлялось либо удалённо, либо через командную строку.

Ничего нового в мультимедийном плане Windows Server 2008 не содержала.

Windows Server 2008 оставалась самой современной серверной версией Windows около полутора лет. В середине 2009 года её сменит Windows Server 2008 R2.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты