среда, 7 января 2009 г.

HTPC своими руками

Сегодня развелось столько форматов видео/аудио, что не возможно найти устройство, способное проигрывать их все. Не смотря на то, что некоторое время назад, на рынке стали появляться так называемые медиастанции, которые при должном умении и своевременном обновлении прошивки, могут воспроизводить большинство форматов, они, не секрет, далеки от идеала и не справляются со своей задачей. Поэтому опытные пользователи собирают так называемые HTPC (Home Theater PC), а менее опытные покупают их. Такое название они получили, потому что встраиваются в систему домашнего кинотеатра, подключаясь к ресиверу, тем самым становясь неотъемлемой частью домашнего кинотеатра.

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

Итак, для нашего будущего компьютера нам понадобится выбрать следующие компоненты:
1. Корпус
2. Процессор
3. Материнская плата + оперативная память
4. Видеокарта
5. Жесткий диск + привод оптических дисков
6. Способ управления (в том числе ОС)
Эта последовательность очень важна, поэтому начнем идти прямо по пунктам.

Естественно, что HTPC в отличие от обычного компьютера будет на виду и станет частью интерьера, поэтому очень важно выбрать правильный корпус. Также от корпуса зависит и все остальное. Например, некоторые корпуса оборудуют пультами управления, и тогда решается проблема управления. От корпуса зависит и тип материнской платы, а значит и процессор. Также, компактные корпуса обычно снабжают слотами только для 2.5 дюймовых винчестеров, а некоторые из них либо не поддерживают вовсе возможность установки видеокарты, либо поддерживают только низкопрофильные модели. На все это лучше сразу обращать внимание, при покупке, этому стоит уделять внимание не меньше, чем внешнему виду. Сперва я пытался поискать счастья среди microITX корпусов, но найти их оказалось очень сложно, и для себя я выбрал miniATX корпус Tsunami, выполненный в desktop формате(правда можно ставить и как башню, при помощи подставки):



На самом деле он конечно выглядит не так эффектно как на этой профессиональной фотографии, но все равно он очень неплох, кроме того он обладает рядом положительных качеств:
Возможность установки полноформатной видеокарты размером в один слот, это одновременно и плюс и минус данного корпуса. Плюс потому что можно поставить производительную видеокарту, а минус, потому что делается это через специальный переходник, и это накладывает ограничение на материнские платы и расположение на ней слота PCI-E. Проблема оказалась решаема, и материнскую плату я быстро нашел. Правда, не стоит забывать о системе охлаждения процессора, в итоге я все таки промахнулся и не попал в специально отведенное отверстие для охлаждения (на фото его видно как крышку справа) и крышка эта просто отказалась цепляться. Пришлось просто положить её сверху корпуса, в общем-то, это совсем не заметно, а тот факт, что я промахнулся и с выбором кулера(он оказался слишком шумным), решит эту проблему выбором более тонкого кулера.

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

Что касается процессора, тот тут выбор очевиден и это Athlon x2 4850e. Во-первых это двуядерное решение, что для проигрывания видео в формате высокой четкости крайне необходимо, кроме того частота равна 2.5ггц, и самое главное рассеиваемая мощность всего 45 ватт, что является просто отличным показателем. Единственный минус этого процессора, это его не распространенность. Найти процессоры этой серии очень сложно, и я считаю, что мне ужасно повезло, это сделать. При выборе процессора всегда стоит обращать внимание на рассеиваемую мощность, это то, что будет требоваться от вашего кулера (чем меньше рассеиваемая мощность, тем обычно меньших размеров кулер можно цеплять, ибо что меньше потребляет - то меньше и тепла выделяет) и блока питания. Чем показатели потребления процессором ниже – тем лучше. В системе еще полно причиндалов, которые смогут воспользоваться освободившимися ваттами.

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

Оперативная память также не имеет значения. Так как в игры играть не собираемся, то 512 мегабайт будет более, чем достаточно. Марка и бренд также значения не имеют, так как особая скорость от неё не требуется.

Один из самых важных пунктов в выборе комплектующих это видеокарта, все-таки основная функция HTPC - это отображение видео на экране телевизора. Тут стоит отметить, что согласно некоторым тестам для воспроизведения видео высокой четкости потребуется процессор 3ггц или двуядерный 2ггц. Но это ограничение довольно легко снимается системами аппаратного ускорением видео. Такие системы существуют у ATI это Avivo, у Nvidia – PureVideo. Стоит отметить также, что у Nvidia есть две технологии Pure Video и PureVideoHD. Первая из них предназначена только для mpeg2 формата, то есть с форматом высокой четкости она нам не поможет. Определить какие карты удовлетворяют требованиям очень просто - у ATI карты с Avivo имеют в своем названии HD, а у Nvidia PureVideo есть у всех карт, начиная с 8ой серии, тут стоит быть внимательным более ранние серии могут нести в себе только PureVideo, без HD.

