TVLINK — настройка и использование

«TVLINK» – ретранслятор и агрегатор IPTV каналов с удобным веб-интерфейсом. Сам по себе «TVLINK» ничего не вещает, он только ретранслирует потоки, указанные пользователем (IPTV-плейлисты). Через плагин «PVR TVLINK Client» (для KODI) программа поддерживает IPTV-архивы.

Главная задача программы – предоставить бесперебойную работу IPTV-каналов. Вы можете в автоматическом или ручном режиме объединять потоки одного и того же канала с разных источников, а «TVLINK» в зависимости от приоритета источника и его работоспособности будет выбирать и ретранслировать лучший поток.

В качестве модуля для буферизации потоков используется «Streamlink». Это в свою очередь дает возможность смотреть Live-трансляции тв-каналов с YouTube.

На разработку этой программы вдохновил проект «Пазл-ТВ» ув. @TDW1980 за что Ему отдельное спасибо.

Новые версии и ссылки на загрузку публикуются на форуме.

 

Установка и обновление TVLINK в системе Alex@ELEC.

В «CoreELEC ae-fork» все действия аналогичны.

Все очень просто: «Настройки» — «ТВ сервисы» — «TVLINK сервер». При первой активации программа будет установлена и запущена.

Опция «Обновление» — позволяет установить новую версию (если такая есть) с сохранением всех настроек пользователя.

Если Вам нужно сохранить настройки программы — это можно сделать, скопировав каталоги:

  • «/storage/.config/tvlink/data» — все настройки программы
  • «/storage/.config/tvlink/logos» — пользовательские логотипы каналов

Начиная с версии 1.2.2 доступно обновление программы (с сохранением настроек) из веб-интерфейса. Если доступна новая версия, на странице «About» появиться сообщение.

Нужно нажать «Update program…» и подождать около 20-и секунд пока программа обновиться.

 

Установка TVLINK на роутер «NanoPi R1».

Установка TVLINK в Ubuntu 18.04/20.04.

Скачайте последнюю версию «TVLINK» для архитектуры x86_64 или arm7.

Создайте каталог «/opt/tvlink» и распакуйте в него дистрибутив (архив TVLINK-*.tar.bz2).

На этом установка самой программы закончена. Но… чтобы она заработала необходимо установить дополнительные пакеты (зависимости).

Выполните последовательно команды в терминале для Ubuntu 20.04 (действия показаны от «root»):

add-apt-repository ppa:deadsnakes/ppa

apt install python3.7 libpython3.7

cd /usr/lib/x86_64-linux-gnu

ln -s libpython3.7m.so.1.0 libpython3.7.so.1.0

add-apt-repository ppa:nilarimogard/webupd8

apt install python3-pycountry python3-requests python3-socks python3-websocket python3-pycryptodome python3-isodate python3-lxml

apt install rename

cd /usr/lib/python3/dist-packages/Cryptodome

find -name *cpython-38-x86_64-linux-gnu.so -exec rename ‘s/\.cpython-38-x86_64-linux-gnu//gi’ ‘{}’ \;

Для Ubuntu 18.04 установка зависимостей показана здесь.

Теперь можно проверь «TVLINK». Запустите в терминале:

/opt/tvlink/tvlink.py

Если все в порядке, Вы увидите следующее:

Проверьте работу веб-интерфейса по адресу «http://ip-address:2020».

Завершите работу программы нажав «Ctrl + C» в терминале.

Скачайте файл «tvlink.service» поместите его в каталог «/etc/systemd/system».

Добавьте «TVLINK» в автозагрузку:

systemctl enable tvlink

Перезагрузите систему и убедитесь, что все в порядке.

 

Веб-интерфейс TVLINK.

По умолчанию сервер использует порт – 2020. То есть чтобы попасть в веб-интерфейс Вам нужно набрать в браузере строку «http://ip-адрес-приставки:2020». В настройках программы есть возможность изменить порт на любой другой, но не меняйте его без острой необходимости. Опция «Обновление» — привязана именно к порту 2020 программы и при изменении порта может работать некорректно.

Настройки источников каналов «Source».

На вкладке «Source» есть три группы источников:

  • Playlists sources – пользовательские плейлисты (m3u)
  • Site sources – трансляции тв-каналов с разных сайтов
  • Authorized sources – доступны для тех, у кого есть аккаунт

Настройки будут показаны для группы «Playlists sources». За исключением того, что для этой группы источников нужно задать (выбрать) имя «Playlist name» и адрес (путь) «Playlist path» источника – остальные настройки аналогичны для всех групп.

