MultiRoom на AzBox своими руками! Описание.

CrazyAleks

Профи в Сат-ТВ
Хорошее дело должно начинаться с хорошей прилюдии,
позволю себе начать лирическим отступлением :)

В бытность студентом выпускного курса технического ВУЗА в середине 90-х у нас гулял вот такой профессиональный анекдот:
Советский инженер спрашивает у американского
- У нас такое хорошее фундаментальное образование, а вы учитесь кое как в весьма ограниченных прикложных областях,
но у вас такая высокая зарплата, а мы еле перебиваемся от зарплаты до зарплаты, ПОЧЕМУ?
На это американский инженер отвечает
- Вы занимаетесь тем, что вам интересно... а мы тем, за что ПЛАТЯТ!!!

В форуме много элементарных вопросов которые решены и разжёваны,
уровень большинства вопросов настолько элементарен, что любой вместо того чтобы спрашивать - мог посидеть, подумать и самостоятельно решить их. Заниматься ответами на вопросы "по кругу" не сложно, но НЕ интересно.
С другой стороны возможности приёмника настолько велики, дополнительного ПО куча, пользовательские крипты позоляют сделать "чёрта лысого", это труднее чем отвечать на банальные вопросы.

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

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

MultiRoom на приёмниках AzBox.
В качестве сервера используется приёмник Premium+ с двумя тюнерами DVB-S2, в функции сервера входи запись, хранение и предоставление общего доступа к записанным передачам и записанным фильмам по протоколу NFS.
В качестве клиент используется приёмник Ultra с тюнером DVB-S2, в функции клиента входит доступ к контенту с сервера и воспроизведение записанных передач, файлов и просмотр спутникового ТВ.
(форум для профессионалов, а настройки весьма объёмны и многогранны, постараюсь обходиться ссылками и минимальными комментариями, если что-то будет сложно для повторения - попробую объяснить нидже).

1. Устанавливаем HDD в сервер, разбиваем его на разделы и форматируем средствами сомого приёмника.
раздел /dev/hdb1 в ext2 для хранения дополнительного ПО и мультимедийных файлов.
раздел /dev/hdb2 под swap, важно для одновременной работы нескольких ресурсоёмких приложений.
Подробности тут: http://forum.sat-expert.com/azbox-f...ail-podkachki-swap-na-azbox-6.html#post322617

2. Устанавливаем Плагин ipkginst как описано тут: http://forum.sat-expert.com/azbox-faq-manuals-docs/16646-ipkg-dlia-azboks.html#post247690
Чтобы всё прошло идеально - указываем в файле /PLUGINS/plugins.conf
точный адрес репозитария http://ipkg.medialounge.ru/azbox/plugin/
Проделываем по инструкции установку Планина и установку пакета ipkg.
Если всё сделано верно - после перезагрузки должна быть смонтирована папка "/opt" и запускаться исполняеммый файл "ipkg".

3. Устанавливаем ПО portmap и unfs3 (так называется ПО сервера NFS скомпилированного под процессор Sigma)
Процесс и результат описан тут: http://www.pristavka.de/index.php?P...ca639bd2a324acdc&topic=4711.msg57759#msg57759

4. Настраиваем общий доступ по NFS и права доступа к файлам.
Настройки сервера стандартны, список папок для общего доступа находится в файле /opt/etc/exports
Для моих целей - предоставления доступа ко всему контенту включая записанные передачи в файле создал такую строку:
/DATA/hdb1/recordfile 192.168.0.0/255.255.255.0(rw,no_root_squash)
/DATA/hdb1/recordfile - расшариваемая папка
192.168.0.0/255.255.255.0 - разрешён доступ устройств с адресами 192.168.0.0-255
rw - права на чтение и запись
no_root_squash - если запрос пришёл от удалённого пользователя root предоставлять доступ к локальным ресурсам как локальному пользователю root
Сохраняем файл, рестартуем сервис (позволяет обойтись без перезагрузки)
"killall unfsd" (убиваем)
"/opt/sbin/unfsd -e /opt/etc/exports" (запускаем заново)

