Настройка Kodi/Tvheadend/AceStream от установки системы до запуска канала

 

Предисловие.

Постараюсь подробно описать все шаги, начиная с установки системы, для пользователей мало знакомых с «Linux» и в частности с «CoreELEC».

Для приставок на «Amlogic S905/912» лучшим выбором для просмотра «Торрент-ТВ» будет использование «Tvheadend» в качестве сервера трансляций. Проще, конечно, будет настройка плагина «PVR IPTV Simple» для этой цели, но в таком случае вас ждет несколько неприятных моментов при просмотре каналов. Основные из них:

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

Поэтому, набор «AceStream» + «Tvheadend» + «HTSP PVR Client» лучше справиться с поставленной задачей, просмотр «Торрент-ТВ» в «Kodi». И как бонус в этом наборе: возможность записывать и ставить на паузу (TimeShift) каналы.

Что касается выбора самой приставки: подойдет практически любая бюджетная модель на Amlogic S905/912. Конечно коробка с 2-я гигабайтами ОЗУ лучше, чем с одним. На приставках с Amlogic S905W не получиться смотреть 4К-каналы, но таких каналов очень мало (3-4) да и смотреть там особо не чего. Остальное зависит от вашего вкуса и толщины кошелька.

Инструкция предполагает, что вы будете устанавливать/настраивать версию «CoreELEC ae-fork» не ниже 8.99.10. Некоторые функции не доступны на более ранних версиях. Если вы обновляете систему с предыдущих версий, то перед перезагрузкой:

  • oстановите «Tvheadend»
  • удалите каталог «/storage/.config/tvheadend»

Это связано с изменениями в скриптах запуска последнего.

 

Набор инструментов.

Для описанных ниже действий нам понадобятся следующие программы (для Windows):

  • Win32 Disk Imager – для записи образа системы на SD-карту или USB-флешку
  • PuTTY — эмулятор терминала Linux. Позволяет подключиться и управлять удаленным узлом по SSH протоколу.
  • WinSCP — графический клиент протоколов SFTP и SCP. Менеджер файлов, для удобного доступа к системе.
  • Notepad++ — редактор текстовых файлов. Во избежание проблем с кодировками, советую использовать именно эту программу для редактирования «Unix»-файлов.

Скачайте и установите эти программы.

 

Установка системы.

С помощью любого архиватора (7zip, WinRAR) распакуйте скачанный для вашего процессора файл «CoreELEC-*.img.gz»:

  • *S905 – для Amlogic S905/905W/905X/905D
  • *S912 – для Amlogic S912

Полученный образ (CoreELEC-*.img) с помощью «Win32 Disk Imager» запишите на SD-карту или USB-флешку.

Так как с установкой/запуском системы с USB-флешки часто возникают разного рода проблемы (то флешка не подходит приставке, то приставка флешке) я рекомендую использовать SD-карту.

Что касается выбора SD-карты: зависит от того оставите ли вы систему на карте (с возможностью запуска «Android» при необходимости) или установите систему во внутреннюю память приставки.

Во втором случае (CoreELEC будет во внутренней памяти вместо Android) особых ограничений нет, лишь бы образ поместился на карту (хватит карты на 1 Гб). Если вы планируете использовать обе системы (Dualboot: Android/CoreELEC), то к выбору карты нужно отнестись более серьезно. Я бы порекомендовал SD-карту не менее 10-го класса и объемом не менее 16 Гб (такое себе сочетание – цена/качество). Для самой системы хватит объема и 8 Гб (и 4 Гб) но чем больше объем карты, тем больше у нее скорости чтения/записи, а это очень влияет на производительность системы.

При записи образа на SD-карте будет создано два раздела: «FAT» объемом 512 Мб и «ext4» размером 32 Мб (не отображаемый в Windows). Linux-раздел (ext4) будет расширен при установке на весь доступный объем SD-карты. Поэтому не переживайте, что после записи образа ваша карта уменьшилась до 512 Мб. Вернуть прежний объем вы можете, отформатировав карту, например, программой «SDFormatter».