Для вывода изображения на телевизор нам понадобится интерфейс HDMI, все современные телевизоры им оснащены, что нельзя сказать, к сожалению, о видеокартах. Но тут на помощь может прийти разъем DVI, который через переходник легко преобразуется в HDMI. DVI есть на всех современных видеокартах, так что проблем быть не должно. Но и тут есть ряд подводных камней. Во-первых, через переходник DVI-HDMI или через одноименный кабель очень сложно передавать звук, большинство драйверов блокирует эту функцию, и передача звука требует обильных плясок с бубном, различных для каждой видеокарты. Так что будьте готовы использовать звуковой кабель. Так как по нему будет передаваться аналоговый сигнал, то цена за более-менее длинный и качественный кабель (больше метра) будет довольно высока, в отличие от того же HDMI кабеля, который передает цифровой сигнал и до 7ми метров можно смело брать любой кабель, лишь бы он внешне внушал доверие. Вторым же камнем являются переходники ATI, они попросту не совместимы между сериями, так например переходник от 2ххх не подойдет к 3хххх и обратно. Если вы выбираете карту ATI, и в комплекте переходник не идет - будьте готовы к экспериментам.

Первоначально я выбрал карту ATI HD3450, подкупила меня низкая цена и тот факт, что Avivo хвалят больше чем PureVideoHD. Я никогда не доверял ATI, всегда помнил шутку с баша «ATI is like a bus. Big, red and has bad drivers», но понадеялся, что все это в прошлом. Я ошибся. Проблема драйверов ATI до сих пор жива. Карта попросту отказалась выводить изображение на телевизор в разрешениях отличных от 800х600, а тот факт, что при установки родных драйверов с диска разрешение можно было ставить любое, но не выше чем 800х600, говорит лишь о том, что проблема исключительно в драйверах и карте. Однако, стоит заметить, что на более дорогом телевизоре Sony все нормально показывалось, правда, с небольшим зеленым отливом. Так что можно лишь констатировать факт, что если вы используете бюджетный телевизор, то карта ATI вам, скорее всего, не подходит. Мой выбор пал на GeForce 8400GS, и я не промахнулся, карта сразу начала отображать все на экране, без плясок с бубном и каких бы то не было драйверов вообще.



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

Жесткий диск я выбирал совсем не долго, став жертвой рекламы, просто пошел и купил Western Digital, Green серии



Подкупило, как обычно, низкое энергопотребление. Цена также была совсем не высокой, так как особая производительность тоже мне не к чему, 5600-7200 оборотов мне вполне хватит. Объем же зависит от сугубо личных предпочтений, обычно стоит учитывать факт хранения на нем пары десятков фильмов DivX, десятка DVD и пару дисков BlueRay, так что 250гб минимально допустимый и достаточный объем. Кроме того покупка винчестера меньшего объема это совсем не выгодное вложение средств. Кроме винчестера можно купить и привод оптических дисков, тут тоже он абсолютно не важен, сейчас они все примерно одинакового качества.


Что касается операционной системы, то тут однозначно выбор за Windows Vista, производительность приложений с видео в нем ощутимо выше, чем в XP. Ну а те, кто хочет использовать Linux, столкнутся с проблемой кодеков. Под *nix системы довольно сложно найти достойный плеер, способный проиграть все. Под Windows таким плеером является KMPlayer. Этот корейский друг невероятно всеяден, кроме того он имеет в себе просто грандиозной количество настроек. Этот плеер все кодеки несет в себе и не требует установки сторонних кодеков, для просмотра обычного видео, что очень хорошо, ибо система не засоряется и дальнейшие проблемы как это обычно бывает при установке различных кодек паков сводятся к нулю. Кроме всего прочего нововведение одной из последних серий – Album Art - это именно то, что нужно для выбора фильмов при помощи пульта ДУ. KMPlayer также умеет подключать сторонние кодеки, что просто необходимо для активации аппаратного ускорения видео. Для этих целей необходимо будет установить PowerDVD или WinDVD, и из KMPlayer выбрать использование их кодеков для проигрывания x264 и AVC-1. А в настройках кодеков необходимо включить поддержку аппаратных средств.

Но это все внутри компьютера, а как же нам управлять всем этим добром? Тут многие поступают как с обычным компьютером, то есть кладут рядом клавиатуру, иногда мышь и радуются. На мой взгляд это не выход и портит все впечатление от работы устройства. Оптимальным было бы управление с пульта дистанционного управления. Некоторые корпуса оснащают пультами и приемниками и проблема решается сама собой. Можно также купить универсальные пульты от известных брендов. Но стоят они очень дорого да и гибкости софта не наблюдается. Я лично выбрал для себя тяжелый путь, а именно покупку ИК-приемника и настройку всего под себя. На сайте http://redray.ru/ можно купить ИК-приемник за более чем смешную цену, а пульт к нему подходит любой (либо можно купить сразу с пультом, но, на мой взгляд, всегда можно найти дома ненужный пульт), единственное, что нужно так это немного повозиться с настройкой клавиш.


Я выбрал для себя RadRay Standard с Com интерфейсом. Com интерфейс, потому что его можно подключить к материнской плате, не выводя провода наружу, что, согласитесь, удобно. В комплекте шла программа SlyControl, которая позволяет настроить практически любые действия по нажатия кнопок на пульте. Кроме того если активировать в SlyControl WinLirc сервер, то действия можно будет настраивать прямо в KMPlayer. Настроив все действия в KMPlayer, прямо в настройках горячих клавиш. Я настроил несколько клавиш в самом SlyControl, просто назначив на клавиши – клавиатурные сочетания. Стоит, однако, отметить что настройка в SlyControl дело нетривиальное, и требует определенных навыков, ибо вся настройка ведется путем исправления программных скриптов.

Если в двух словах описать настройку то это примерно так:
Сначала запускаем мастер настройки SlyControl и переходим в редактирование. Подносим пульт к приемнику и нажимаем на кнопку, после чего там где у меня на рисунке цифра 1 появится код клавиши, нажимаем несколько раз, чтобы убедиться, что код один и тот-же и нет ошибок.



После чего нажимаем кнопку «Добавить», которая находится рядом, и вводим имя кнопки. Когда закончим с кнопками, переходим собственно к скрипту.

KMPlayer = Group( Enabled ){
ShiftLeft = Hook( "REMOTE", "SHIFTLEFT", Enabled, Break ){
Break( ShiftLeft <> 0 )
Keyboard( "PRESS", "Shift+Left" )
}


Теперь объясню, что это значит. Этот пример вешает обработчик на кнопку на пульте, которую я назвал SHIFTLEFT, при нажатии на эту кнопку эмулируется нажатие SHIFT-Left на клавиатуре.

Сначала надо создать группу, группа в скрипте это некоторая область, которая активна или не активна в зависимости от определенных условий. Например, так можно делать чтобы одни и те же кнопки на пульте в разных приложениях вели себя по-разному. В данном случае наша группа называется KMPlayer и эта группа всегда активна, об этом говорит слово Enabled в скобках.
Внутри группы мы описываем наши обработчики. Вешаем так называемый хук (захват) на кнопку SHIFTLEFT. В рамках одной группы может быть сколько угодно хуков. В скобках указывается первое слово это ключевое, «REMOTE» означает, что кнопка с пульта ДУ. А далее идет название кнопки. Внутри идет сначала проверка сколько раз мы нажали кнопку, и, чтобы не было цирка, не обрабатываем, если нажато более одного раза (ключевое слово Break и условие в скобках). Ну а далее уже просто шлем, что на клавиатуре нажато сочетание Shift-Left. Как видите, все довольно просто, если хотеть немного. Если потребуется сложная логика, то придется повозиться. Кое какое описание написания скриптов есть на официальном сайте SlyControl.
Согласитесь, что когда такая страшная коробка лежит рядом с вашим моднейшим корпусом, это выглядит немного не стильно. Поэтому я в корпусе аккуратно просверлил дырочку размером под глазок приемника, а сам приемник разобрал.



После чего просто поместил приемник в корпус на двусторонний скотч.


Вобщем то на этом мои работы над созданием HTPC была завершены. Последним штрихом стало подключение Wi-FI адаптера через USB, чтобы можно было закидывать фильмы по сети с основного компьютера. И настроить его чтобы он автоматически подключался к моей домашней Wi-Fi сети. И я смог наслаждаться фильмами на большом экране.

4 комментария:

Анонимный комментирует...

Отличная статейка.

Scorp23 комментирует...

Здравствуйте,
Очень доступная, подробная статья. Я, в свою очередь, собрал свой HTPC совсем недавно собственноручно, подключил к ЖК тв 42" и у меня возник вопрос: как заставить показывает лицензионные двд-фильмы на разрешении ТВ 1080i (1920 на 1080 точек с 30Гц) с хорошим качеством? Пользуюсь win media center на ОС win7 ult, плеерами windvd2010, тем же kmp, и картинка в полноэкранном режиме с двд диска оставляет желать лучшего. присутствуют множественные шумы на однотонных темных/светлых кадрах. в то же время при просмотре HD рипов с разрешением не меньше 1280 - картинка идеальна. В моем железном двд-плеере пионер есть функция "удвоения" разрешения стандартного двд-видео, и поэтому он показывает те же двд-диски на этом же ТВ по HDMI на голову глаже, чище и вообще без каких либо нареканий чем HTPC. Получается что компьютер вчистую проигрывает обычному двд-плееру который в разы дешевле. А как вы смотрите ДВД-видео и устраивает ли вас его качество?

Unknown комментирует...

Очень грамотная статья с точки зрения сборки железа. Меня убила фраза о проблемах в Linux с кодеками и плеером - какие могут быть проблемы, если ваш KMP на винду портирован с пингвина и множество других плееров. Мой HTPC пользуется mythbuntu и ни гу гу

diogenie комментирует...

На Linux полно мультимедия софта. Например XBMC-медиацентр, которым можно управлять с ПДУ.