Pull to refresh

Broadcom Crystal HD: аппаратное ускорение HD видео «от А до Я»

Reading time 5 min
Views 76K
image

Думаю, многие знают, что HD (720p) H.264 видео так просто на нетбуке не посмотришь. Мощности Intel Atom просто не хватает на декодирование. Я использую свой Acer Aspire One в качестве видеоплеера во время командировок и длинных поездок и тоже с этим сталкивался. Есть несколько способов решить эту проблему:
  • перекодировать с более низким разрешением/битрейтом
  • использовать программные ухищрения
  • использовать аппаратное ускорение

Первый способ слишком медленный и унизительный (т.к. типичен для портативных плееров вроде iPod и т.п.).

Второй — не универсален и ограничен. Мне известны два способа — установка кодека CoreAVC и опережающий воспроизведение буфер Crystal Player-а (см. Настройка нетбука на максимальную производительность для HDTV). В принципе, это вполне сносное решение для 720p. Однако, есть два больших минуса: 100% загрузки процессора и полная несостоятельность в случае с 1080p.

Третий кажется мне наиболее «правильным». Можно сразу купить нетбук с Nvidia ION — универсальное решение, которое дает дополнительные плюшки вроде вычислений CUDA и возможности играть в 3D игры (впрочем, удовольствие на маленьком экранчике сомнительное). К сожалению, Nvidia ION-powered нетбуки появились лишь недавно и пока еще дороги. Да и что поделать, если уже купил себе нетбук без всяких «понтов»?

Есть выход! Называется он Broadcom Crystal HD, и «ускорить» им свой EEE PC или Aspire One вполне реально и дешево.

Корпорация Broadcom год назад выпустила карту Crystal HD на интерфейсе Mini PCI Express, которая предоставляет аппаратное ускорение воспроизведения H.264 и MPEG 2,4 (а по слухам и Flash). Прелесть вся в том, что микросхемку можно всунуть в свободный PCIe слот нетбука. Дальше пойдет речь о том, как это чудо заполучить, как настроить и как оно работает.

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

Рассказывать я буду на своем примере. Моя конфигурация:
Acer Aspire One AOD 250:
Intel Atom Single Core N270 (1.60 ГГц/ 512 КБ/ FSB 533), 10.1" SD (1024x600), 2GB RAM
Windows 7 + Xubuntu 10.04 (beta)

Что нам потребуется

  • наличие свободного mini PCIe слота
  • около 30$ на PayPal или уже купленный Crystal HD
  • если будете покупать — готовность ждать 2 месяца *
  • специфический софт под Windows
  • терпение и крепкие нервы (само собой)

* если Почта России будет работать по-прежнему

Ссылка на mini PCIe с википедии.
image
Обычно у дешевого нетбука без Yota есть свободный слот под 3G карту, он как раз и есть нужный. В моем случае он был на задней стороне, слева от отсека для смены оперативной памяти. Точно знаю, что похожее есть и у старичка AOD150, но там нет коннектора (т.е. куда непосредственно втыкать плату). Если слота нет, а вставить микросхемку очень хочется, можно разобрать нетбук, заменить wifi-карту (которая в подавляющем большинстве случаев mini PCIe) на Crystal HD, а проблему с беспроводным интернетом решить покупкой USB wifi донгла.

Я покупал карту на eBay. Не исключено, что она продается на каких-то радиорынках. Времени бегать/узнавать у меня не было, зато были деньги на PayPal.

Список софта я опишу дальше.

Получаем Crystal HD

Покупаем микросхемку на eBay. Например здесь. Я покупал 2 месяца назад, и стояла она 23 бакса включая доставку. Сейчас видимо запас их подходит к концу, и стоят они гораздо дороже. Обращаю внимание, что есть 3 разновидности модели — 70010 (старая), 70012 (как у меня), 70015 (самая новая и крутая по фичам). 70012 вполне хорошо работает.
Ждем около 2 месяцев, пока ее доставят (мне прислали из Сингапура).

Заставляем железо работать

Когда я радостно вставил Crystal HD в свой нетбук, то сначала жестко обломался, потому что ее не видел ни Windows 7, ни Xubuntu. Команда

lspci | grep Broadcom