После того как образ будет записан не спешите извлекать карту из компьютера, нужно еще добавить совместимое с вашей приставкой «дерево устройств». Это специальный файл (dtb.img) с описанием компонентов, установленных на плате приставки. Например: процессор (SOC), количество ОЗУ, WIFI/Ethernet модули, DVB-адаптер и т.д. Без «правильного дерева устройств» загрузчик «u-boot» (аналог BIOS для приставок) не сможет их опознать и либо какой-то компонент не будет работать (например WIFI), либо же система вовсе не будет загружаться если это критически важный компонент (например не подходит количество ОЗУ).

Вам нужно из каталога «device_trees» который находится в корне FAT-раздела SD-карты скопировать нужный файл «*.dtb» в корень этого раздела и переименовать его в «dtb.img».

В приведенном примере копируется «дерево устройств» для приставки «KII Pro DVB-S2/T2/C: Amlogic S905, 2/8, 100Mb».

Первая часть имени dtb-файлов (например: gxl_p212) это идентификатор (кодовое имя) платы/процессора устройства. Они могут быть такими:

  • gxbb_p200/201 – для Amlogic S905
  • gxl_p212 — Amlogic S905X
  • gxl_p230/231 — Amlogic S905D
  • gxl_p281 — Amlogic S905W
  • gxm_q200/201 — Amlogic S912

Вторая часть имени dtb-файлов (1G/ 2G/ 3G) — это размер ОЗУ. Система не загрузится если значения в «дереве» и устройстве не будут совпадать.

Отличие между деревьями «gxbb_p200» и «gxbb_p201» (и в моделях gxl_p230/231, gxm_q200/201) как оно описано в ядре и должно быть — относится в основном к скорости сетевого адаптера (100Mb или 1Gb). Но на практике производители коробок не очень придерживаются правил и там, где по идентификатору должен быть адаптер 1Гб ставят 100Мб и наоборот. Поэтому третья часть файла — это указание скорости сетевого адаптера и модели WI-FI модуля.

Также, вместо второй и третьей части названия файла, может быть указано название приставки если ее дерево чем-то отличается от стандартного. Как в примере на скриншоте выше для «KII Pro».

Отличие модификаций от стандарта вы можете посмотреть здесь. Например, файлы где есть «nand» в имени отличаются только одной строкой от оригинала, которая меняет статус внутренней памяти (NAND). «slowemmc» как понятно из названия — для коробок где медленная emmc-память. Лично мне не попадались приставки где были бы нужны такие (nand/slowemmc) модификации деревьев.

Итак, у нас готова SD-карта (или USB-флешка) с записанным образом системы и «правильным деревом устройств».

Сама процедура установки системы для работы с SD-карты состоит из двух этапов:

  1. добавление/изменение переменных загрузчика «u-boot»
  2. расширение второго раздела SD-карты на весь доступный объем

Ни то, ни другое не может навредить установленной во внутреннюю память устройства системе «Android», поэтому если что-то пойдет не так – можете не волноваться.

Есть два варианта установки: из Android или методом «зубочистки».

Первый вариант.

  • вставляем карту
  • в приложениях Android открываем программу «Update@Backup» (на вашей приставке название программы может отличаться, но смысл в том, что это утилита для обновления системы)
  • выбираем для обновления файл «aml_autoscript.zip» который расположен на нашей SD-карте и следуем указаниям системы
  • через несколько секунд приставка будет перезагружена и начнется второй этап установки системы, то есть разметка диска (расширение второго раздела)

Второй вариант.

  • вставляем карту, когда приставка обесточена
  • зажимаем зубочисткой кнопку «Reset» на приставке. Эта кнопка может быть спрятана в AV-разъеме, и чтобы до нее дотянуться обычно используют зубочистку. Отсюда и название метода
  • не отпуская кнопку «Reset» подаем питание
  • как только вы увидите на экране логотип системы (три разноцветных кнопки: Pause, Play, Stop) — «Reset» можно отпустить. Вы наблюдаете второй этап установки

После разметки диска система автоматически перезагрузиться и секунд через 20 вы уже должны будете увидеть интерфейс «Kodi» на экране.

 

Первичная настройка системы.

Пульт ДУ.

