Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Анонсы, Информация и Общие Темы > Подсказки, описания и FAQ по XBMC

 
 
Опции темы Опции просмотра
Старый 25.04.2010, 01:25   #1
seppius
Senior Member
 
Регистрация: 26.01.2010
Адрес: Растворился
Сообщений: 1,282
Post Дружим XBMC и HTS Tvheadend

Техническое задание:
* Просматривать спутниковые каналы на компьютерном ресивере.
* Тюнер может находится на другом компьютере (соединять через локальную сеть).
Даже может стоять на чердаке, рядом с тарелкой. При этом наличие видеокарты в системе не обязательно. Так что с успехом могут быть использованы старые системники с сгоревшей AGP картой
* Все должно работать под Linux.
* Все должно быть удобно

Решение:

I. Покупаем тюнер

Из опыта:
Был у меня ST-4200 (PCI модель) — в openSUSE 11.2 работает из коробочки, но нужно найти фирмварь и положить ее в /lib/firmware. Ходят слухи, что для улучшения качества приема требуется пайка кондюков на эту карту.

Сейчас у меня работает Tevii S-470 (PCI-E модель). Заставить работать пульт в ней оказалось сложнее, но работает отлично.
О том, как заставить работать пульт читайте тут http://forum.free-x.de/wbb/index.php...D=658&pageNo=4
Подойдут и USB тюнера или любые другие, хорошо работающие в Linux


Что купить, читайте тут http://forum.free-x.de/wbb/index.php...6409#post16409
Лучший вариант для PCI - TT-1600
Лучший вариант для PCI-E - Tevii S-470 (Tevii S-480)


Плату купили, вставили, подключили к круговому LNB (на Eurоtelsат - 36).
Включаем «аппарат» и смотрим в файловую систему. Если у вас появился путь /dev/dvb/adapter0 — то драйвер для тюнера уже есть в системе. Если устройство не работает, то надо подкинуть фирмварь. Если у Вас нет пути /dev/dvb/adapter значит драйвера у Вас нет, и нужно идти на сайт linuxtv.org за новыми дровишками.
Смотрим также в /dev/input — если там появился файл ir - то значит у Вас заработал и пульт

Чтобы убедиться в работоспособности тюнера, запускаем kaffeine и сканируем спутник (не важно какой) — главное, вы должны обнаружить какие либо значение уровня сигнала и качество (хотя бы > 0 ). Если нет такого, то это однозначно неработоспособный тюнер, - наберите в консоли команду dmesg и устраните все проблемы.

Никогда не покупайте тюнеры, которые еще не работают в Linux! Возможно они никогда и не заработают, как например Aver TV Satellite Trinity PCI-E. Полагаться на жирных котов - глупо.

II. И так тюнер у Вас работает...

Теперь мы должны сделать его доступным для XBMC.
Пока XBMC не наделена возможностями PVR, поэтому ищем ей друга - http://www.lonelycoder.com/hts/tvheadend_overview.html
HTS Tvheadend — программа с удобным web - интерфейсом, которая позволяет расшарить тюнер по локальной сети, и уже имеет newcamd клиент.

И так, качаем его (на сегодня этот http://www.lonelycoder.com/debian//d...nd_2.11.tar.gz).
А еще лучше слить последний
Код:
svn co svn://svn.lonelycoder.com/hts/trunk/tvheadend
git clone https://github.com/andoma/tvheadend
Заменяем в каталоге файл src/linuxtv_muxes.h — это нужно для того, чтобы в списке появился наш «любимый» спутник Eurоtеlsаtт (Хотя транспондеры можно вбивать и руками).


Потом стандартная процедура:
1) ./configure
2) смотрим, о чем ругался configure и устраняем проблемы
3) make (идет сборка...)

У меня configure отработал с ключами --disable-ahavi и --release

После того как все собралось - запускаем tvheadend под правами простого пользователя.
Пользователь должен состоять в группе video. Иначе программа не сможет работать с тюнером
Можно запустить под root`том, но это плохо с точки зрения безопасности (но и группы video не надо)

Чтобы tvheadend запускался всегда автоматически, - его надо демонизировать:
1. Берем скрипт (внизу, расчитан на openSUSE)
2. Правим его (слово htpc меняем на имя пользователя, под которым демон должен работать. Также проверяем путь к бинарнику)
3. Кидаем его в /etc/init.d
4. Включаем демон стандартными системными средствами (через Yast)
Можно подпихнуть фоновый запуск в конфиги вашего профиля, или создать задачу запуска при входе в КДЕ/Гноме.
Собственно, скрипт демона для SUSE (заменить слово htpc на имя юзера, под которым ему работать)
Код:
#!/bin/sh
#
# tvheadend     Starts and stops the tvheadend daemon
#
#
# processname: tvheadend
# description: tvheadend
#
### BEGIN INIT INFO
# Provides: tvheadend
# Required-Start: $network
# Should-Start:
# Required-Stop: $network
# Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: HTS tvheadend
# Description: HTS tvheadend
### END INIT INFO

udpxy_name=tvheadend
udpxy_bin=/opt/tvheadend/build.Linux/tvheadend


test -x $udpxy_bin || {
        echo 1>&2 "$udpxy_bin not installed"
        if test "$1" == "stop" ; then exit 0 ; else exit 5 ; fi
}

# Source function library.
. /etc/rc.status

# First reset the status of this service
rc_reset

case "$1" in
    start)
        pid=$(pidof $udpxy_name)
        if test -n "$pid"; then
          rc_failed 0
        else
          su htpc -c "$udpxy_bin -f"
        fi
        rc_status -v
        ;;
    stop)
        pid=$(pidof $udpxy_name)
        if test -n "$pid"; then
          kill -9 $pid
        else
          rc_failed 0
        fi
        rc_status -v
        ;;
    restart)
        $0 stop
        $0 start
        rc_status
        ;;
    status)
        pid=$(pidof $udpxy_name)
        test -n "$pid"
        rc_status -v
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

rc_exit
Еще вариант (более верный)
Код:
#!/bin/sh
#
# tvheadend     Starts and stops the HTS Tvheadend daemon
#
#
# processname: tvheadend
# description: tvheadend
#
### BEGIN INIT INFO
# Provides: tvheadend
# Required-Start: $network
# Should-Start:
# Required-Stop: $network
# Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: HTS tvheadend
# Description: HTS tvheadend
### END INIT INFO

tvh_name=tvheadend
tvh_bin=/opt/tvheadend/bin/tvheadend
tvh_pid=/var/run/tvheadend.pid

test -x $tvh_bin || {
        echo 1>&2 "$tvh_bin not installed"
        if test "$1" == "stop" ; then exit 0 ; else exit 5 ; fi
}

. /etc/rc.status

rc_reset

case "$1" in
    start)
        startproc -p $tvh_pid $tvh_bin -u xbmcuser -f -p $tvh_pid
        rc_status -v
        ;;
    stop)
        killproc -p $tvh_pid -TERM $tvh_bin
        rc_status -v
        ;;
    restart)
        $0 stop
        $0 start
        rc_status
        ;;
    status)
        checkproc -p $tvh_pid $tvh_bin
        rc_status -v
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

rc_exit


III. Далее запускаем браузер, и заходим на сервер HTS например так: http://127.0.0.1:9981 или используем другой IP если он установлен на сетевой машине (По умолчанию http доступ разрешен только с localhost, если нужна первичная настройка с другого хоста, то запустите tvheadend с ключом "-С" и добавляем в список разрешения хост с которого будет производится настройка и перегружаем демон без ключа "-C")


EPG разумеется у Вас еще не будет

Теперь настраиваем DVB устройство:

1. Указываем, что у нас подключен круговой LNB


Circular - значит круговой

2. Включаем автосканирование транспондеров и выбираем спутник


3. Подключаем какую-нибудь шapoвню с по запросной оплатой
Логины, пароли, порты - берем при подписке. DES ключ указан на странице подписки (при вставке двоеточия можно не ставить - hts сам сообразит)
Учтите также, что имена серверов шapинга может блокировать провайдер (видимо по сговору с плюснутыми или др. жадными субъектами) Поэтому я ввел IP адрес сервера (его можно узнать через Whois).
Позеленевшая строка говорит о том, что camd сервер активен, подключение в порядке.


4. Ждем, пока транспондеры не отсканируются (смотрим справа в разделе General)
5. В списке «services» видим все каналы


6. Теперь возвращаемся в раздел General вашего адаптера и жмем "Map DVB services to channels" (процесс займет некоторое время). Внимание! В этот момент Вас может забанить гаринг-провайдер, за частую смену ключей. Скорей всего так и произойдет если вы используете сервис с абонплатой. У провайдеров с позапросной оплатой такое явление практический отсутствует.
Задавать имена каналам можно и в ручную (в разделе Services), а удалять каналы в закладке Channels. Так приходится делать, если шура не дала вовремя ответ.
7. Теперь запускаем xbmc и в категории «видео» добавляем новый источник
Имя: 'Спутник' - или любое другое, которое вам нравится.
Путь: htsp://127.0.0.1 (127.0.0.1 — в случае если HTS установлен на локальной машине, или IP адрес сетевой машины, как у меня)/ Внимание! Проверьте настройки доступа в HTS. Разрешите доступ из LAN если у Вас возникла ошибка.


'*' - значит любой юзер или пароль

И так, мы видим каналы «прямой трансляции»


Жмем на любой канал и наслаждаемся результатом


Внимание! В tvheadend есть ошибка, котрая приводит к сканированию не верных частот, поэтому советую почитать этот пост и править linuxtv_muxes.h вручную. Вазелин вам в руки...
Вложения
Тип файла: zip linuxtv_muxes.h.zip (51.6 Кб, 1706 просмотров)

Последний раз редактировалось seppius; 01.10.2012 в 20:25.
seppius вне форума   Ответить с цитированием
 

Метки
dvb-s, hts, linux, playlist, tvheadend, xbmc
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 03:05. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.