Если Вы добавляете плейлист с удаленного адреса (url):

Если Вы добавляете локальный плейлист который лежит в каталоге «/storage/downloads»:

Как видите, в этом случае нужно добавить «file://» к полному пути файла. Ссылка должна выглядеть так: «file:///storage/downloads/playlist.m3u».

По поводу выбора имени плейлиста (Playlist name), это очень важно. Имя должно содержать только латинские буквы и не должно содержать специальных символов (пробелы, тире и т.п.). Регистр значения не имеет.

При создании источника к имени будет добавлен префикс «m3u_». Кнопки рядом с «именем» — это информация об источнике и удаление источника. На этом отличие от других групп источников заканчивается.

IPTV архивы.

Начиная с версии «2.0.0» TVLINK поддерживает просмотр IPTV-архивов (если провайдер предоставляет такую опцию).

На данный момент поддерживаются такие режимы архивов:

  • append — как у потоков Zabava
  • shift — как у Edem / ILookTV
  • flussonic (HLS-формат) — как у Glanz

Вся настройка архивов заключается в том, что нужно указать тип архива (если не знаете какой — спросите у Вашего IPTV-провайдера) в названии источника. Это делается добавлением суффикса с типом архива «_типархива». Например:

  • Zabava_append — архивы «append»
  • Edem_shift — архивы «shift»
  • Glanz_flussonic — архивы «flussonic»

Все остальное «TVLINK» сделает автоматически, ни каких дополнительных настроек архивов в «PVR TVLINK Client» не нужно (впрочем, их там и нет).

  • «Enable» — включает/отключает источник. Если каналы (ссылки) этого источника добавлены в список вещаемых каналов «Channels», то при отключении источника его ссылки не будут использоваться. И если у канала (в Channels) нет ссылок из других источников, то и канал будет удален из списка «Channels» (станет не доступен в плейлистах TVLINK). Это же относится и к включению/выключению группы источников. В нашем случае, если отключить «Playlists sources» — все ссылки источников этой группы станут не доступны в «Channels».
  • «Prio» — задает приоритет источника (от 1 до 20). Чем ниже значение, тем выше приоритет. Если оба источника содержат один и тот же канал, то первым будет использован поток из источника с более высоким приоритетом. Если этот поток не работает или прекратил вешание в процессе работы, TVLINK переключиться на следующий источник с более низким приоритетом. И так по кругу. Забегая вперед скажу, что в информации по каналу на вкладке «Channels» ссылки на потоки перечислены в порядке их приоритета (так как их будет запускать TVLINK). Вверху самый высокий, внизу самый низкий.

Также в контексте одного источника, в приоритете будет поток с самым длинным названием канала. Так как IPTV-провайдеры часто дают версии одного и того же канала но с разным качеством — они добавляют в название какую-нибудь приставку (например: «FHD», «orig», «PREMIUM+» и т.п.). Как правило потоки с такой приставкой имеют более высокое качество картинки. С учетом сказанного выше, например, потоки канала «Discovery Science HD», из одного источника, будут идти в таком порядке:

«Discovery Science HD PREMIUM+»

«Discovery Science HD orig»

«Discovery Science FHD»

«Discovery Science HD»

  • «Update period» — период автоматического обновления источника в часах (от 1 до 8). TVLINK в фоне запускает обновление источника через указанный период.
  • «Update» — ручное (принудительное) обновление источника. Здесь же выводится дата и время последнего обновления.
  • «Add channels» — добавляет все каналы источника в список вещания TVLINK (Channels). Если включено и Вы нажмете «Update» — все каналы будут добавлены в список. Это работает только при ручном (принудительном) обновлении каналов, при автоматическом обновлении эта опция игнорируется.
  • «Links» — показывает количество ссылок, на потоки, которые содержит источник.

После того как Вы обновите источник (при отключенном «Add channels»), имя источника становиться ссылкой, перейдя по ней Вы можете вручную выбирать каналы, которые нужно включить в список.

Собственно, здесь переключатель «Map» и добавляет канал в список «Channels».

Заголовки «Name» и «Group» позволяют сортировать каналы по имени или группе. Эта сортировка общая для всех страниц (и inputs, и channels) и так же распространяется на плейлисты которые отдает «TVLINK». То есть, отсортировав каналы по группам в веб-интерфейсе Вы и плейлист получите с точно такой же сортировкой.

При добавлении каналов создается группа (если ее нет) к которой принадлежит канал и переносится иконка.