В отличии от «CoreELEC» в «CoreELEC ae-fork» используется другой (более быстрый) IR-драйвер пульта – «aml_remote». Поэтому настройки пульта в этих системах отличаются.

Нам понадобиться программа «WinSCP». Запускам ее и создаем подключение.

  • Имя хоста – это IP-адрес вашей приставки
  • Порт – 22
  • Имя пользователя – root
  • Пароль – mcpc

IP-адрес приставки вы можете узнать в окне Kodi — «Сведения о системе». Подключите USB-клавиатуру или мышь к приставке пока пульт не работает.

В каталоге «/storage/.config/amremote» есть готовые файлы для приставок, с которыми мне приходилось иметь дело (по умолчанию задействован файл для приставок «Mecool» K-серии). Вам нужно переименовать нужный файл «remote.conf.название_приставки» в «remote.conf» и перезагрузить приставку. Например, для приставки «X96 Amlogic S905X» переименуйте файл – «remote.conf.X96».

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

Откройте терминал (программа PuTTY):

  • вам нужно ввести IP-адрес системы
  • порт – 22
  • логин – root
  • пароль – mcpc

введите следующую команду и нажмите «Enter»:

remotecfg /storage/.config/amremote/remote.conf.X96

пробуйте нажимать кнопки пульта, если ответа не последовало пробуйте следующий файл

remotecfg /storage/.config/amremote/remote.conf.WechipV5

и так далее. Нашли подходящий – переименовываем в «remote.conf».

Также вы можете найти нужный «remote.conf» в вашей системе «Android» (каталог «etc») если его версия меньше шести (начиная с 7-ой версии Android, этот файл отсутствует) или на просторах интернет. Не обязательно искать файл именно для вашей приставки, вам скорее всего подойдет файл от любой другой с аналогичным пультом (имеется ввиду — внешний вид пульта). Большинство производителей используют аналогичные пульты.

Если все поиски закончилось неудачей, вы можете создать этот файл самостоятельно.

Сеть и время.

Первое что я рекомендую сделать, это включить опцию «Ожидать поднятия сети пред стартом Коди». Значение в 20 сек. вполне достаточно для большинства моделей.

Заметьте, как только сеть появляется – система продолжит загрузку, не дожидаясь окончания таймера. 20 секунд (или то сколько вы установите) – это максимально возможное время ожидания, по истечению которого система продолжит загрузку даже если нет сети.

Включение этой опции позволит избежать проблем в будущем, например, с программой передач (EPG). В приставках нет батарейки и модуля реального времени. Текущая дата и время устанавливается из сети. Если при старте Kodi подключение отсутствует – то и программу вы не увидите, так как время не синхронизировано. Система не сможет обновить плейлисты при старте. И другие проблемы, связанные с отсутствием интернет при запуске системы…

Второе, что нужно проверить и при необходимости настроить – часовой пояс.

Частота обновления экрана.

Так как мы настраиваем систему для просмотра ТВ-каналов которые транслируются в основном с частотой 25/50 кадров в секунду, будет разумно установить частоту экрана в 50Гц. Это даст нам плавное изображение, которое хорошо заметно на каналах с бегущей строкой.

Забегая вперед скажу: в Коди встроена функция Автоматической подстройки частоты экрана «AFR» (Auto Frame Rate) и по умолчанию она активна.

Если вы хотите ее использовать – нужно заполнить так называемый «Белый список», иначе Коди будет подстраивать частоту исходя из данных полученных через HDMI (то есть, все что доступно). Вам нужно выбрать какие разрешения и частоты вы позволяете использовать «AFR».

На основе этого списка Коди будет автоматически подстраивать разрешение/частоту под текущее видео. Советую вам не выбирать кратные частоты. Например, если выбрано 50Гц не добавляйте еще и 25Гц. Во-первых, телевизор будет меньше мигать, а во-вторых если канал и идет с частотой 25Гц, то при переключении экрана на эту же частоту возникают проблемы с плавностью картинки (сбрасывается огромное количество кадров). Если экран в 50Гц, а канал в 25Гц – подобная проблема не возникает.

Оперативная память.

Если в вашей приставке 1 Гб ОЗУ, будет не лишним включить «Очистку кеша оперативной памяти». Для этого переименуйте файл «/storage/.config/ramclear.conf.sample» в «/storage/.config/ramclear.conf». Внутри этого файла находиться переменная «RAMCLEAR_TIME» в которой задается периодичность (в минутах) проверки и при необходимости очистки кеша ОЗУ. По умолчанию, каждые 2 минуты.

# Clear RAM time in minutes

RAMCLEAR_TIME=»2″

Для приставок с 2-я и более гигабайтами ОЗУ в этой опции нет особой необходимости.

Закончив все эти настройки и убедившись, что все функционирует как положено – можно установить систему в «NAND».

 

Установка системы во внутреннюю память устройства.

Если «Android» вам не нужен, и вы хотите получить максимальную производительность системы, рекомендуется установка в «NAND». В противном случае просто пропустите этот пункт.

Введите в терминале команду

installtointernal

и следуйте инструкции.

После перезагрузки вы можете извлечь SD-карту из приставки. Если вы оставите SD-карту в приставке, то при следующей загрузке система снова будет стартовать с SD.

Еще одно замечание. Если вы делаете установку во внутреннюю память с переносом всех настроек проследите чтобы сервис «AceStream» был отключен. Иначе этот процесс (перенос настроек) будет бесконечным.

Выбор обложки (skin) для Коди.

Несомненно, здесь сложно советовать, вкусы у всех разные. Я предпочитаю обложку – «Aeon Nox AE». Это несколько исправленная и модифицированная под систему версия скина «Aeon Nox 5: SiLVO». Нравиться она мне в первую очередь тем что копирует интерфейс оболочки «Enigma2» для Linux-ресиверов. Который на мой взгляд очень удобен для просмотра ТВ-каналов.

Установить этот скин вы можете в настройках Коди.

Установка и настройка «AceStream».

Движок «AceStream» это основной компонент, без которого просмотр «Торрент-ТВ» каналов будет не возможен.

Перед тем как активировать «AceStream» давайте взглянем на файл пользовательской настройки движка – «/storage/.config/acestream/acestream-user.conf». В этом файле не закомментирована только одна строка:

ACE_USER_ARGS=»—live-cache-type memory —live-buffer 10 —upload-limit 1000″

Параметры в переменной «ACE_USER_ARGS» означают следующее:

  • —live-cache-type memory # хранить кеш для Live-потоков (коими и являются ТВ-каналы) в оперативной памяти
  • —live-buffer 10 # размер буфера для Live-потоков в секундах
  • —upload-limit 1000 # ограничение исходящего трафика (килобит в секунду)

Это оптимальные параметры, с которыми «AceStream» запускается по умолчанию. Вы можете их изменить или дополнить, как угодно. Также вы можете закомментировать эту переменную и сделать нужные вам настройки через веб-интерфейс движка. Адрес веб-интерфейса выглядит так:

http://ip-address:6878/webui/app/alexelec/server

Если переменная «ACE_USER_ARGS» не закомментирована, то ее аргументы будут иметь приоритет над настройками через веб-интерфейс и при следующем запуске «AceStream» снова будут установлены параметры из «ACE_USER_ARGS» не смотря на изменения, сделанные вами в веб-интерфейсе.

При первой активации движок будет скачан, установлен и запущен.

Дождитесь окончания этого процесса.

Создание списка каналов для «Торрент-ТВ».

С настройками по умолчанию плейлист формируется с сайта «Помойки». Это самый быстрый способ (имеется ввиду скорость работы утилиты) получения списка каналов и занимает от 1-й до 10 секунд в зависимости от количества выбранных категорий и настроек. Есть и более долгий способ, когда «Помойка» не доступна, но здесь он рассматриваться не будет.

В файле «/storage/.config/acestream/trash-url.conf» вы можете изменить адрес сайта «Помойки» задав значение переменной «TRASH» если ваш провайдер блокирует адрес по умолчанию:

TRASH=»http://pomoyka.win»

В файле есть примеры.

