середа, 7 січня 2009 р.

Повелевай техникой! (продолжение)

А в начале было так.. Купил я себе железо под телевизор, которое бы мне и фильмы показывало (HD!), и спутник играло, да со спутника всё писало.

Скоро сказка сказывается, да не скоро дело делается. Купил я его в июле аж. Вначале думал - сейчас вот быстренько поставлю, сяду и буду радоваться жизни.
Сразу всё не получилось. Постоянно его ковырять тоже времени нет. Ночами после работы - здоровья нет. Короче, оно работало, да всё не так.

Нынче празднуем НГ. И выдались нам каникулы рабочие. И подумал я - а не взяться ли? Да, реально я мог выделить на htpc пару-тройку часов в день (у кого маленькие дети - поймут). Ковырял-ковырял, да выковырял!

Оно у меня наконец-то заработало, с чем себя и поздравляю!
Прежде всего огромное спасибо Женьке Борохову, который меня постоянно консультировал!
А дальше более технические подробности (вдруг кому-то понадобится):

- Спутниковая карточка TechnoTrend S-1401 упорно не хотела переключать diseqc под MediaPortal-ом (DVBDream нормально через BDA-интерфейс), я пробовал ковырять код MediaPortal-а - фигвам. Женька в самом начале подсказал решение (через ж, но что делать) - я тогда отказался от этой затеи, тем более что у меня оно тоже с diseqc не заработало. Не так давно DVBDream уже не мог переключать diseqc, после чего я купил новый, поставил - DVBDream работает, MediaPortal - нет. Каналья! Решил попробовать всё же через dvb-t. Хе, заработало! Но! Есть несколько тонкостей. Вешать транспондеры надо на целые частоты dvb-t диапазона (474000, 482000 и т.д.). А кнопка Load DVB-S Transponder List вешает на все частоты подряд (474000, 474167, 481833...) Руками это все делать очень неудобно. Я себе нарисовал скриптик (на Perl), который из вот этого (заметьте, в тексте встречаются команды lof, diseqc):


# freq, pol, s/r, diseqc, position, option, lof high, lof low, lof switch
# lof 10600000, 9750000, 11700000
#
# Hotbird 13E
# diseqc 1, 0, 0
# Cyfra +
10719000, V, 27500
# Jetix
10723000, H, 29900


Делает два файлика:



=========================================================================
# freq, pol, s/r, diseqc, position, option, lof high, lof low, lof switch
# lof 10600000, 9750000, 11700000
#
# Hotbird 13E
# diseqc 1, 0, 0
# Cyfra +
# 473833

# 474000
10719000, V, 27500, 1, 0, 0, 10600000, 9750000, 11700000
# 474167

#--------------------------------------------------------------------------------
# Jetix
# 481833

# 482000
10723000, H, 29900, 1, 0, 0, 10600000, 9750000, 11700000
# 482167

#--------------------------------------------------------------------------------

и


<country name="TT DVB-T" offset="167">
<carrier frequency="474000" bandwidth="7"></carrier>
<carrier frequency="482000" bandwidth="7"></carrier>
<carrier frequency="490000" bandwidth="7"></carrier>
<carrier frequency="498000" bandwidth="7"></carrier>

Кстати, tt tools тоже перепутали флаги position и option (вход AB это Position 1, Option 0, а не наоборот, как описано в той статье).
Да, всего каналов у меня теперь доступно конечно меньше... Но я бы не сказал, что от этого сильно страдаю. Я отфильтровал нужные мне транспондеры, меньше возни с EPG, плюс нет этого всего мусора с Hotbird.

Итак, у меня MediaPortal может видеть все три спутника.