Списки каналов отображаются порциями по 200 каналов на страницу (внизу есть кнопки для листания страниц). При добавлении/удалении/связывании каналов сами страницы не обновляются, только удаляются элементы. Это сделано для ускорения работы, чтобы не ждать при каждом действии пока обновиться страница. Но это вносит некоторую путаницу. Например, у вам список состоит из 300 каналов: 200 каналов на одной странице и остальные на второй. Если Вы удалите 10 каналов с первой страницы, то при переходе на вторую Вы увидите уже не 100 каналов, а 90. При обновлении страницы список прочитался заново и на первой странице все так же 200 каналов, а на второй все остальное. Просто помните об этом при редактировании.

«TVLINK» автоматически связывает каналы с одинаковыми именами. Причем регистр и пробелы в названии канала игнорируются. Например, все каналы с такими именами будут считаться одним и тем же каналом:

«24 Канал»

«24 КАНАЛ»

«24канал»

Также, на странице «Settings», Вы можете самостоятельно исключить какие-либо строки из названия канала для автоматического связывания. Само название канала при этом остается прежним, однако «TVLINK» при автоматическом связывании отбрасывает указанную Вами часть из названия. Например:

Опция (список) называется «Exclude these lines from channel names when mapping». Разделителем строк, которые нужно исключить, служит запятая (без пробелов).

В этом случае все каналы с такими именами будут считаться одним и тем же каналом, но сохранят свои названия в списке информации:

«Discovery Science HD»

«Discovery Science FHD»

«Discovery Science HD orig»

«Discovery Science HD PREMIUM+»

«Discovery Science FHD» — попадает сюда автоматически, если в списке есть хоть одна, любая строка. Специально указывать «FHD» в этом списке не нужно.

Настройки списка каналов «Channels».

«Logo» — логотип канала. Кликнув на иконку Вы можете вставить ссылку на любую картинку (png, jpg, gif), предпочтительнее конечно формат PNG.

Если Вы скопировали собственные логотипы каналов в папку «/storage/.config/tvlink/logos», то нажав кнопку «Local logos» Вы можете сопоставить логотип каналу.

Самый высокий приоритет будут иметь иконки, которые Вы скопируете в каталог «/storage/.config/tvlink/logos». Они должны быть в формате «ID-канала.png» (например, 7B7ADBFF.png). Если такой иконки нет, TVLINK берет иконку, которую Вы указали выше.

Если у канала нет иконки, она будет автоматически прописана, когда Вы делаете принудительное обновление какого-либо источника с включенной опцией «Add channels». При условии, что имена каналов совпадают и там есть эта иконка.

Во многих источниках из группы «Site sources» есть логотипы каналов. Добавив в список каналы из такого источника, а потом отключив его — Вы можете быстро найти недостающие иконки.

Утилита «picons».

Позволяет загружать иконки каналов и автоматически конвертирует имена логотипов в формат понятный для «TVLINK». Утилита консольная, запускается в терминале. Справка по аргументам:

Запуск «/storage/.config/tvlink/picons» без аргументов – загружает/конвертирует «прозрачные» (transparent) иконки с сайта «it999.ru».

С параметром «/storage/.config/tvlink/picons -с dark» — темные логотипы.

С параметром «/storage/.config/tvlink/picons -n» — логотипы будут скопированы без конвертации (сохранены оригинальные имена файлов).

После работы утилиты перезагружать «TVLINK» не нужно. Иконки будут в каталоге «/storage/.config/tvlink/logos».

Нумерация каналов.

Начиная с версии 1.1.9 в программу добавлена возможность указывать номера каналов и сортировать по номеру в веб-интерфейсе.

Можно указать номер только одному каналу или не указывать вовсе, в плейлисте (прямом и для Tvheadend) каналам все равно будут присвоены номера. Если указан номер хотя бы одного канала, отсчет начнется с него. Если ни одному каналу Вы не присвоили номер, отсчет пойдет с единицы (в алфавитном порядке).

Сортировка групп.

С версии 1.2.4  добавлена сортировка групп каналов для «Direct» (прямого) плейлиста. Порядок сортировки задается указанием номера группы (чем меньше номер, тем выше группа в списке).

На странице сортировки отображаются все активные (не отключенные) группы в которые добавлен хотя бы один канал, вне зависимости есть ли этот канал на странице «Channels» в данный момент.

Нумерация каналов имеет приоритет над сортировкой групп. Приведу пример: у нас есть три группы, по одному каналу в каждой.

  • Группа «Новости» —  канал «Новостной»
  • Группа «Спорт» — канал «Спортивный»
  • Группа «Фильмы» — канал «Кино»

