Ферум

Кардшаринг на Dvb картах под Linux

В теме 1 242 сообщения

Настроил связку "kaffeine +ffdecsawrapper" однако Discovery Science (HTB+) у меня глючно работает - после перезапуска карты включается и смотреть можно без проблем, но стоит переключить на другой канал и вернутся на него уже не выходит - остаётся только закрывать kaffeine и выполнять перезапуск карты, потом снова запускать kaffeine и канал работает, до первого переключения на другой.

systemctl stop ffdecsawrapper ; \
rmmod dvbloopback ; \
rmmod cx88_dvb ; \
rmmod videobuf_dvb ; \
rmmod dvb_core ; \
rmmod cx8800 ; \
rmmod cx8802 ; \
rmmod cx88xx ; \
rmmod videobuf_dma_sg ; \
rmmod cx88_vp3054_i2c ; \
 \
modprobe cx88_vp3054_i2c ; \
modprobe videobuf_dma_sg ; \
modprobe cx88xx ; \
modprobe cx8802 ; \
modprobe cx8800 ; \
modprobe dvb_core ; \
modprobe videobuf_dvb ; \
modprobe cx88_dvb ; \
sleep 3 ; \
systemctl start ffdecsawrapper

ls /dev/dvb
udevadm info -a /dev/dvb/adapter1/frontend0
ps ax | grep kaffeine
lsmod | grep -E "(dvb|cx88)"

Связку "kaffeine +ffdecsawrapper" настроил с wicardd и без, но с wicardd хуже работает: после перезапуска карты ничего не показывает, с одним ffdecsawrapper гораздо лучше.

Удивляет то, что раньше работал скан каналов:

w_scan -t2 -F -o21 -fs -cRU -sS36E0 -l 10750,10750,0

Теперь не работает, но еще до настройки связки "kaffeine +ffdecsawrapper" w_scan перестал находить каналы: видимо что-то обновилось, и скан каналов накрылся, простой scan работает, но находит мало (хуже чем w_scan раньше).

 

VDR по прежнему работает, но Discovery Science там не показывает что бы я ни делал, видимо транспондер слабый, но раньше там всё прекрасно работало а потом окалело и пришлось настраивать связку "kaffeine +ffdecsawrapper".

Всё в этой связке хорошо, но после переключения с Discovery Science на другой канал, чтобы вернуться назад (на Discovery Science) приходится перезапускать kaffeine и DVB карту. Но хоть так работает.

DVB-S2 карта у меня на базе CX24116.

Изменено пользователем Igor2

Поделиться сообщением


Ссылка на сообщение

Какой дистрибутив вы используете?

Честно говоря давненько не использовал уже kaffeine и не сканировал новый список каналов (  и vdr забросил , хватает двух дримбоксов ) с w_scan у меня и для vdr ни чего не получалось тем не менее надо будет попробовать.

Как это не странно неплохо работает mythtv 0.27 на Centos 7 В принципе компиляция не так сложна хотя инсталлировать ffdecsawrapper в этом дистрибутиве приходится вручную а настройка mythtv ну очень муторная.

Кстати какую версию w_scan вы использовали?

З.Ы. Вы спросите почему Centos ? То что это чисто серверная ОС мнение ханжей. Система полностью совместима с RHEL 7 и после грамотного добавления репозиториев может не хуже ubuntu получить почти любую графическую оболочку , по стабильности не сколько не уступает debian, срок поддержки больше....ну может быть сложнее с ноутбуками, инструменты разработки на высоте, естественно свои нюансы везде есть.