Обновление списка логотипов каналов, а также один из вариантов получения EPG требует наличия у вас регистрации на сайте «Торрент-ТВ». Если эти данные (логин/пароль) не будут указаны в настройках – эти опции просто не будут работать, что само по себе не смертельно.

В списке категорий отмечаем нужные.

В разделе создания плейлиста вводим (если есть) данные своего аккаунта с «torrent-tv.ru» и активируем опцию – «Update playlist».

Эта опция (Update playlist) нужна для автоматического обновления списка каналов при старте системы, а также она необходима для обновления плейлистов по расписанию в «Tvheadend».

Нажимаем «Execute» и ждем пока завершится создание списка каналов. На предложение «Перезагрузить Коди» — отвечаем «Нет».

На этом можно было-бы и закончить с каналами, но мы пройдем немного дальше: выберем только те каналы, которые действительно собираемся смотреть. Дело в том, что в «Торрент-ТВ» огромное количество каналов и скорее всего большинство из них вы никогда смотреть не будете.

Сделаем свой «фаворитный» список.

Переименовываем файл «/storage/.config/acestream/Trash-favorite.list.sample» в «/storage/.config/acestream/Trash-favorite.list», открываем и удаляем строки с ненужными каналами. Поверьте, такие найдутся. В файле не допустимы пустые строки.

После этого снова заходим на вкладку «TTV Playlist», отключаем/включаем (или включаем/ отключаем) любую из категорий и снова создаем плейлист — «Execute».

Вот это «отключаем/включаем» нужно для того чтобы система пересоздала плейлист. Иначе вам будет сказано, что плейлист новый и пересоздавать его не нужно. Система обновляет (пересоздает) список только в том случае, когда произошли изменения на сайте «Помойки». Это экономит время и страхует вас от получения «бана».

Созданные плейлисты будут находиться в каталоге «/storage/ttv-m3u/». Плейлист для «Tvheadend» будет называться «TVH-TTV.m3u». Им (Tvheadend) мы сейчас и займемся.

 

Настройка «Tvheadend».

Начнем с того что, начиная с версии «CoreELEC (ae-fork) – 8.99.10» в системе есть две версии «Tvheadend». Стабильная версия – 4.2.7 и версия из «master»-ветки – 4.3-хххх. По умолчанию будет запущена стабильная 4.2.7. Если вам нужна версия 4.3, нужно:

  • остановить Tvheadend
  • переименовать файл «/storage/.config/tvheadend-4.3.sample» в «/storage/.config/tvheadend-4.3»
  • запустить Tvheadend

Чтобы снова вернуться к 4.2.7 вместо второго пункта нужно удалить файл «/storage/.config/tvheadend-4.3».

Мы будем настраивать версию 4.2.7, хотя видимые отличия между ними минимальны и эти же настройки применимы и к версии 4.3.

Активируем «Tvheadend».

Все настройки программы делаются через веб-интерфейс:

http://ip-address:9981

При первом входе нас встречает окно «Мастера настроек». Можем смело его пропустить.

Для удобства в «Tvheadend» уже добавлена сеть (Configuration – DVB Input – Networks) для Торрент-ТВ с именем «Torrent-TV».

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

Не буду объяснять их значение, так как делал это уже много раз (воспользуйтесь поиском на сайте), да и справка в самом «Tvheadend» довольно подробная. Просто хочу, чтобы вы обратили внимание на эти опции, когда самостоятельно будете создавать IPTV-сеть для Торрент-ТВ.

Переходим на вкладку «Сервисы» (Configuration – DVB Input – Services) и делаем сопоставление (mapping) каналов.

На вкладке «Теги каналов» (Channel Tags) делаем не видимыми для Коди две верхние категории, а для остальных устанавливаем индексы.

Делать это не обязательно, просто удобнее будет перемещаться по «Категориям каналов» в Коди.

Теперь настроим получение программы передач (EPG) для наших каналов.

На вкладке «Модули получения EPG» (EPG Grabber Module) отключаем не нужные нам модули, которые тянут EPG из самого потока (Over-the-air).

Включаем «XMLTV: Torrent-TV.ru grabber» и устанавливаем его приоритет.

Если в настройках создания плейлиста для Торрент-ТВ вы указали свой логин/пароль от torrent-tv.ru, то можете включить «XMLTV: Torrent-TV.ru API grabber» в дополнение к первому или вместо него. Этот «grabber» получает данные через API сайта torrent-tv.ru и только на текущий день, но может быть полезен так как архив первого обновляется раз в неделю (и не всегда) а этот всегда содержит актуальные данные.

Дальше информация для тех, кто использует приставку в режиме «24/7» и хочет иметь актуальные каналы и программу. Те, кто включает/выключает приставку этот пункт могут пропустить, так как при запуске система обновляет программу и каналы.

Начиная с текущей версии (8.99.10) модули «XMLTV: Torrent-TV.ru grabber» и «XMLTV: Torrent-TV.ru API grabber» не только получают программу, но и автоматически обновляют ссылки каналов «Торрент-ТВ». То есть для поддержания информации в актуальном состоянии достаточно воспользоваться встроенным Cron-ом «Tvheadend». Вы можете задать частоту обновления каналов/программы на вкладке «EPG Grabber». В приведенном примере обновление происходит каждые шесть часов (6:10, 12:10, 18:10 и т.д.).

На этом настройку «Tvheadend» будем считать законченной.

 

Активация ТВ в «Kodi».

Заходим в «Дополнения» — «Мои дополнения» — «Клиенты PVR», выбираем и включаем «Tvheadend HTSP Client».

Это все что требовалось сделать.

Если звук слишком тихий, задайте усиление громкости.

 

Полезная информация.

Список каналов Торрент-ТВ для Tvheadend формируется таким образом, что при смене адреса вещания вам не нужно будет перенастраивать Tvheadend (заново сопоставлять каналы). Файл «TVH-TTV.m3u» не содержит ссылок на потоки, они хранятся в отдельном файле «TVH-TTV.list» и автоматически выбираются, когда вы включаете канал. По сути Tvheadend даже не знает какая ссылка будет выбрана. У него есть только название канала, которое и указано в плейлисте (TVH-TTV.m3u). Всем остальным занимается внешний скрипт – «ttvstream». Поэтому настроив один раз Tvheadend, вы можете не переживать, что ссылки поменяются и нужно будет настраивать снова. Именно после того как был сделан такой механизм работы с потоками, в систему и была добавлена «стабильная» (4.2.7) версия программы. Дело в том, что 4.2.7 нет опции настроек «IPTV сети» для игнорирования части url-адреса. Такая опция есть в 4.3 но с недавнего времени она не работает (разработчики что-то сломали и когда починят не известно). Поэтому был придуман и реализован такой механизм.

Касательно настроек утилиты «ttvstream».

Во-первых, менять следующие опции можно «на ходу», не нужно перезагружать Tvheadend. Достаточно сохранить изменения в файлах и переключиться на другой канал.

Файл «/storage/.config/acestream/stream-tvh.conf» отвечает за глобальные настройки, относящиеся ко всем каналам.

Вы можете менять уровень отладки для FFmpeg – «LOG_LEVEL» если нужно посмотреть, что происходит с тем или иным каналов. Посмотреть можно в отладочном окне (внизу страницы) веб-интерфейса Tvheadend.

Можете задавать опцию «map» или другие для FFmpeg которые будут распространяться на все каналы.

Если нужно задать какие-то опции (FFmpeg) для определенного канала – переименуйте файл «/storage/.config/acestream/stream-tvh-channels.conf.sample» в «stream-tvh-channels.conf», откройте и укажите их в таком формате:

Имя канала # опции ffmpeg

Например, оставить в потоке канала «Amedia Premium HD» только видео и первую аудиодорожку:

Amedia Premium HD # -map 0:0 -map 0:1

Такие манипуляции с потоком канала бывают необходимы, например, когда вторая аудиодорожка идет пустая и FFmpeg не может начать трансляцию канала по этой причине. Или просто вы хотите задать приоритет какой-то дорожке, а остальные отбросить.

На этом все. Надеюсь информация в этой статье была Вам полезна.

Реклама




Июнь 2023
Пн Вт Ср Чт Пт Сб Вс
 1234
567891011
12131415161718
19202122232425
2627282930