Мы указали номера групп:

  • 1 —  Группа «Фильмы»
  • 2 — Группа «Спорт»
  • 3 —  Группа «Новости»

Теперь мы присвоим каналу «Новостной» номер — 1. Группы в плейлисте, при этом, разместятся в таком порядке:

  • Группа «Новости»
  • Группа «Фильмы»
  • Группа «Спорт»

Канал «Новостной» переместил группу «Новости» на верхнюю позицию.

Чтобы посмотреть как будет выглядеть список каналов и групп после их нумерации — отсортируйте каналы по группам на странице «Channels». Именно такой порядок будет в плейлисте. Сама сортировка (по номерам, именам, группам) на странице «Channels» не влияет на плейлист, она только для удобства редактирования каналов.

 

Для сети в Tvheadend (IPTV Automatic Network), чтобы номера соответствовали указанным в TVLINK, нужно сделать такие настройки.

В качестве рекомендации.

Как выяснилось, Kodi не совсем корректно работает с номерами каналов. Включенная опция «Использовать номера каналов с сервера» дает неожиданный эффект. После перезагрузки Kodi, нумерация некоторых каналов сбивается. Поэтому я рекомендую не включать эту опцию и верхнюю (Использовать порядок каналов с сервера). При таких настройках Kodi сохраняет оригинальную нумерацию каналов полученную от TVLINK/Tvheadend. Она сохраняется, пока Вы не добавите или удалите канал в TVLINK.

Если Вы сделали какие-то изменения каналов в TVLINK, отключите PVR-клиент, очистите базу каналов Kodi и после включения PVR-клиента нумерация снова будет в порядке.

 

Название и группу канала Вы можете менять на свое усмотрение. Изменения вступают в силу, как только строка с названием или группой теряет фокус. Группы выбираются из списка.

Колонка с названием «Clean» служит для связывания каналов. Вы отмечаете в этой колонке каналы, которые нужно связать и щелкаете на символ цепочки канала в который хотите добавить отмеченные каналы. Сам канал, в который вы добавляете – отмечать не нужно. Собственно, щелчок по самой ссылке «Clean», снимает отметки со всех выбранных каналов.

На скриншоте просто пример. Понятно, что эти каналы не нужно связывать.

Кнопка с разорванной цепочкой, соответственно разделяет связанные каналы.

Разделенным каналам не присваивается группа/иконка, так его легче найти в общем списке.

«Delete channels» внизу интерфейса, удаляет все каналы из списка. Количество каналов, показанное слева, это ссылка на плейлист.

В информации по каналу, можно включать/отключать ссылки на поток (например, не рабочие).

Группы каналов — «Groups».

Вы можете создавать, удалять, переименовывать… Но, есть один нюанс. Если Вы отключаете группу — Вы тем самым удаляете из списка все каналы этой группы. И если группа отключена, то при работе функции «Add channels» в список не будут попадать каналы этой группы. На ручной режим добавления каналов это не распространяется.

«Settings» — настройки сервера и ретранслятора.

  • «Server Port» — задает порт на котором TVLINK принимает запросы. По возможности не меняйте это значение.
  • «Playlist IP» — это адрес который TVLINK будет использовать для плейлистов.
  • «Auto playlist IP» — TVLINK сам будет подставлять нужный IP-адрес в плейлист.
  • «Check internet IP» — IP-адрес по которому TVLINK проверяет работу интернет. Также этот адрес используется функцией «Auto playlist IP» для определения внешнего IP устройства.

Изменение опций «Playlist IP/Auto playlist IP» может понадобиться только в том случае, когда в Вашей системе несколько сетевых интерфейсов. Для приставок это не имеет смысла.

  • «Refresh sources at startup» — обновлять источники при старте программы.
  • «Refresh sources at playlist» — обновлять источники при запросе плейлиста.

Не нужно включать обе опции. В большинстве случаев достаточно включить «Refresh sources at playlist». При старте системы, какой-бы клиент/плеер Вы не использовали, он будет запрашивать плейлист. Соответственно, источники будут обновляться. «Refresh sources at startup» — больше подходит, когда TVLINK установлен на отдельно стоящем сервере, который обслуживает всех клиентов в квартире.

