TVIP

  • 4 Ответов
  • 3489 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн KodIPTV

  • Пользователь
  • **
  • 29
  • +0/-0
TVIP
« : 02 Ноября 2020, 16:06:21 »
Всем привет. Я уже начинал вопрос, связанный с автозапуском  TVIP, при использовании связки TVLINK+TVHEADEND (serv)+TVIP,  но потом как-то подзабылось это. Сейчас опять вернулся к этому вопросу.
Итак в чем собственно вопрос: при изменении в файле shell.conf значения KODI на TVIP,  чтобы при включении ТВ-бокса автоматически  запускалась оболочка TVIP, получаем ошибку " ОШИБКА ЗАГРУЗКИ КАНАЛОВ"!
Если выйти из TVIP и снова запустить его вручную, то все работает как надо. Alex подсказал что причина (и это видно по логу) в том что TVIP запускается до того как TVLINK отдаст плейлист в TVHEADEND (serv). Поэтому необходимо организовать паузу перед запуском TVIP и для этих целей было предложено использовать файл tvip-autorun.
Однако какую бы задержку я не прописывал в этот файл, это никак не влияет на время запуска TVIP (он всегда стартует приблизительно через 4 сек. после запуска TVLINK).
Для того чтобы проверить что  tvip-autorun  выполняется написал вот такой скрипт:
Код
date > /storage/service/date 
while ! [[ -f /storage/.config/tvlink/log/tvlink.log ]]
do
sleep 1
done
date >> /storage/service/date
let rez=1
while [[ $rez -ne 0 ]]
do
cat /storage/.config/tvlink/log/tvlink.log | grep "Playlist tvheadend end."
let rez=$?
done
date >> /storage/service/date
Этот скрипт ожидает когда TVLINK создаст log файл и затем ждёт когда в логе появится запись
"Playlist tvheadend end."  что будет означать что TVHEADEND получил ссылку на плейлист. Date используется три раза чтобы зафиксировать время когда 1) скрипт начал выполняться, 2) сознался лог файл, 3)  tvheadend получил плейлист от tvlink.
 После перезагрузки тв-бокса он завис на лого ALEXelec,  при этом подключившись к нему по ssh, я увидел что все три времени были зафиксированы и записаны в файле date.
Но в journalctl все-равно зафиксировано что запуск tvip был через 4 сек. после tvlink. В общем у меня подозрения что tvip-autorun не до запуска TVIP, а после него.
Это подтверждается тем, что записав в tvip-autorun одну единственную строку sleep 30, у меня после ручного запуска tvip воспроизведение начинается с задержкой около 30сек.
Что подскажете по этому поводу? Как заставить TVIP запускаться с задержкой???

*

Оффлайн Alex

  • Администратор
  • Ветеран
  • *****
  • 1462
  • +14/-0
Re: TVIP
« Ответ #1 : 02 Ноября 2020, 17:11:27 »
Что подскажете по этому поводу? Как заставить TVIP запускаться с задержкой???

Попробуйте сделать такой /home/tvip/tvip-autorun:

Код
#!/bin/sh

TIMEOUT=30
for i in $(seq 1 $TIMEOUT) ; do
    if [ -e /run/tvlink ]; then
        break
    fi
    sleep 1
done

TIMEOUT - подберите сами.
Alex@ELEC

*

Оффлайн KodIPTV

  • Пользователь
  • **
  • 29
  • +0/-0
Re: TVIP
« Ответ #2 : 02 Ноября 2020, 23:01:33 »
Проверил с Вашим скриптом Alex. Результат одинаков при значениях переменной TIMEOUT=30, 60 и 300. Во всех трех случаях при автозапуске TVIP на экране появляется сообщение "Ошибка загрузки каналов".Вот что дает journalctl в этих случаях:
TIMEOUT=30
Код
AlexELEC: 3.2.8 (S812.KII.arm)
AlexELEC:~ # journalctl | grep "IPTV"
Nov 02 21:40:53 AlexELEC systemd[1]: Started TVLINK IPTV streamer/aggregator.
Nov 02 21:40:58 AlexELEC systemd[1]: Starting TVIP is IPTV shell...
Nov 02 21:41:05 AlexELEC systemd[1]: Started TVIP is IPTV shell.
Nov 02 21:41:11 AlexELEC sh[2155]: 2020-11-02 21:41:11.132 [   INFO] iptv: m3u parse: 0 new mux(es) in network 'IPTV-TVLINK' (total 630)
AlexELEC:~ #
TIMEOUT=60
Код
AlexELEC: 3.2.8 (S812.KII.arm)
AlexELEC:~ # journalctl | grep "IPTV"
Nov 02 21:46:14 AlexELEC systemd[1]: Started TVLINK IPTV streamer/aggregator.
Nov 02 21:46:21 AlexELEC systemd[1]: Starting TVIP is IPTV shell...
Nov 02 21:46:28 AlexELEC systemd[1]: Started TVIP is IPTV shell.
Nov 02 21:46:33 AlexELEC sh[2165]: 2020-11-02 21:46:33.136 [   INFO] iptv: m3u parse: 0 new mux(es) in network 'IPTV-TVLINK' (total 630)
AlexELEC:~ #
TIMEOUT=300
Код
AlexELEC: 3.2.8 (S812.KII.arm)
AlexELEC:~ # journalctl | grep "IPTV"
Nov 02 21:49:05 AlexELEC systemd[1]: Started TVLINK IPTV streamer/aggregator.
Nov 02 21:49:11 AlexELEC systemd[1]: Starting TVIP is IPTV shell...
Nov 02 21:49:18 AlexELEC systemd[1]: Started TVIP is IPTV shell.
Nov 02 21:49:23 AlexELEC sh[2161]: 2020-11-02 21:49:23.188 [   INFO] iptv: m3u parse: 0 new mux(es) in network 'IPTV-TVLINK' (total 630)
AlexELEC:~ #
Видно что независимо от TIMEOUT, TVIP стартует после запуска  TVLINK через 5-7 сек.
Мне все-таки кажется что tvip-autostart это скрипт, который выполняется во время запуска TVIP, а не перед ним непосредственно.

*

Оффлайн Alex

  • Администратор
  • Ветеран
  • *****
  • 1462
  • +14/-0
Re: TVIP
« Ответ #3 : 03 Ноября 2020, 11:36:50 »
Мне все-таки кажется что tvip-autostart это скрипт, который выполняется во время запуска TVIP, а не перед ним непосредственно.
tvip-autostart - точно запускается перед стартом TVIP. Почему не срабатывает - не знаю, когда будет возможность проверю.
Alex@ELEC

*

Оффлайн Alextuzov

  • Постоялец
  • ***
  • 192
  • +1/-0
  • Александр
Re: TVIP
« Ответ #4 : 17 Февраля 2021, 10:12:42 »
tvip-autostart - точно запускается перед стартом TVIP. Почему не срабатывает - не знаю, когда будет возможность проверю.
Такая же история и у меня. Попробовал этот авторан - не срабатывает, сколько задержку не ставил. Бокс S805. Работает только если вначале загрузиться в kodi, а потом войти в TVIP
1. LibreELEC (ae-fork) GBM x86_64_v2 v12.0-rc2-01- основной Box IPTV
2. Intel PC GL2 LibreELEC (ae-fork) GBM x86_64_v2 v12.0-rc2-01 (как сервер TVLINK)
3. Beelink S922 CoreELEC (ae-fork) 20.3-Nexus_ae-01
4. Dealdig S912 AlexElec v 3.3.9 (S9XX-DualBoot)
5. T99Mini S905D CoreELEC (ae-fork) 20.3-Nexus_