Собственно добрался до kaffeine, отсканировал только нтв`шные каналы, на трикале смотреть особо нечего а лишняя путаница толь мешает .

 

sqlite.db.zip

Изменено пользователем Ферум

Поделиться сообщением


Ссылка на сообщение

Мучаюсь на ОС Debian 8 Jessie (64Bit KDE), версии w_scan перепробовал все: одну из репозитория и одну собрал из исходников с офф. сайта w_scan.

Debian за это время переустанавливал несколько раз (по разным причинам), разницы нет, только заметил что последний релиз LiveDVD
в целом менее глючно работает, но устанавливая через whiptail заметил проблему: юзер root2 которого я создал на этапе установки, потом оказался несуществующим, из KDE запустил логин через консоль, создал его снова, перезагрузился - его опять нет, всё снёс и поставил через графический инсталлятор, и на этот раз всё было в порядке.
 

 

Поделиться сообщением


Ссылка на сообщение

Скорее всего успех дела зависит от dvb карты. У меня на omicom skaystar4 были проблемы со сканированием каналов в kaffeine при этом в vdr или tvheadend  карта работает идеально. С карточкой technisat skaystar USB HD  kaffeine работает хорошо но вот при последней установку mythtv в centos есть непонятные проблемы, пытаюсь разобраться но пока безуспешно.

Поделиться сообщением


Ссылка на сообщение

Самостоятельная установка   из исходников и настройка  кардшаринга в MythTV на  примере OS Centos 7.

Для опытных пользователей Linux.

 

Мотивация выбора ОС : 

1) на руках имеется почти десятилетний двухядерный компьютер AMD atlon 5200 2гб RAM

Видео Nvidia GT 9500 512мб RAM с поддержкой VDPAU, DVB карта SkyStar USB HD

HDD 80 гб для тестирования.

2) имеется желание построить стабильную рабочую станцию с использованием скромных ресурсов и обеспечить в ней комфортный просмотр спутникового тв в красивой графической обёртке на базе серверной операционной системы. За одно расширить свой кругозор в мире linux.

3) Centos 7 бинарно совместима с RHEL7 коммерческим дистрибутивом , унаследовала от него многие решения и так же имеет десятилетний срок поддержки, таким образом получаемый продукт должен стать надёжным и долговечным медиацентром исключающим неприятные сюрпризы ( аля ubuntu  после обновления ).

Итак представим что мы уже установили Centos 7 на ваш выбор это может быть установка сервера или с графическим окружением gnome хотя лично я предпочитаю что нибудь полегче и поудобнее. В любом случае для получения кодеков в семействе RedHat сушествуют сторонние репозитории  nux.dekstop и epel а для того что бы получить проприаретарный драйвер для видеокарт nvidia  с поддержкой VDPAU удобно  установить kmod-nvidia из репозитория elrepo

С подключенными репозиториями для вас будут доступны дополнительно такие окружения как XFCE, MATE, LXQT.  KDE я умышленно обошёл вниманием так как набор пакетов для него в сравнении с debian или kubuntu покажется весьма старым и убогим.

Для своей древней машинки  я использую окружение Trinity  Однаконадо всегда помнить что дополнительные источники это потенциально дополнительные проблемы и по завершению настройки я удалил записи о них  из /etc/yum.repos.d

Естественно для рабочей станции нам необходимы флеш и кодеки . Эти пакеты могут спокойно обновляться как и из родных репозиториев их источники я оставил доступными.

Из поиска в интернете я пришёл к выводу что хорошо собранных пакетов mythtv  для  Centos 7 нет ( как в прочем и для абсолютного большинства других дистрибутивов) по этому соберём программу самостоятельно благо с разработкой в данном дистрибутиве всё хорошо, в пределах свежести установленного софта конечно.

Готовим среду для  работы и сборки

sudo -i
yum install epel-release
yum groupinstall 'Development Tools'
yum groupinstall "X Window System"
yum install epel-release mariadb-server git qt-devel yasm libuuid-devel taglib-devel httpd php perl-DBD-MySQL perl-HTTP-Request-AsCGI perl-IO-Socket-IP perl-IO-Socket-INET6 perl-DBI perl-ExtUtils-MakeMaker MySQL-python libxml2-devel perl-libwww-perl python-pip libxslt-devel php-mysql MySQL-python qt-mysql nfs-utils
pip install lxml qtwebkit-devel perl-Proc-ProcessTable perl-Digest-SHA libv4l-devel openssl-devel libvdpau-devel libvdpau

Часть сборочных зависимостей я добавил к официальному руководству , они вычислены экспериментальным путём и необходимы для сборки модулей vdpau и эмулятора ffdecsawrapper.

Начнём именно с ffdecsawrapper порядок его установки и настройки похож на debian/ubuntu но имеются существенные нюансы.

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

в /usr/src и переходим туда 

cd /usr/src
git clone https://github.com/bas-t/ffdecsawrapper.git 
tar -xpJf linux-3.10.0-327.36.3.el7.tar.xz
cd linux-3.10.0-327.36.3.el7
patch -p0 < ../ffdecsawrapper/linux-3.7-dvb-mutex.patch
mkdir -p /lib/modules/$(uname -r)/updates/ffdecsawrapper
make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/media/dvb-core
cp drivers/media/dvb-core/dvb-core.ko /lib/modules/$(uname -r)/updates/
depmod
reboot

Собираем пропатченный на всякий случай под biss ffdecsawrapper

cd /usr/src/ffdecsawrapper
######BISS#########################
#Правим по пути
/usr/src/ffdecsawrapper/sc/PLUGINS/src/systems/constcw/constcw.c
#ищем в нём секцию 
return ecm->prgId==prgId && ecm->source==source && ecm->transponder==transponder;
#и просто обрезаем её до
return ecm->prgId==prgId;
#сохраняем изменения и можем приступать к компиляции 

Собираем читая выводы инсталлятора 

./configure

depmod -a

shutdown -r now
nano /etc/default/ffdecsawrapper
# Run as <username>, don't run as root.
# USER must be member of the video group in order to get access to adapters
# Do: usermod -a -G video <username> to add USER to the video group.

USER="ffdecsawrapper"


# Number of adapters dedicated to ffdecsawrapper
# Maximum is 4 because max 8 adapters are permitted in your system.
# (4 real + 4 loopback) If you need more, like me, recompile your kernel.
# So if you have 2 adapters, you need to set "-j a:c -j b:d" in JOIN=" "

NUMADAPTERS='1'


# Number of seconds delay you need before (re)loading dvbloopback and other components.
# On Debian 2 or 3 is fine

DELAY="1"


# Combine (some of) your real adapters with loopback adapters
# Example: assuming you have 5 real adapters installed in your system
# The first two of them are in use with Tvheadend or some other program
# Number 3, 4 and 5 will be used by MythTV
# Then you should set: -j 2:5 -j 3:6 -j 4:7

JOIN="--join 0:1"


# The directory in which you have placed the cam files needed
# to communicate with Oscam or other cardserver

CAMDIR="/etc/ffdecsawrapper"


# Other options to pass to ffdecsawrapper
# N.B.: One user reported that --buffer 8M works, and --buffer 16M crashes ffdecsawrapper.
# This probably has something to do with the (lack of) 'vmalloc' settings in /etc/default/grub.
# But I did not test it yet.

OPTS="--cam-budget --sid-allpid --sid-filt 20 --buffer 16M"
#
ENABLED="1"
nano /etc/systemd/system/ffdecsawrapper.service
[Unit]
Description=FFdecsawrapper
After=network.target  
Before=multi-user.target
StopWhenUnneeded=true

[Service]
Type=forking
Nice=-10
User=root
Group=video
PIDFile=/run/ffdecsawrapper.pid
EnvironmentFile=/etc/default/ffdecsawrapper
ExecStartPre=/sbin/modprobe dvbloopback
TimeoutSec=2
ExecStart=/usr/bin/ffdecsawrapper --join 0:1 --cam-budget --sid-allpid --sid-filt 20 --buffer 16M --daemon --pidfile /run/ffdecsawrapper.pid --cam-dir /etc/ffdecsawrapper --log /tmp/ffdecsawrapper.log
               
[Install]
WantedBy=multi-user.target

mkdir -p /etc/ffdecsawrapper
nano /etc/ffdecsawrapper/cardclient.conf
newcamd:server:port:0/0500/ffff:login:passwd:0102030405060708091011121314

Запускаем ffdecsawrapper

systemctl daemon-reload
systemctl enable ffdecsawrapper.service
systemctl start ffdecsawrapper.service

Полноценно он заработает посре перезагрузки системы.

Собираем  Mythtv в своей домашней папке, комады выполняет от пользователя с использованием sudo только для установки и изменения системных параметров.

mkdir ~/source
cd ~/source
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make -j3
sudo make install
cd ~/source
git clone https://github.com/MythTV/mythtv.git
cd mythtv/mythtv
git checkout fixes/0.27

./configure
make -j3
sudo make install

cd ~/source
cd mythtv/mythplugins
./configure
make -j3
sudo make install



По умолчанию все результаты сборки у нас легли в /usr/local/lib  доведём эту информацию системе

 nano /etc/ld.so.conf.d/mythtv.conf

 с содержимым

/usr/local/lib
sudo /sbin/ldconfig 

Добавляем для коллекции mythweb меняя соответственно имя пользователя mythtv ( из официальной хавтушки на имя своего пользователя)

З.Ы. Следует понимать разницу между простым пользователем и зарезервированным системным пользователем mythtv !

cd ~/source
git clone https://github.com/MythTV/mythweb
sudo ln -s /home/mythtv/source/mythweb/ /var/www/html/
sudo cp /home/mythtv/source/mythweb/mythweb.conf.apache /etc/httpd/conf.d/mythweb.conf

При установке зависимостей мы поставили в систему апач и форк мускула под названием mariadb  нам необходимо последовательно от суперпользователя поставить в автозапуск и запустить эти сервисы

systemctl enable httpd.service
systemctl start httpd.service

systemctl enable mariadb.service
systemctl start mariadb.service

Настроим mythweb

  ( на самом деле гораздо удобнее сделать это через графический редактор запущенный с правами root ) например

gksu gedit  /etc/httpd/conf.d/mythweb.conf

  и привести к виду

<Directory "/var/www/html/mythweb/data">
    # For Apache 2.2
    #Options -All +FollowSymLinks +IncludesNoExec
    # For Apache 2.4+
    Options +FollowSymLinks +IncludesNoExec
</Directory>
<Directory "/var/www/html/mythweb" >

дать права , помня о том как зовут нашего пользователя (не mythtv)

sudo chown -R apache: /home/mythtv/source/mythweb/data
sudo chmod -R g+w /home/mythtv/source/mythweb/data

Настроим временную зону , я живу по москве

gksu gedit /etc/php.ini
date.timezone = Europe/Moskow

Перезапустим апач

sudo systemctl restart httpd

Добавим в системного пользователя mythtv

sudo useradd --system mythtv

 Теперь самый ответственный момент в настройке. Дело в том что все настройки оборудования и каналов бэкенда  mythtv хранит как базу данных  mysql и как я понял большинство желающих работать с mythtv спотыкаются на этом моменте от части по тому что в англоязычных манах грубо нарушен порядок действий

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
mysql_secure_installation

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

localhost  на 127.0.0.1

mysql -u root -p
create database mythconverg;
create user 'mythtv'@'%' identified by 'mythtv';
create user 'mythtv'@'localhost' identified by 'mythtv';
set password for 'mythtv'@'%' = password('mythtv');
set password for 'mythtv'@'localhost' = password('mythtv');
connect mythconverg;
grant all privileges on *.* to 'mythtv'@'%' with grant option;
grant all privileges on *.* to 'mythtv'@'localhost' with grant option;
flush privileges;
exit;

забегая вперёд скажу что у меня всё настраивалось и сканировалось но при попытке воспроизведения каналов вылезала пресловутая ошибка "all tuners are currently busy "  гугл же не выдаёт по этому поводу ни одного вразумительного ответа.

 Помня пароль что мы задали для мускула подрузим информацию о временных зонах иначе дело дальше не пойдёт.

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

 Следующим этапом нам необходимо сделать автозапуск бэкенда mythtv (в официальных манах нет этой информации).

sudo nano /usr/lib/systemd/system/mythbackend.service
[Unit]
Description=MythTV Backend
After=ffdecsawrapper.service
Requires=ffdecsawrapper.service mariadb.service

[Service]
User=mythtv
EnvironmentFile=-/etc/mythtv/additional.args
ExecStartPre=/usr/bin/nm-online --quiet --timeout=5
ExecStart=/usr/local/bin/mythbackend --logpath /var/log/mythtv --quiet $ADDITIONAL_ARGS $MYTHTV_BE_OPTS
StartLimitBurst=10
StartLimitInterval=15m
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable mythbackend.service

но запускать его ещё рано и бесполезно

Вопреки последовательности официальных манов выполним от пользователя

mythtv-setup

 Впервые мы увидели графическую оболочку программы, системный язык присутствует и если не суетится всё достаточно просто. По минимуму нам надо настроить общие, карты захвата, источники, соединения входов и каталоги для записи.

У меня тема не дефолтная и скрины только там где я что то менял.

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

mythbackend

Что бы всё прошло успешно необходимо дождаться завершения процесса в консоли. В противном случае будет фатальная но исправимая ошибка.

Настало время запустить наш бэкенд

sudo systemctl start mythbackend.service
# у меня на карточке загорается зелёный светодиод а вообще лучше проверить
sudo systemctl status mythbackend.service

В большинстве случаев если мы меняли настройки в mythtv-setup  при выходе по клавише Esc будет предложено выполнить 

mythfilldatabase

в любом случае не забываем это сделать после запуска бэкенда.

 Если всё удачно можем запускать

mythfrontend

Откроется графическое окно программы где уже можно смотреть тв или выбрать и настроить тему, драйвер видео и звука и вообще очень много полезных и не очень графических настроек.

Интерфейс программы конечно требует некоторого привыкания но в целом он приятен и достаточно удобен а количество различных настроек для просмотра тв больше чем в XBMC/KODI 

Естественно для удобства пользования я добавил mythfrontend в меню приложений с подходящим лого и вынес на панель быстрого доступа.., но это уже зависит от ваших индивидуальных предпочтений.

В случае если всё таки что то пошло не так;

Не стоит отчаиваться или паниковать, достаточно остановить бэкенд и мускул

sudo systemctl  stop mythbackend.service
sudo systemctl stop mariadb.service

удалить рекурсивно базу данных mysql по адресу /var/lib/mysql

Запустить мускул

sudo systemctl start mariadb.service

 и повторно произвести настройку.

При подготовке материала использованы официальные маны http://brainrecursion.com/post/homeserver/myth-centos7-build/

https://www.mythtv.org/wiki/Build_from_Source

http://www.gossamer-threads.com/lists/mythtv/dev/594252

З.Ы. лайки ставить не надо но вы можете помочь материально если возникнут вопросы в которых я разобрался но забыл упомянуть мы всегда можем их обсудить.

post-997-0-29843800-1479727403_thumb.png

post-997-0-06369100-1479727453_thumb.png

post-997-0-00314000-1479727556_thumb.png

post-997-0-81741200-1479727614_thumb.png

post-997-0-93837300-1479727637_thumb.png

post-997-0-97154900-1479727669_thumb.png

post-997-0-01650600-1479727730_thumb.png

post-997-0-87878300-1479729796_thumb.png

post-997-0-45676200-1479729833_thumb.png

post-997-0-43001800-1479729851_thumb.png

Изменено пользователем Ферум

Поделиться сообщением


Ссылка на сообщение

Уважаемый

Ферум,  аплодирую стоя.tar -xpJf linux здесь,вроде, не все ок.Хотел спросить можно ли вашу инструкцию копировать на сайт puppyrus.Спасибо.Удачи,ВСЕМ

Поделиться сообщением


Ссылка на сообщение

Ключи к архиватору tar зависят от типа архива, в данном отдельно взятом случае это архив tar.xz но это не puppy и не slakeware и это не пакет а просто архив.

Материал находится в открытом доступе и вы можете использовать его как вам угодно, единственное по всем этическим понятиям справедливо упомянуть ресурс или автора у которых вы берёте информацию.

Поделиться сообщением


Ссылка на сообщение

Для пользователей kaffeine  список каналов НТВ+ с 36 градуса на 7.12.16 . Удалены дубли и  тесты.

sqlite.db.zip

Поделиться сообщением


Ссылка на сообщение

На руках у пользователей на руках у пользователей может оставаться устаревшее оборудование, которое уже не поддерживается современными linux дистрибутивами. Так же среди любителей linux много противников systemd. Мне же было просто интересно разобраться и хотя бы немного продлить жизнь уже мёртвому проекту sasc-ng.

Debian Wheezy + sasc-ng + kaffeine посвящается. Декабрь 2016 актуально с вложением.

apt-get install linux-headers-`uname -r` build-essential patch patchutils git-core libproc-processtable-perl libdigest-sha-perl subversion mercurial openssl gettext libssl-dev screen libv4l-dev libncurses5-dev libpng12-dev libtinfo-dev

Все действия я проводил для удобства в /usr/local/src

su
cd /usrlocal/src
hg clone https://bitbucket.org/liplianin/s2-liplianin-v35
wget http://www.vanbest.org/drupal6/sites/www.vanbest.org/files/linux-2.6.38-dvb-mutex.patch
patch -p1 < linux-2.6.38-dvb-mutex.patch -d linux
make config
# первый ввод по умолчанию, второй  y и ввод, далее по умолчанию почти до самого конца пока не увидим phillips
# обсуждалось http://www.forum.free-x.de/wbb/index.php?page=Thread&postID=24070 выбираем   и ввод, дальше по умолчанию до конца
# для ускорения сборки на многоядерных процессорах make с ключём j количество ядер +1 например 2 ядра J3 4 ядра j5
make -j5
make install
reboot

Копируем из архива каталог sc в /usr/local/src

это то что когда то было hg clone http://85.17.209.13:6100/sc

бисс в нём кстати уже поправлен если кому то надо.

cd /usr/local/src/sc
wget http://www.vanbest.org/drupal6/sites/www.vanbest.org/files/vdr-sasc-ng-2.6.38.patch
patch -p1 < vdr-sasc-ng-2.6.38.patch
chmod +x contrib/sasc-ng/configure
chmod +x contrib/sasc-ng/dvbloopback/module/config_dvb.pl
cd /usr/local/src/sc/contrib/sasc-ng/
./configure --dvb-dir=/usr/local/src/s2-liplianin-v35
make
make module

После этого устанавливаем dvbloopback как модуль и запускаем его

rm /lib/modules/`uname -r`/misc/dvbloopback.ko
cd /usr/local/src/sc/contrib/sasc-ng/
cp sasc-ng /usr/bin
cp /usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/* /usr/lib/
mkdir /lib/modules/`uname -r`/misc
/usr/bin/install dvbloopback.ko /lib/modules/`uname -r`/misc/
depmod
modprobe dvbloopback

Устанавливаем и настраиваем sasc-ng

mkdir /etc/camfiles
cd /usr/local/src/sc/contrib/sasc-ng/
cp sasc-ng /usr/bin/
cp /usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/* /usr/lib/

Скрипт запуска.

nano /usr/local/bin/runsasc

##################################

#!/bin/bash 

# Script to automate running of SASC-NG and Drivers 

# Path to SASC-NG binary 
SASCPRG="sasc-ng" 
# Path to CAM Directory 
CAMDIR="/etc/camfiles/" 
# Number of DVB Cards you have in your system dedicated to SASC-NG 
ADAPTERS="1" 
# Startup Options passed to SASC-NG.  Adjust according to your devices. 
#OPTIONS="-r 0 -v 2 -o" 
OPTIONS="-j 0:1 -l /home/user name/sasd.log --cam-budget --sid-allpid --sid-nocache --cam-dir" 
# Number of times runsasc will attempt to restart SASC-NG after a crash has occured (set to 0 for no limit) 
MAXTRIES=10 
# Minimum runtime required (in seconds) for SASC-NG to continue restart attempts 
MINRUN=20 

## End Configuration Section ## 

SASCCMD="$SASCPRG $OPTIONS $CAMDIR" 
KILL="/usr/bin/killall -q -TERM" 

# Detect whether the DVBLooopback driver is already loaded 
# and return 0 if it *is* loaded, 1 if not: 
function DriverLoaded() 
{ 
  grep -qse dvbloopback /proc/modules 
} 

# Load all DVBLoopback driver modules needed for your hardware: 
function LoadDriver() 
{ 
  modprobe dvbloopback num_adapters=$ADAPTERS 
  sleep 5 
} 

# Unload all DVBLoopback driver modules loaded in LoadDriver(): 
function UnloadDriver() 
{ 
  rmmod dvbloopback
} 

# Load driver if it hasn't been loaded already: 
if ! DriverLoaded; then 
   LoadDriver 
   fi 

LASTRESTART=$(date +%s) 
LOOPCOUNT=0 
while (true) do 
      if [ $LOOPCOUNT -le $MAXTRIES ] || [ $MAXTRIES -eq 0 ] ; then 
        eval "screen -D -m -S sasc-ng $SASCCMD &" 
        # Wait for SASC-NG to initialize then do rest 
        sleep 10 
        touch /tmp/SASC_COMPLETE 
      else 
        $KILL runsasc 
      fi 
      # Remember PID of SASC-NG process 
      PID=$! 
      # Wait for SASC-NG to end or signal to arrive 
      wait $PID 
      # Remember return value of SASC-NG 
      RET=$? 
      if test $RET -eq 0 -o $RET -eq 2; then exit; fi 
      TIMEOFDEATH=$(date +%s) 
      RUNTIME=$((TIMEOFDEATH - LASTRESTART)) 
      if [ $TIMEOFDEATH -le $(($LASTRESTART + $MINRUN)) ] ; then 
        echo "`date` SASC-NG crashed in $RUNTIME seconds. Minimum required runtime for SASC-NG is $MINRUN seconds. Killing runsasc process..." 
        $KILL runsasc 
      fi 
      echo "`date` Reloading DVBLoopback drivers" 
      $KILL sasc-ng 
      sleep 10 
      UnloadDriver 
      LoadDriver 
      LASTRESTART=$(date +%s) 
      LOOPCOUNT=$((LOOPCOUNT+1)) 
      echo "`date` Restarting SASC-NG $LOOPCOUNT time(s). Maximum retries set to $MAXTRIES" 
      done


в параметре OPTIONS указан, кроме всех нужных вещей путь к файлу лога sasc ng. Понадобится для отладки)

Далее устанавливаем необходимые права

chmod 755 /usr/local/bin/runsasc
chmod +x /usr/local/bin/runsasc

###############

nano /etc/init.d/sascd

#################

#! /bin/bash 
# 
# sasc start-stop script 
# 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
NAME="runsasc" 
DESC="SASC-NG" 
DAEMON="sasc-ng" 

ENABLED=0 
test -f /etc/default/sascc && . /etc/default/sascc 
test "$ENABLED" != "0" || exit 0 

rm -f /tmp/SASC_COMPLETE 

LOOP=0 
case "$1" in 
  start) 
         if ! ps -C sasc-ng > /dev/null 2>&1; then 
         echo -e "Starting $DESC: $NAME. \n" 
         runsasc & 
         until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do 
           sleep 1 
           LOOP=$((LOOP+1)) 
         done 
         if [ $LOOP -eq $TIMEOUT ]; then 
           echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n" 
           exit 1 
         fi 
         echo -e "SASC-NG startup time was $LOOP second(s). \n" 
         echo -e "SASC-NG startup sequence completed. \n" 
         else 
         echo -e "SASC-NG is already running. \n" 
         fi 
         ;; 
  stop) 
         if ps -C sasc-ng > /dev/null 2>&1; then 
         echo -e "Stopping $DESC: $NAME. \n" 
         sleep 3 
         killall -q -TERM $NAME 
         killall -q -TERM $DAEMON 
         sleep 5 
         rmmod dvbloopback.ko 
         else 
         echo -e "SASC-NG is not running. \n" 
         fi 
         ;; 
  restart|force-reload) 
         if ps -C sasc-ng > /dev/null 2>&1; then 
         echo -e "Restarting $DESC: $NAME. \n" 
         sleep 3 
         killall -q -TERM $NAME 
         killall -q -TERM $DAEMON 
         sleep 5 
         rmmod dvbloopback.ko 
         sleep 2 
         runsasc & 
         until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do 
           sleep 1 
           LOOP=$((LOOP+1)) 
         done 
         if [ $LOOP -eq $TIMEOUT ]; then 
           echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n" 
           exit 1 
         fi 
         echo -e "SASC-NG startup time was $LOOP second(s). \n" 
         echo -e "SASC-NG startup sequence completed. \n" 
         else 
         echo -e "SASC-NG is not running. \n" 
         fi 
         ;; 
  *) 
         N=/etc/init.d/$NAME 
         echo "Use: $N {start|stop|restart|force-reload}" >&2 
         exit 1 
        ;; 
esac 

rm -f /tmp/SASC_COMPLETE 

exit 0

Затем опять делаем доступ

chmod +x /etc/init.d/sascd
update-rc.d sascd defaults 21

И напоследок нам необходим еще один конфигурационный файл

nano /etc/default/sascc

с таким содержимым

# /etc/default/sascc 
# Default SASC-NG startup config 

# Change to 1 to enable sasc-ng's init-script 
ENABLED=1 

# DVBLoopback Device creation timeout (in seconds) 
TIMEOUT=60

Настраиваем под свои сервера

nano /etc/camfiles/cardclient.conf

###############

newcamd:server:port:1/0500/ffff:login:passwd:0102030405060708091011121314

 

Если используются статические ключи помещаем SoftCam.Key в /etc/camfiles  пример для biss ( constant cw ) во вложении для других кодировок  в исходниках  /sc/examples

После перезагрузки имеем второй виртуальный адаптер который может работать с kaffeine взять можно http://gomel-sat.bz/forums/index.php?showtopic=231&p=596181или http://gomel-sat.bz/forums/index.php?showtopic=231&p=596423 для 64 бит , Mythtv, VLC.

Проверено на debian 7 wheezy 64 бит   всё исходники есть во вложении 

https://yadi.sk/d/5WQS2kdj34zBr6

 при подготовке использованы мемуары http://gomel-sat.bz/forums/index.php?showtopic=231&p=565788 и исправления к ним http://shop.tbsdtv.com/blog/guide-for-using-sasc-ng-to-read-smartcard-on-linux-ubuntu-tbs-card-phoenix-card-reader-tbs3102.html

После обновления ядра достаточно  вновь установить пропатченные dvb драйверы

su
cd /usr/local/src/s2-liplianin-v35
make install
reboot

и всё продолжит работать.

Дальше увлёкся ностальгией debian  у меня с графической оболочкой Trinity https://wiki.trinitydesktop.org/Debian_Trinity_Repository_Installation_Instructions

это форк kde 3.5 есть в нём и медиаплеер kaffeine-trinity точная копия kaffeine 0.8.8 с обсуждения настройки которого начата эта тема более семи лет назад. Пришлось пакетик пересобрать как водится что бы в лучших традициях заработало vdpau в принципе всё хорошо работает. Правда каналы сканировать несколько неудобно тем не менее по транспордеру отсканировал весь нтв+ с 36 градуса.

channels.dvb.txt

SoftCam.Key.txt

Изменено пользователем Ферум
обновление информации

Поделиться сообщением


Ссылка на сообщение

Настроил на yamal 90, смотрю через kaffeine, там есть много каналов в biss, подскажите как мне раскодировать biss, что установить и как, ffdecsawrapper не получается скомпилировать (((((((( archlinux_86_64, prof 8000 

Поделиться сообщением


Ссылка на сообщение

настроил Tvheadend, каналы отсканировал, не могу теперь к kodi17 прикрутить, интерфейс совсем новый, live tv нету, в дополнениях тоже нету ((((((((((((

Поделиться сообщением


Ссылка на сообщение
19 часов назад, nekalanas сказал:

Настроил на yamal 90, смотрю через kaffeine, там есть много каналов в biss, подскажите как мне раскодировать biss, что установить и как, ffdecsawrapper не получается скомпилировать (((((((( archlinux_86_64, prof 8000 

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

По делу, сейчас лето и я не могу и не хочу сидеть за компьютером что бы разбираться в нюансах сборки ffdecsawrapper на ядрах 4.5+ и 4.10+ хотя в общих чертах ясно что всё делается с применением патчей из того же репозитория.

Если вы действительно пытались собрать ffdecsawrapper то должны были заметить что старые патчи не ложатся на исходники нового ядра ( свежее 4.1r.c). , если пытаться собрать без применения патча возникает ошибка как раз на стадии компиляции модуля dvbloopback.ko

Включаем соображалку и идём по адресу https://github.com/bas-t/ и наблюдаем все вкусности от нашего любимого  разработчика . Наибольший интерес лично у меня в данной ситуации вызывает исходник https://github.com/bas-t/dvbloopback. полюбуйтесь он кажется заряжен чуть не на все случаи жизни.

На сколько я понимаю мне при переходе на debian stretch ядро 4.9 потребуется всего лишь так же пересобрать dvb-core.ko используя 4.5-linux.patch вместо linux-3.13-dvb-mutex.patch а вот для Arch похоже нужно кастомизированное ядро с правленым конфигом. В прочем там есть документация а наш Голландский друг сам является арчеводом и вообще на сколько я понял достаточно контактный господин. Если бы я знал английский непременно бы с ним общался...но увы как говорил товарищ Саахов  в кавказской пленнице ...что бы наши желания всегда совпадали с нашими возможностями.

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти