Windows Vista Media Center — доводим до ума
Логическая законченность
Главная идея любого медиацентра — полная логическая законченность. Система должна воспроизводить всё, что необходимо, прямо из коробки. Любого, но только не медиацентра от Microsoft. Такие «пляски с бубном», которые требуются порой для доведения Vista Media Center до ума, не снились ни одному «линуксоиду».
Корень проблемы в том, что Vista Media Center (VMC) преследует всё тот же застарелый рок Windows — отсутствие встроенных кодеков для наиболее популярных видеоформатов. Что тут скажешь, если даже в самом последнем обновлении для VMC — Windows Media Center TV Pack 2008 — не сделали поддержку формата H.264 — одного из главнейших форматов современного видео высокой чёткости. Вроде бы в Windows 7 [1] ситуация с кодеками наконец-то должна сдвинуться с мёртвой точки — поживём, увидим. А пока берём в руки прочный рашпиль и кувалду (то есть делаем образ системного раздела Windows Vista, дабы в случае неудачных экспериментов можно было бы всё легко вернуть назад) и приступаем к доводке системы, пытаясь подружить её не только с уже не очень интересным DivX, но и с всё более набирающим популярность HD-видео. Попутно попробуем разобраться, а что ещё интересного можно прикрутить к медиацентру? Ведь видеоразвлечения отнюдь не ограничиваются только скачанными HD-рипами — тот же любительский YouTube частенько даст фору самому дорогому голливудскому (а потому — крайне тупому) блокбастеру.
Установка кодеков
VMC, по идее, должен использовать системные кодеки, а потому, чтобы научить его понимать современные видео и аудио форматы, этому надо сначала научить саму систему в целом. Подходов к решению этой задачи может быть несколько. Одни пользователи считают, что надо ставить только то, что необходимо, то есть обходиться лишь необходимым минимумом посторонних файлов в системе, доустанавливая в случае чего отсутствующие декодеры. Другие предпочитают сразу ставить пакеты «все-в-одном», чтобы какой бы ролик ни попался под руку, он гарантированно бы отобразился проигрывателем. Третьи ловят блох по части качества, споря до хрипоты, какой же MPEG-декодер меньше мылит картинку, а четвёртым непременно подавай хардверное ускорение воспроизведения как можно большего числа типов видеофайлов — зря что ли они крутую видяху покупали? Поэтому мы в данном случае тоже рассмотрим несколько вариантов дооснащения системы кодеками — это имеет смысл ещё и потому, что позволяет в случае каких-то проблем удалить неудачную комбинацию и попробовать пойти кардинально другим путем.
Вариант первый — самый простой, с использованием уже готового пакета кодеков Vista Codec Package [2] . Этот пакет хорош тем, что не требует от пользователя каких-то серьезных знаний — он сам делает все, что необходимо, и его настройки по умолчанию оптимальны для нашей задачи. Кроме того, при установке он удаляет конкурирующие пакеты кодеков, дабы избежать конфликтов, не содержит лишних плееров, не меняет файловые ассоциации, русифицирован. В последних версиях пакет содержит поддержку E-AC3 и Dolby TrueHD, имеет в своем составе качественный декодер Cyberlink MPEG2, обеспечивает акселерацию H.264, а наличие его 64-разрядной версии позволяет применять Vista Codec Package даже на 64-битных системах. Но самое главное — пакет оптимизирован для работы с Windows Vista вообще и с Media Center в частности. В основе пакета лежит небезызвестный ffdshow, а потому с ним будет нормально работать плагин MediaControl [3] , необходимый для перемотки при проигрывании медиа-файлов и для переключения между аудио-дорожками и требующий для своей работы именно ffdshow.
Чтобы при использовании Vista Codec Package задействовать аппаратное ускорение при воспроизведении H.264-контента, запустите в меню «Пуск» → «Программы» → «VistaCodecs» → «32bit Tools H264 Settings» апплет «enable DXVA codec». Однако учтите, если файл закодирован таким образом, что его акселерация невозможна, в этом случае автоматического её отключения может не произойти, и файл не будет проигрываться. Придётся либо отключать акселерацию, либо переключаться на другой декодер. Так что акселерацией злоупотреблять тоже не стоит, особенно если система достаточно мощная — в ряде случаев она может даже провоцировать «синие экраны смерти».
В принципе, после установки этого пакета какие-то дополнительные телодвижения не должны понадобиться — он содержит всё необходимое для большинства современных файлов. Единственное, не исключено, что ffdshow из состава пакета не перехватит на себя какие-то типы файлов, из-за чего возникнут проблемы с плагином Media Control. В этом случае проконтролируйте в настройках ffdshow, разрешено ли в них воспроизведение видео этих типов, и в самом Media Control удостоверьтесь, что он видит установленный ffdshow (для этого имеется специальная диагностическая утилита).
Если же окажется, что что-то в VMC не воспроизводится, то действия должны быть следующими. Если проблемный файл не видится только в VMC, а Windows Media Player его воспринимает нормально, то попробуйте импортировать в реестр такой REG-файл (на примере MKV-файла, для файлов других типов, например, m2ts аналогично):
REGEDIT4
[HKEY_CLASSES_ROOT\.mkv]
«Content Type»=»video»
«PerceivedType»=»video»
[HKEY_CLASSES_ROOT\.mkv\PersistentHandler]
@=»<098f2470-bae0-11cd-b579-08002b30bfeb>»
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.mkv]
«PerceivedType»=»video»
«Permissions»=dword:0000000f
«Runtime»=dword:00000007
«UserApprovedOwning»=»yes»
Если же файл не воспринимается и в WMP (или есть звук, но нет видео, или есть видео, но нет звука), то откройте его с помощью утилиты Gspot (www.headbands.com/gspot) и посмотрите, какие кодеки в нем используются — отсутствующий кодек надо будет просто скачать (Google поможет его найти) и доустановить.
Возможен и гораздо более серьёзный «глюк» — если декодер, а то и не один, для данного типа файла в системе уже имеется, но он работает некорректно и требуется его смена на другой декодер. Тут понадобится помимо Gspot ещё одна утилита — GraphEdit [4] . Она в очень наглядном виде покажет, через какие сплиттеры (компоненты, разделяющие видео, аудио и субтитры) и декодеры (аудио и видео) проходит сигнал в вашей системе. Если, например, вместо ожидаемого сплиттера Haali Media Splitter вы увидите что-то иное, не пропускающее через себя какой-то из потоков сигнала (аудио или видео), или вместо желаемого Cyberlink MPEG2 codec будет, например, завалявшийся в системе декодер от Nero, то откройте GSpot, выберите System — List Codecs and other filters, найдите нужный декодер и, выбрав в контекстном меню команду Set Filter Merit, повысьте ему приоритет. Аналогичным образом приоритет нужно понизить нежелательному или сбойному декодеру. После этого всё должно заработать нормально — проверьте в том же GraphEdit, произошла ли смена декодеров в тракте сигнала.
Максимум же гибкости (и стабильности) дает второй вариант установки кодеков — полностью ручной. В этом случае вы можете комбинировать самые разные декодеры в зависимости от ваших предпочтений. Хотите — ставьте наиболее качественные с вашей точки зрения, хотите — ставьте такие, которые используют аппаратное ускорение видеокарты и так далее. Тут могут быть разные варианты. Для комфортного просмотра MPEG-2 (а это, в первую очередь — DVD) очень неплохо подходит сочетание Gabest MPEG Splitter и Gabest MPEG Decoder (имеются в составе многих пакетов кодеков), но многие предпочитают устанавливать платный декодер Bitcontrol MPEG-2/4, H.263 Video/Audio Decoder (www.bitcontrol.com), поскольку он использует аппаратное ускорение и выдает более качественную картинку. (Сплиттер в этом случае можно оставить и Gabest.) Пойдет также хорошо справляющийся с m2ts декодер от Cyberlink [5] — его даже лучше устанавливать вместе с плеером PowerDVD последней версии, поскольку с ним идет официальный плагин для VMC. Или декодеры, поставляемые производителем видеокарты — как правило, они имеют поддержку хардверной акселерации. И ещё один неплохой вариант — ArcSoft TotalMedia Theatre [6] — мощный пакет, поддерживающий самые современные HD-носители и также имеющий специальный плагин к VMC.
Кстати, такой большой выбор декодеров для MPEG-2 порождает ещё одну проблему — как заставить VMC использовать именно тот декодер, который нужен, если в системе их установлено несколько? Например, если драйверы видеокарты поставили свой декодер, а вы хотите использовать (или просто сравнить качество), скажем BitControl. В этом случае для выбора кодека надо использовать простейшую утилиту Vista Media Center Decoder — VMCD [7] . Но тут есть небольшой нюанс — не все кодеки изначально можно с помощью этой утилиты назначить для использования с VMC. Например, с кодеком WinDVD она может не сработать. В подобной ситуации надо сначала скачать и запустить утилиту Windows XP Video Decoder Checkup Utility [8] , в ней следует указать нужный кодек в качестве «дефолтного» и уже потом запускать VMCD.
Для фильмов, использующих кодек H.264 (это, в основном, HD-рипы), лучше всего подходит сочетание необходимого для работы с контейнерами MKV/OGM Haali Media Splitter [9] и отличного кодека CoreAVC H264 Video Decoder Pro [10] . Последний хоть и является до сих пор чисто софтовым декодером (акселерация обещана, но всё ещё отсутствует), тем не менее едва ли не самый быстрый на сегодняшний день (говорят, Media Control с ним тоже работает). Учтите только, что если вы поставите CoreAVC, то поддержку H.264 в ffdshow надо будет отключить, плюс желательно для AVI-файлов использовать не Haali Media Splitter, а штатный системный компонент AVI Splitter (смена сплиттеров также осуществляется с помощью Gspot и GraphEdit). Впрочем, как альтернативу для H.264 можно предложить декодер от Media Player Classic Home Cinema [11] — распаковав архив программы надо просто зарегистрировать в системе одну её библиотеку: regsvr32 /s MPCVIDEODec.ax .
Разумеется, не стоит забывать и об обычном видео — для его успешного декодирования можно ограничиться либо достаточно стабильным DivX (www.divx.com), либо поставить всё тот же ffdshow [12] , который помимо того, что очень быстр и конфигурабелен, ещё и сам по себе поддерживает кучу самых разных контейнеров и форматов, вплоть до TS или ютубовского FLV (а этот момент важен, если вы захотите поставить плагин для работы с YouTube). Без поддержки DivX/Xvid не обойтись, так как многие HD-рипы идут в виде Xvid в AVI-контейнерах.
И, наконец, для вывода многоканального звука через SPDIF и ресивер необходим AC3Filter [13] , и при необходимости — CoreAAC [14] , если AAC-декодер в ffdshow отрабатывает какой-то фильм некорректно. На десерт — directVobSub [15] для поддержки субтитров.
Впрочем, даже идеально подобранная комбинация кодеков совершенно не исключает проблем с воспроизведением HD-рипов 1080p — многое зависит ещё и от того, насколько криво они закодированы. Так что не удивляйтесь, что для части фильмов вам всё же придётся переключаться из удобной оболочки VMC в какой-нибудь более всеядный проигрыватель типа CorePlayer.
Плагины
Плагинов, совместимых с медиацентром из состава Windows Vista, вообще говоря, не так уж и много, а полезных среди них и того меньше. C точки же зрения нашей задачи, то есть оптимизации медиацентра, стоит обратить внимание на несколько наиболее интересных медиа-плагинов. Например, на служебный плагин MediaControl [3] , который необходим прежде всего для поддержки перемотки видеофайлов (круто конечно, но VMC изначально этого почему-то не умеет делать), а также для переключения между звуковыми дорожками, что для многих HD-рипов более чем актуально, так как в грамотном рипе обычно присутствует как оригинальная дорожка, так и русский дубляж. Кроме того, MediaControl позволяет работать с субтитрами, регулировать яркость, контрастность и другие параметры изображения, запоминает последнюю позицию файла, делает закладки, применяет постпроцессинг для большинства источников и всё это с поддержкой управления с пульта ДУ. Так что плагин действительно ценный, в том числе и потому, что не просто предоставляет какие-то фичи, но и позволяет их оперативно настраивать, например, выставлять задержку для субтитров или обрезать черные поля у картинки. Единственное ограничение — официально он работает только в том случае, если у вас установлен и используется для декодирования ffdshow.
Следующий интересный плагин добавит в VMC ещё один популярный источник видео — YouTube, который с недавнего времени поддерживает и HD-ролики, и ему подобные сайты. Называется он Yougle Vista [16] и умеет показывать (и даже сохранять на диск!) видеофайлы с сайтов Apple Trailers, YouTube, MSN Soapbox, WWITV, DailyMotion, Chasers War on Everything, The Media Center Video Show, Yahoo! Music, ZeroPunctuation и, внимание — South Park! Правда, последний сайт заявлен почему-то только для жителей США, но с помощью прокси-серверов с этой проблемой, пожалуй, можно справиться — у нас так он вообще открывался нормально без всяких извращений. (Кстати, этот плагин, как и некоторые другие, запускать в медиацентре надо из меню «Программы») Плохо только, что поиск на кириллице с виртуальной клавиатуры невозможен — только с реальной. Но и это не все, плагин способен воспроизводить ещё и аудио с сайтов The Media Center Show, Live365, Shoutcast, картинки с Flickr и ICanHasCheezburger, а также анимацию с Strongbad Emails и NeuroticallyYours. Конечно, в основном это все англоязычные ресурсы, но вот на том же YouTube навалом и русских роликов (кириллица в названиях поддерживается), так что в пользе плагина можно не сомневаться. В конце-концов, можно сделать заявку на свои источники сетевого медиаконтента.
Для классического же интернет-телевидения существует отличный плагин MiraWorldTV [17] , в постоянно обновляемой базе которого буквально тысячи ТВ-каналов со всего мира — одних только спортивных порядка 60. Разделение по жанрам, кстати, очень удобно и довольно грамотно. Новости, музыка, образование, детям и так далее. В разделе «Страны» видим Россию и около 50 телеканалов. Впрочем, таким цифрам радоваться особо не стоит — практически в каждом разделе изрядное число каналов нерабочие, но в интерфейсе программы есть ссылка, позволяющая обратить внимание разработчиков на это безобразие. Ну и надо учитывать, что качество веб-трансляций очень разное, что особенно заметно на хороших телевизорах. А чтобы не путаться в длиннющих списках и отобрать раз и навсегда все интересные и реально существующие, можно воспользоваться разделом Favorites.
Ещё один обязательный к установке плагин — MceFM [18] . Он предназначен для работы с небезызвестным сайтом Last.fm [19] . Впрочем, обязателен он, пожалуй, для тех кто любит этот сайт и регулярно его использует — услышать нахяляву хорошую музыку там не так-то просто. Другим же пользователям, возможно, больше подойдет плагин MceFMmcShoutCast [20] , который поддерживает порядка 13000 интернет-радиостанций, позволяет создавать собственные списки фаворитов и даже записывать треки. Полный набор необходимых атрибутов присутствует — поиск, обложки, top500 радиостанций и тому подобное. Русских станций на данный момент 26, но плагин чуть ли не каждый день автоматически обновляется.
Отлично впишется в концепцию центра развлечений и плагин EMUCenter [21] — интегрирующаяся в интерфейс VMC оболочка для удобного запуска игр, причем как обычных «виндовых», так и приставочных, с помощью встроенных эмуляторов. При этом поддерживается более чем внушительный набор классических игровых консолей недавнего прошлого: Arcade (через популярнейший эмулятор MAME), Atari Lynx (Mednafen), Atari 2600 (Stella), Gameboy (VirtualBoy / MESS / Mednafen), Gameboy Advance (VirtualBoy / MESS / Mednafen), Gameboy Color (VirtualBoy / MESS / Mednafen), Nintendo 64 (Project64), Nintendo Entertainment System (NESTopia / Mednafen), Sega SG-1000/SC-3000 (Kega Fusion), Sega Genesis (Kega Fusion), Sega Master System (Kega Fusion), Sega Saturn (Kega Fusion), Super Nintendo (ZSNES), Wonderswan (Mednafen). Конечно, 8 и 16-битные приставки — это вам не в GTA4 «рубиться», но что может быть лучше, чем полчаса кровавого мордобоя Mortal Kombat 3?! Были бы хорошие геймпады…
Ну и напоследок плагины по мелочи. Для того чтобы быть в курсе прогноза погоды, отлично подходят плагины Heatwave и mceWeather [22] . Ленту новостей покажет RSS-reader [23] , ну а подогнать интерфейс VMC под свои вкусы поможет программа MC Menu Mender [24] . Если же на экране подключенного к телевизору медиацентра нужен обычный веб-браузер, то надо всего лишь установить плагин MCEBrowser [25] . Учтите только, что 64-разрядная его версия ещё находится в разработке.
Разное
Скопированные на жёсткий диск DVD в виде стандартных папок VIDEO_TS надо запускать не из «Видеотеки», а из «Воспроизведения DVD». Кроме того, необходимо создать в реестре такой параметр:
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Media Center\ Settings\ DvdSettings
«ShowGallery»=»Gallery»