5. Подключаемся к серверу с клиента.
Так как приёмник БЕЗ HDD, у него не совсем правильная структура папок и недоступны пункту меню "Запись" и "Записанный файл"
Обманываем приёмник как написано тут: http://forum.sat-expert.com/obsujde...t-azboxom-po-seti-na-komputer.html#post317862
Втыкаем в приёмник Flash, можно ту с которой устанавливали ПО и ищим, куда приёмник её смонтирует и создаст нужные папки папки.
Flash нашлась тут:
MMP[DATA]$ ls /DATA/usb1/sda1
patch.bin* pvrfile/ recordfile/
При этой операции пункты меню "Запись" и "Записанный файл" стали доступны.
Подключаемся к серверу (монтируем расшареный каталог Premium+ в целевой каталог для записи Ultra):
MMP[DATA]$ mount -t nfs 192.168.0.6:/DATA/hdb1/recordfile /DATA/usb1/sda1/recordfile
проверяем что примонтировалось и с какими параметрами по умолчанию:
MMP[DATA]$ mount
/dev/sda1 on /DATA/usb1/sda1 type vfat (rw,noatime,nodiratime,nosuid,nodev,noexe
c,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,utf8)
192.168.0.6:/DATA/hdb1/recordfile on /DATA/usb1/sda1/recordfile type nfs (rw,v3,
rsize=32768,wsize=32768,hard,lock,proto=udp,addr=192.168.0.6)
отлично, размер буферов на чтение и запись максимальный, протокол UDP который не гарантирует доставки, но в нормальной локальной сети 100Мегабит/с показвает ЛУЧШУЮ производительность.

6. Получаем удовольствие от проделанной работы и полученного результата.
выбираем пункт меню "записанная передача"
на экране телевизора перечень записей с приёмника-сервера AzBox Premium+
Выбираем одну из записей, воспроизводим через сеть.
На записанных у меня фрагментах с HD каналов воспроизведение плавное, рывков и артифактов на изображении - нет, запаздывания звука и щелчков - нет.
Таким же способом, расшарив и подмонтировав соответсвующие папки на клиенте будут воспроизводиться медиа файлы с Torrent, по отзывам владельцев приёмников при работе по протоколу NFS хорошо воспроизводятся файлы с битрейтом до 30 мегабит/с (обязательно проверю в своей конфигурации где и сервером и клиентом являются спутниковые приёмники AzBox).

7. Последний штрих в виде скрипта для автоматического подключения к расшареной папке если сервер по какой-то причине отключался и вновь включён.
Пользовательские скрипты у AzBox лежат по тут /DISK2/etc/start.d
создаём файл "S95mynfsmnt", как я понял, эти файлы запускаются системой в порядке возрастания цифр в имени после буквы "S".
Нам нужно стартовать когда система уже активировала сеть и подключила локальный HDD или USB Flash (этим обусловлен выбор цифр 95).
Файл должен быть таким:
------------------
#!/bin/sh
#
# My NFS mount script for AzBox
# /DISK2/etc/start.d/S95mynfsmnt
# (C) CrazyAleks

echo "working..." > /tmp/mynfsmnt.log
while [ $(mount | grep ,soft,nolock,proto=udp,addr= | wc -l) = 0 ]; do
mount -t nfs 192.168.0.6:/DATA/hdb1/recordfile /DATA/usb1/sda1/recordfile -o nolock,soft

# write in this plase other mount command's

sleep 60
done
echo "mount OK" > /tmp/mynfsmnt.log
------------------
Сохраняем, даём права 755 (для того чтобы файл стал исполняемым)
Перегружаем приёмник и должно работать как часики.

Лекцию по программированию на Shell с вашего позволения писать не буду подмигивание
Суть скрипта:
Пытается монтировать папку с сервера по протоколу NFS, если это не удалось - повторяет попытку через 60 секунд.
Когда папка подключена - скрипт завершает свою работу.
Процесс работы и результат контролировать так:
ps | grep mynfsmnt
cat /tmp/mynfsmnt.log
mount

Мне самому понравилось то, что у меня получилось :pardon:
 
Последнее редактирование:
Сверху