- Пульт ДУ! О, это отдельная песня! Корпус я брал без пульта и iMon (ThermalTake Mozart) А вот в комплекте с телеком идёт пульт, у которого в левом верхнем углу есть переключатель (TV, DVD, Regza-Link) - и мне пришла "умная" мысль его применить к htpc. Олег мне спаял ИК-приёмничек на com-порт, мы это упаковали в корпус, и... А дальше идёт набор слов, которых лучше тут не произносить. Ибо MediaPortal вроде как умеет SerialUIR - но не завелось, на сайте среди плагинов есть WinLIRC плагин, но он только под старый MP (0.x), и т.д. В итоге я пульт завёл в WinLIRC, поставил IR Server Suite и нашёл плагин в MP для этого сервера. Худо-бедно заработало. А недавно обновил MP до релиза (1.0) и... плагин перестал работать. В итоге я просто взял WinLIRC плагин и на его основе нарисовал собственный, благо это не так страшно оказалось, как представлял. В итоге получилось ещё лучше, ибо у меня даже заработала кнопка "выброс" на пульте - выбрасывает лоток привода DVD (как отмечено в статье по ссылке выше - привод спрятан за шторкой и поэтому кнопка выброса лотка недоступна). Ура! Работает! ;)

- EPG. Тоже отдельная песня. Ибо есть xmltv плагин для TvServer, который умеет импортировать телепрограммы - осталось найти соответствующий источник. Хм. Избушка в итоге не работает (на неё ссылок больше всего), на http://www.teleguide.info/ нужных каналов мало, а более ничего не нашёл. Ок, копаем дальше. Есть WebEPG - утилита, которая умеет лазить по web-страничкам и выкусывать нужную информацию. Отлично! Но как обычно и тут вылезли грабли. Очень много сайтов с телепрограммами, которые очень тяжело парсить (vsetv.com, tv.tut.ua, tv.yandex.ru и т.д.) - вроде и написано просто, но WebEPG-ный парсер обламывается :( В итоге я остановился на следующей конфигурации - основной список берём с tv.bigmir.net, остаток с tv.ukr.net (там очень много таблиц, но WebEPG и берёт нормально), кое-какие российские с tv.mail.ru, ESPN European Classic с какого-то английского. Но пока ковырял WebEPG - нашёл несколько багов в нём, которые решил исправлять сам. Первое - sublinks-парсер не наследует кодировку от парсера основной страницы (пример - тут), второе - выходной tvguide.xml содержит локальное время без указания временной зоны, соответственно xmltv-импортер трактует это как UTC-время. Патчи отправил разработчикам, посмотрим, примут ли?
В итоге телепрограмма выглядит где-то так:





Кстати, вот пара полезных ссылок по WebEPG (в принципе легко находятся у них на сайте, но я всё же продублирую):


Ура! Основные задачи выполнены и можно наконец-то пользоваться htpc-ой в полном объеме. ТВ - показывает, передачи пишет, с интернета качает (srvany + uTorrent/WebUI - прекрасная связка), фотки показывает (хе, кто-то реально смотрит фотки на бытовом DVD-плеере? это же жуть!), HD-фильмы крутит (и не HD конечно тоже, но это же две большие разницы, как говорят в Одессе), файл-хранилищем выступает (dreambox на него тоже пишет потихоньку), даже терминал-сервером работает (с рабочего ноута захожу по RDP и перекодировку какую запускаю или ещё чего, dmaster там тоже пыхтит).

Что дальше? Ну конечно, всегда что-то осталось доделать:
- Travel (Sirius 5E, Arquiva) почему-то подвисает через пару секунд показа
- Усилитель с колоночками можно поставить
- В htpc уже 5 вентиляторов (1 - процессор, Zalman; в БП на вытяжку, рядом стоят два 60мм на вытяжку, и один на вход 100мм) плюс HDD - шум не сильный, но всё же есть. В итоге я отключил оба 60мм вытяжных (один кстати, уже начал жужжать! и это ThermalTake!?) Не сильно шумно - днём вообще не слышно, ночью вроде как есть немного. SpeedFan показывает следующее: System 49C, CPU 48C, HDD 38C.
- xmltv упорно не импортирует программы по каналу Channel 5 (Ukraine) - мож скобки мешают?


3 коментарі:

  1. Вот это работа! Поздравляю с успехом!

    ВідповістиВидалити
  2. Хы. Кстати, для travel просто у vplug выключаешь AutoECM и прочие.

    И действительно скобочки мешали для WebEPG 5-го канала.

    Так что у меня сейчас полное счастье! ;)

    ВідповістиВидалити