показала шиш с маслом. Не надо расстраиваться, друзья! Возможно, в этом случае дело не в том что микросхемку облучили чем-то на таможне или долбанули статикой в самолете, а банально в старой версии BIOS вашего нетбука. Действуя интуитивно и наугад, я перепрошил BIOS своего AOD250 с 1.06 до 1.27. О чудо! Карта определилась,

lspci | grep Broadcom

выдал

Multimedia controller: Broadcom Corporation BCM70012 Video Decoder [Crystal HD] (rev 01)

Windows 7 попытался при загрузке установить драйвер на Multimedia controller, но, ясное дело, у него ничего не вышло. Переходим к списку необходимого софта:

Тем, у кого стоит CoreAVC + Haali Matroska (Media) Splitter (как у меня) и тем, у кого стоят CCCP-ы, K-Lite Codec Pack-и и т.д. — снести все под корень.
Качаем, ставим драйвер (32-bit).
Замечу, что именно в такой последовательности.

Возимся с кодеками

Ставим Haali Media Splitter (для контейнера MKV). Ставим AC3Filter (для Dolby AC3) и CoreAAC (для AAC).

Может, конечно, у некоторых счастливчиков после этого все сразу заработает, но я был явно не в их числе. При открытии первого попавшегося под руку 720p mkv (h.264) Windows Media Player-ом (и Media Player Classic Home Cinema тоже) я получил давно знакомые тормоза и 100% CPU. Здравствуй, codec hell.
Открыв этот файл в GraphStudio (File->Add Media file), я увидел, что h.264 видео поток по-прежнему декодируется встроенным в Windows 7 кодеком. DirectShow фильтр от Broadcom стоял. Убедиться в этом можно, найдя «Broadcom Video Decoder» в списке Graph->Insert filter…

Размеется, перезагрузка ничего не поменяла. На помощь приходит Windows 7 Preferred Filter Tweaker!
Запустив его, переключаем h.264 и MPEG2 с Microsoft на Broadcom. Видимо, в дальнейшем разработчики этой тулзы добавят заявленную поддержку Xvid, VC-1 и Divx для Broadcom-а, но на момент написания этого не было. Жмем Apply, в следующем окне везде ставим галки (отключаем все кодеки Microsoft, чтобы потом не мешались). Вуаля! GraphEdit показывает, что h.264 декодируется Broadcom-ом, звук — CoreAAC, Windows Media Player и др. уверенно показывает видео со звуком.

image

Возможно, у тех, у кого стоит Windows XP, такие проблемы не возникнут.

Мне так и не удалось заставить Broadcom играть Xvid, даже собрав «блоксхему» в GraphEdit-е. Быть может, я что-то упустил и вам это удастся. Неспроста в Windows 7 Preferred Filter Tweaker разработчики не добавили Broadcom в качестве Xvid-декодера. Я удовлетворился установкой обычного Xvid-а c xvid.org.

Настройка Crystal HD под Xubuntu тянет на отдельный топик…

Полевые испытания

… проводились на Windows Media Player 12, экране нетбука и питании от сети.
Media Нагрузка CPU, avg Нагрузка CPU, max Качество
720p MKV (3216MB, 2:18)
Video: AVC 1280x544 24.00fps
Audio: AAC 48000Hz 6ch
30% 40% Отличное
1080p MKV (8421MB, 1:43)
AVC 1920x816 23.98fps
Audio: Dolby AC3 48000Hz 6ch
30% 40% Отличное

DWM (эффекты Aero) ел до 15% CPU.
Под «отличным» качеством воспроизведения я имел в виду синхронизацию видео со звуком, отсутствие отставаний и рывков, насыщенность цвета, в общем обычный нормальный показ фильма. Время работы от стандартной 3-ячеечной батареи составило 2 часа в случае с 720p и 1 час 55 мин в случае с 1080p. Crystal HD сильно греется (не просто так на нем была специальная термонаклейка, рассеивающая тепло).

Обновление: я протестировал Crystal HD на внешнем мониторе. Youtube. Вердикт — «отлично». Монитор был SyncMaster 2223nw 1680x1050, 1080p видео — фрагмент фильма №2.

При обычной работе с нетбуком карта совсем не греется и не сказывается на времени автономной работы.

Итог

Broadcom Crystal HD годится для решения проблемы воспроизведения видео высокой четкости на нетбуках с ограниченными ресурсами процессора. Это относительно дешево и не имеет явных минусов.
Tags:
Hubs:
+71
Comments 93
Comments Comments 93

Articles