К слову. У «TVLINK» нет ограничений на количество одновременных трансляций, один сервер может обслуживать множество клиентов. Но… Есть ограничения по «лицензии», об этом ниже.

  • «Remove broken channels» — TVLINK автоматически будет удалять каналы все ссылки которого оказались нерабочими. Будьте внимательны с этой опцией. Например, если пропадет интернет, TVLINK начнет удалять каждый канал, который Вы будете включать.
  • «Check internet max time (sec)» — время через которое TVLINK продолжит старт, если интернет не доступен. В этом случае, если нет доступа в интернет, TVLINK не получит лицензию и будет запущена «free» версия.
  • «M3U playlist settings (optional)» — здесь можно указать любые дополнительные M3U-теги для «прямого» плейлиста, который выдает TVLINK (http://ip-address:port/playlist). Например в секции «#EXTM3U» можно указать плееру (если этот плеер поддерживает) ссылку на EPG.
  • «Main User-Agent» — задает User-Agent по умолчанию. У некоторых IPTV-провайдеров может стоять блокировка по «user-agent». Они отдают поток, только если запрос идет от определенной программы. Здесь Вы можете сказать TVLINK, чтобы он «прикинулся» другой программой.

Опции «Periodic reload settings».

Добавлено начиная с версии 2.0.4. Рекомендуется включать если «TVLINK» работает в режиме 24/7.

Для чего это нужно. У Python-модуля «requests» который активно используется в модулях «Streamlink» есть одна неприятная особенность. Он не закрывает полностью им же открытые сокеты (держит в состоянии CLOSE_WAIT). Как утверждают разработчики — это сделано специально и сокеты используются повторно, что ускоряет работу. Я не берусь опровергать (нужно проводить долгое исследование), но на практике, создается огромное количество открытых файловых дескрипторов и в какой-то момент «TVLINK» просто перестанет обслуживать запросы так-как ядро не позволит открыть новый сокет (зависит от настроек ядра и количества подключенных к TVLINK клиентов). Опции «Periodic reload settings» решают эту проблему выгружая и повторно загружая модули «TVLINK» через определенный промежуток времени или один раз в сутки.

Reload by interval — выгружать/загружать модули TVLINK через промежуток времени (в часах) указный в «Reload every hours».

Reload once a day — выгружать/загружать один раз в сутки, в определенное параметром «Reload at o’clock» время (в примере 4 часа ночи).

«Reload once a day» имеет приоритет. Если Вы включите оба параметра, выгрузка модулей будет работать один раз в сутки.

При работе функций происходит следующее:

  • закрываются все «мертвые» сокеты
  • удаляются не нужные дескрипторы файлов
  • освобождается оперативная память

Во избежание проблем с трансляцией потока, функции сработают, если в этот момент «TVLINK» не ведет вещание (нет подключенных клиентов). Как только последний клиент отключиться — произойдет выгрузка модулей.

Настройки ниже относятся к модулю «Streamlink» и отвечают за работу с потоками. Более подробную информацию по этим настройкам Вы можете найти в справке по «Streamlink». Также эти опции аналогичны настройкам модуля «Pproxy» в «Пазл-ТВ 4.4.0/4.4.2».

  • «TS buffer/HLS buffer» — задают размер буфера (в мегабайтах) для TS и HLS потоков соответственно.
  • «TS/HLS chunk size» — задают размер фрагмента при чтении потока (в байтах) для TS и HLS потоков соответственно. 
  •  «HTTP timeout/HLS segment timeout» — таймауты (в секундах) через которые соединение будет разорвано если от источника не получен ответ.
  • «HLS live edge» — задает сколько HLS-сегментов нужно загрузить перед тем как начать отдавать поток.
  • «HLS segment threads» — сколько HLS-сегментов будет закачиваться одновременно.
  • «HLS playlist reload time» — контролирует время через которое запрашивается обновление HLS-списка.
  • «HLS segment stream data» — если отключено: отдавать поток только после того как будет закачано количество сегментов, указанное в «HLS live edge».

«TS/HLS chunk size» — чем больше размер фрагмента, тем меньше нагрузка на процессор. Чем меньше размер фрагмента, тем быстрее открывается поток. По сути, скорость переключения каналов зависит от нескольких настроек. Кроме размера фрагмента, из основных,  это еще «HLS live edge» (чем меньше, тем быстрее) и «HLS segment stream data».

«Sources Proxy» — позволяет указать внешний прокси-сервер для доступа к заблокированным ресурсам в формате «http://ip-address:port». Прокси используется только для получения списка каналов с источника, потоки идут напрямую. Опция работает только в «full» лицензии.

«License key» — ввод ключа лицензии. У «TVLINK» есть два типа лицензии: «free» и «full». Последняя (full) снимает ограничение на количество плейлистов добавляемых пользователем в группе источников «Playlists sources» (в free не больше трех) и позволяет подключаться к «TVLINK» с других устройств (имеется ввиду, смотреть трансляции одновременно с нескольких устройств). В «free» Вы можете напрямую смотреть только с локального плеера (KODI или TVIP). Также в «full»-версии доступны настройка и создание EPG (XMLTV) для Вашего списка каналов (об этом ниже). Если Вам нужна «полная лицензия» – обращайтесь в личные сообщения на форуме (опция не бесплатная: 10$).

Большинство настроек на этой странице (кроме «Refresh sources at playlist» и «Remove broken channels»), чтобы изменения вступили в силу, требуют перечитать конфигурацию. Для этого служит опция «Reload program» внизу страницы. Это не рестарт программы в классическом смысле (процесс не завершается и остается с тем же PID), программа перезапускается в самой среде Python.

Страница «Logs» в веб-интерфейсе показывает журнал работы программы в реальном времени. Обновление происходит каждые три секунды.

На странице «About» краткая информация о программе, а также ссылки на плейлисты.

  • «Direct playlist» — подходит для любого плеера.
  • «Tvheadend playlist» — предназначен только для «Tvheadend». В этом плейлисте потоки дополнительно пропускаются через «VLC».  Это нужно из-за особенностей работы «Tvheadend» с IPTV-каналами.

 

Настройка и создание EPG (XMLTV).

Эти функции добавлены в «TVLINK» начиная с версии 1.2.5. Для работы нужна «full»-лицензия.

На странице «Sources» нужно активировать переключатель «EPG Static sources». Вы увидите таблицу с источниками XMLTV-программы. Эти источники уже прописаны в программе (поэтому Static). 

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

Начиная с версии 2.0.2 можно добавлять свои источники XMLTV — «EPG Custom sources». При добавлении нужно указать название (произвольно) и ссылку на XMLTV программу. Это может быть ссылка на  архив «gz» или файл «xml» (например: https://iptv.online/epg/epg.xml.gz). Названия должны быть латинскими буквами, без пробелов и специальных символов.

Опции:

  • «Name» — имя источника и ссылка (когда источник активен и обновлен) на редактирование (сопоставление) каналов для этого источника.
  • «Enable» — включение/выключение источника.
  • «Prio» — приоритет. Если включено несколько источников, TVLINK будет искать соответствия канал-программа в порядке приоритета источников. Все что не нашел в первом, будет искать во втором и т.д.
  • «File date» — если источник XMLTV предоставляет такую информацию, здесь будет указана дата создания XMLTV-файла источника. Если такая информация не предоставляется (как в случае с источником «IptvxTV»), здесь будет указана дата последней загрузки файла.
  • «Update» — информация о последнем сопоставлении каналов (создании программы) TVLINK-ом и сама кнопка «Обновить». Эта кнопка не создает программу, ее действия ограничены скачиванием и автоматическим сопоставлением названий каналов с программой. Это нужно чтобы Вы могли вручную сопоставить те каналы, который «TVLINK» не смог сопоставить автоматически. Или изменить автоматическое сопоставление, если это нужно.
  • «Channels» — здесь отображается общее количество названий каналов в источнике. Просто информация, потому что не всегда указанные в источнике каналы содержат программу.

Кнопки:

  • «Create EPG» — создает программу. XMLTV-файл будет доступен по адресу: http://ip-address:port/xmltv
  • «Clean manual EPG mapping» — очищает все сопоставления, которые Вы сделали вручную.

После того как Вы нажали кнопку в колонке «Update» (подразумевается, что каналы Вы уже настроили)

можно перейти по ссылке из колонки «Name» и сопоставить каналы которые «TVLINK» не нашел или изменить сопоставление тех каналов, что Вас не устраивают.

Слева расположен список каналов, колонка «Channel».

В колонке «Auto EPG mapping» отображаются названия каналов, из XMLTV-источника которые «TVLINK» сопоставил автоматически.

В «Manual EPG mapping» Вы может сопоставлять вручную.

Отсортировав таблицу по колонке «Auto EPG mapping», мы получим все не сопоставленные автоматически каналы вверху списка (для удобства).

Как видите, из моих 127 каналов «TVLINK» не смог распознать 5, поэтому я сопоставил их вручную. Кстати, в моем случае, можно было не сопоставлять эти 5 каналов, а просто включить следующей источник «IptvxTV». Тогда бы «TVLINK» нашел EPG на все каналы, но время создания EPG бы увеличилось. Данные о сопоставленных вручную каналах сохраняются в базе и при последующем обновлении «TVLINK» не теряются.

Так как в выпадающем списке колонки «Manual EPG mapping» — 1634 записи (названия каналов) и найти нужную, просматривая весь список, довольно затруднительно… достаточно ввести первые буквы из названия канала, чтобы передвинуть список в нужную позицию.

После сделанных настроек, нужно вернуться на страницу «Sources» и нажать кнопку «Create EPG».

На создание программы для моих 127 каналов требуется около трех минут (на Amlogic S912).

Если у Вас 500 каналов, то на создание программы может понадобиться до 10 минут (на том же Amlogic S912). Объясню почему так долго и почему выбран именно такой вариант, чтобы ответить на будущие вопросы.

Во-первых: так как обновление/создание программы будет происходить «в фоне», в то время как Вы смотрите канал – нельзя нагружать процессор. Поэтому все действия идут в один поток, нагрузка падает только на одно ядро процессора. Такой подход дает возможность без проблем смотреть 4К-канал в то время как программа обновляется.

Во-вторых: перед тем как остановиться на этом варианте я написал и протестировал три разных варианта модуля EPG, в том что касается нагрузки на ОЗУ. В первом варианте процесс совсем не потребляет ОЗУ, но работает очень долго (около 15 мин. на 100 каналов). Во втором отброшенном варианте на 100 каналов уходила 1 минута, но процесс съедал всю доступную оперативную память. Поэтому, в окончательном варианте, процесс на время работы занимает от 300 до 600Мб ОЗУ (это зависит от объема распакованного XMLTV-файла источника) и после работы освобождает всю занимаемую память. Утечек памяти как у «Tvheadend» — нет.

После создания программы Вы можете проверить ее зайдя по адресу «http://ip-address:port/xmltv» или открыв файл «/storage/.config/tvlink/xmltv/out/tvlink.xml».

На странице «Settings» в подразделе «EPG settings» задаются следующие параметры.

  • «Auto update EPG» — включить/выключить периодическое обновление EPG.
  • «Update period EPG (hours)» — выбрать из списка период обновления в часах (от 3 до 168).

 

Профили пользователей (User Profiles).

Начиная с версии 2.0.3 в «TVLINK» можно добавлять профили пользователей (страница «Sources»).

Это может понадобиться когда один сервер «TVLINK» обслуживает несколько клиентов и Вам нужны разные наборы каналов/групп для этих клиентов.

Имя пользователя (профиля) — латинские буквы (цифры) без пробелов. Это будет часть URL-адреса.

Комментарий — можно писать что угодно.

Логика настройки состоит в следующем: сначала Вы настраиваете каналы и группы в основном профиле (под «основным профилем» — имеется ввиду страницы «Channels» и «Groups»), потом создаете профили в котором отключаете (включаете) не нужные каналы/группы. Отключать/Включать — можно только те каналы и группы которые есть в «основном профиле». То есть, в основном профиле должны быть включены все каналы которые могут понадобиться в каком-либо профиле.

Когда профиль создан, его имя становиться ссылкой. Переход по этой ссылке открывает настройки групп и каналов профиля.

После настройки профиля Вы можете получить список каналов (этого профиля) по ссылке: http://ip-address:port/playlist/user_name (где «user_name» — имя профиля).

Для «PVR TVLINK Client» имя профиля достаточно указать в настройках.

 

PVR TVLINK Client (PVR аддон для KODI).

Лучшим решением для просмотра ТВ в «KODI» будет плагин «PVR TVLINK Client». Новая версия (2.0.0) поддерживает Timeshift (пауза/перемотка), IPTV-архивы и настраиваемое периодическое обновление каналов. Плагин устанавливается из репозитория «AlexELEC».

В клиенте минимум настроек. На вкладке «Основные» можно изменить адрес и порт сервера «TVLINK», указать нужный профиль для списка каналов, а также включить кеширование каналов в локальную базу KODI (если Вы уверены, что Ваш список каналов не будет меняться) и задать режим обновления списка каналов.

На вкладке «EPG» можно включить кеширование EPG в базу KODI, чтобы он (KODI) не запрашивал и не обрабатывал XMLTV-файл без необходимости.

Если программа не совпадает с текущим вещанием — для этого служат настройки «Сдвига по времени».

«PVR TVLINK Client» сделан на базе «PVR IPTV Simple», более подробная информация здесь.

 

Настройки «Tvheadend» для работы с «TVLINK».

Если для «KODI/TVIP/VLC» (или любого другого плеера) достаточно просто указать адрес Direct-плейлиста, то для работы с «Tvheadend» лучше использовать специальный «Tvheadend playlist».

В системах, начиная с «Alex@ELEC-3.2.2» (если Вы установили ее «с нуля») нужные настройки для «TVLINK» уже сделаны по умолчанию.

После включения «Tvheadend» активируйте опцию – «Ждать TVLINK».

Это предотвратит преждевременный запрос плейлиста, когда «TVLINK» еще не готов его отдать. Это важно потому, что «Tvheadend» не запрашивает плейлист дважды. Не получив ответа от сервера, просто сделает об этом запись в журнал, а следующий запрос будет делать только через указанный интервал в настройках сети (по умолчанию 3 часа). То есть, при старте «TVLINK» не получит команду на обновление источников каналов (если включена опция «Refresh sources at playlist»).

Опция «TVH Стример» задает какая именно программа (FFmpeg или VLC) будет использоваться как прослойка между «TVLINK» и «Tvheadend» (для Tvheadend playlist).

Эта прослойка нужна для того, чтобы отсечь не нужные для IPTV-потоков данные. Так как «Tvheadend» был задуман для DVB-S/T/C он с любого потока считывает все параметры, что для некоторых IPTV-потоков приводит к автоматическому созданию дубликата канала.

Для связки  «TVLINK + Tvheadend + KODI» выбор стримера не имеет особого значения. Какие-то каналы быстрее открывает FFmpeg, какие-то лучше работают с VLC. Предлагаю Вам самостоятельно проверить и сделать выбор под Ваш плейлист. А вот, что касается связки «TVLINK + Tvheadend + TVIP» для Amlogic S805/812 — здесь однозначно нужно выбрать FFmpeg. «TVIP» не нравятся потоки пропущенные через VLC и многие каналы он просто не открывает.

Все что Вам нужно сделать в веб-интерфейсе «Tvheadend» — это включить Букет «IPTV-TVLINK» на вкладке «Bouquets». Нужные настройки на скриншоте ниже.

Для тех, кто самостоятельно настраивает сеть в «Tvheadend» — небольшой совет:

на вкладке «Stream Profiles», для всех профилей значение «Data timeout (sec) (0=infinite)» должно быть установлено в диапазоне от «5» до «15» секунд. Это означает, что «Tvheadend» должен разрывать соединение с «TVLINK» при отсутствии потока через указанный промежуток времени. Чем меньше это значение, тем быстрее «TVLINK» переключится на следующий поток (если текущий прервался), но при слишком маленьком значении — «TVLINK» будет переключаться на следующий поток даже при коротких подвисаниях. Установка этого значения в «0» приведет к тому, что «TVLINK» вообще не переключится на следующий поток и поэтому — не рекомендуется.

Если все ссылки на поток окажутся не рабочими, «TVLINK» включит канал «Earth TV HD». Если хотя бы одна ссылка, хоть как-то работает — «TVLINK» может «гонять» ее до бесконечности. Здесь все зависит от настроек в «Streamer settings».

На этом настройки можно считать законченными. Включаете «Tvheadend HTSP Client» и можно смотреть каналы. В группе «Site sources» содержится достаточное количество каналов, которые сайты вещают абсолютно бесплатно. Не все из них работают и не все каналы в приличном качестве, но как минимум 300 каналов там идут очень даже не плохо.

 

Kodi плагин «TVLINK simple control».

Позволяет управлять ссылками (включать/отключать) проигрываемого канала и показывает (выделяет желтым) ссылку которая проигрывается в данный момент.

Плагин устанавливается из репозитория «AlexELEC».

Если «TVLINK» находится на том же устройстве и Вы не меняли его порт по умолчанию (2020) — ни чего настраивать не нужно. В противном случае, Вы можете указать в настройках по какому адресу/порту находится TVLINK.

Плагин вызывается долгим (longpress) нажатием кнопки «i» клавиатуры. С пульта ДУ — зависит какая кнопка у Вас назначена как «i». Пример настройки «keyboard.xml» для вызова плагина:

<FullscreenLiveTV>
<keyboard>

<i mod=»longpress»>RunAddon(script.tvlink.conrol)</i>
</keyboard>
</FullscreenLiveTV>

Для Lirc-приемника (MCE совместимого) в «AlexELEC-PC» версии, за вызов плагина отвечает код кнопки — «KEY_HOMEPAGE». Вы присвоить его какой нибудь кнопке Вашего пульта в keymap-файле.

Реклама




Май 2021
Пн Вт Ср Чт Пт Сб Вс
 12
3456789
10111213141516
17181920212223
24252627282930
31