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

Инструкция устарела. Справка по программе на wiki.alexelec.tv.

 

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

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

Программа поддерживает IPTV-архивы (catchup/archive) с возможностью переключения на следующий поток, даже если типы архивов в этих потоках отличаются. Для работы этой функции подходит любой IPTV-плеер с поддержкой типа архива «Shift». Даже если в таком плеере отсутствует поддержка других типов архива («Append», «Flussonic») он все равно будет их воспроизводить благодаря внутреннему преобразованию типов архивов в «TVLINK».

Так же программа предоставляет удобную настройку и выдачу EPG (программу передач в XMLTV формате). Есть встроенный API для самостоятельного написания аддонов.

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

Начиная с версии 3.0.5 «TVLINK» не работает на территории РФ/РБ.

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

 

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

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

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

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

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

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

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

Нажмите кнопку «Обновить» (стрелочки) и дождитесь окончания процесса.

 

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

Установка TVLINK на роутер «D-Team Newifi D2».

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

Скачайте последнюю версию «TVLINK» для архитектуры x86_64, arm7 или arm64 (в зависимости от платформы).

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

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

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

apt install python3-pycountry python3-requests python3-socks python3-websocket python3-pycryptodome python3-isodate rename -y

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’ ‘{}’ \;

apt purge python3-crypto

cd ..

ln -s Cryptodome Crypto

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

/opt/tvlink/tvlink

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

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

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

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

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

systemctl enable tvlink

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

 

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

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

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

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

  • Playlists sources – пользовательские плейлисты (m3u/m3u8)
  • Addon sources – источники трансляций тв-каналов с разных сайтов. Есть репозиторий аддонов. Для создания собственного аддона «TVLINK» предоставляет API.

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

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

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

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

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

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

IPTV архивы.


TVLINK поддерживает просмотр IPTV-архивов (если провайдер предоставляет такую опцию). Эта опция доступна только для плейлистов и не работает для аддонов.

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

  • Append — как у потоков Zabava
  • Shift — как у Edem / ILookTV / Only4TV / Cbilling
  • Flussonic (HLS-формат) — как у Glanz / StarNet

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

Все остальное «TVLINK» сделает автоматически. Ни каких дополнительных настроек архивов в «PVR TVLINK Client» не нужно (впрочем, их там и нет). Для других IPTV-плееров, в настройках нужно указать тип архива — «Shift».

Программа поддерживает автоматическое переключение архивных потоков при сбое вещания, вне зависимости от типов архива. Это означает, что при сбое архивного потока из источника «m3u_Iptvx» (Shift), TVLINK переключиться на архивный поток из «m3u_Starnet» (Flussonic). Порядок переключения зависит от приоритета источников. То есть, та же функциональность, что и с обычными потоками.


  • «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) каналам все равно будут присвоены номера. Если указан номер хотя бы одного канала, отсчет начнется с него. Если ни одному каналу Вы не присвоили номер, отсчет пойдет с единицы (в алфавитном порядке).

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

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

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

Также, отмеченные в этой колонке (Clean) каналы можно одновременно назначить какой-либо группе. Так сказать: «групповое назначение Группы».

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

Для чего это нужно. У Python-модуля «requests» который активно используется в модулях «Streamlink» есть одна неприятная особенность. Он не закрывает полностью им же открытые сокеты (держит в состоянии CLOSE_WAIT). Как утверждают разработчики — это сделано специально и сокеты используются повторно, что ускоряет работу. На практике, такой подход может создавать большое количество открытых файловых дескрипторов, что не на пользу машинам с ограниченными ресурсами (например, роутер). Опции «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».

  • «Stream Ring buffer» — задает размер буфера (в мегабайтах) для потоков.
  • «Chunk size» — задает размер фрагмента при чтении потока (в байтах). 
  • «Stream timeout» — таймаут (в секундах) через которые соединение будет сброшено если от источника не получен ответ.
  • «Segment timeout» — таймаут (в секундах) через которые соединение будет сброшено если сегмент (HLS) не получен.
  • «Stream retry count» — количество попыток переподключиться к текущему источнику при сбое вещания.
  • «Segment threads» — сколько сегментов будет закачиваться одновременно.
  • «HLS live edge» — задает сколько HLS-сегментов нужно загрузить при старте потока.
  • «HLS playlist reload time» — контролирует время через которое запрашивается обновление списка сегментов.
  • «HLS Live Restart» — если активно: перейти к началу прямой трансляции или как можно дальше назад.
  • «Debug Streams» — включает дополнительную (отладочную) информацию по работе с потоками..

Пояснение некоторых пунктов выше:

 — «Chunk size» — чем больше размер фрагмента, тем меньше нагрузка на процессор. Чем меньше размер фрагмента, тем быстрее открывается поток.

 — «Stream retry count» — если выбрано значение больше нуля и поток воспроизводился меньше минуты — счетчик будет уменьшаться. После исчерпания попыток, поток будет переключен на следующий (по приоритету) источник. Если выбрано значение «0» (ноль) — при сбое поток переключается на следующий источник.

 — «HLS Live Restart» — имеется ввиду: всегда начинать трансляцию с первого сегмента HLS. Эта функция полезна с проблемными источниками. Например: TVLINK подключился к источнику и прочитал файл сегментов. В этом файле (к примеру) есть 4 сегмента. Исходя из текущего времени и если «HLS Live Restart» отключен, TVLINK начнет вещание с последнего (четвертого) сегмента. А так как источник «проблемный» — следующий сегмент появиться не скоро и мы получим сбой вещания. Конечно, функция не гарантирует, что следующий сегмент вообще появиться у этого источника, но у нас будет время пока будут проиграны с 1-го по 4-й сегменты.

 — «Debug Streams» — информация о открытие / закрытии, загрузке / постановке сегментов в очередь и т.д. и т.п. Опцию не следует держать включенной постоянно, иначе лог будет очень большой. 

 

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

«License key» — ввод ключа лицензии. У «TVLINK» есть два типа лицензии: «free» и «full». Последняя (full) снимает ограничение на вещание в сеть и позволяет подключаться к «TVLINK» с других устройств (имеется ввиду, смотреть трансляции одновременно с нескольких устройств). В «free» Вы можете напрямую смотреть только с локального плеера (KODI, VLC, TVIP и тп.).

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

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

На странице «About» краткая информация о программе, а также ссылки на плейлист и EPG. При доступном обновлении программы здесь выводится информация и возможность сделать это самое обновление.

 

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

На странице «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). Объясню почему так долго и почему выбран именно такой вариант, чтобы ответить на будущие вопросы.

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

Во-вторых: перед тем как остановиться на этом варианте я написал и протестировал три разных варианта модуля 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», более подробная информация здесь.

 

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-файле.




Апрель 2024
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
2930