Русский
Русский
English
Статистика
Реклама

Kodi

KODI. Как я собирал свой самый удобный и функциональный медиацентр для дома. Часть 1

24.03.2021 02:04:36 | Автор: admin

Содержание:

  1. Лирическое отступление

  2. Мои требования к медиацентру

  3. Аппаратная часть, программная платформа:

    1. Неттоп

    2. Пульт ДУ

  4. Операционная система

    1. Подготовка и установка Kubuntu 20.04 LTS

    2. Первичная настройка, удаление лишнего и установка пакетов для работы с системой

    3. Монтирование основного диска для хранения данных

    4. Сетевые каталоги

    5. Установка и настройка VNC-сервера

    6. Настройка профиля HDMI в PulseAudio

  5. Установка и базовая настройка KODI

  6. IPTV. Как установить и настроить, какой сервис выбрать

  7. Библиотека KODI. Что это такое и как настроить

  8. Elementum и Burst. Настраиваем просмотр контента торрент-онлайн

1. Лирическое отступление

Еще во времена своего первого телевизора со Smart TV часто ловил себя на мысли, что все это не то, неудобно, не всегда красиво А еще когда это все сопровождалось долгим откликом встроенной ОС, вылетами, требующие перезагрузок, начались поиски решения.

DLNA на какое-то время удовлетворял все потребности, хотя неудобств в его использовании хватало. Не устраивали лишние телодвижения для просмотра фильма, а особенно необходимость иметь компьютер, на котором хранится библиотека и просмотр только оффлайн контента.

Поиски продолжались и первым программным решением на базе самого телевизора был популярный тогда Fork Player, для установки которого еще нужно было поиграться с прошивкой самого телевизора, а после еще и с настройкой самого плеера. Здесь уже был получен онлайн-просмотр контента и IPTV. Работало все не очень стабильно, а интерфейс и юзабилити оставляли желать лучшего, и постоянно выводил из себя, живущих во мне эстета и перфекциониста.

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

Публикаций, подобных этой, на тему как я строил свой медиацентр в сети достаточно. Но все же, целью я ставлю донести в массы, в очередной раз, о том, что смотреть телевизор и любимый сериал можно не только в предустановленном на телевизоре приложении Netflix.

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

2. Мои требования к медиацентру

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

Вот мой список:

  • Просмотр IPTV. Как бы для некоторых это не было странно в 2021 году, но телевизор в первую очередь должен быть телевизором. С хорошим набором каналов с EPG на борту и в хорошем качестве. Архив передач приветствуется, но не обязателен.

  • Торрент-видео. Обязательна интеграция с популярными русскоязычными трекерами, просмотр на лету, скачивание во время просмотра.

  • Приятный интерфейс и юзабилити. Что бы все домочадцы без труда смогли самостоятельно посмотреть очередную серию Маша и Медведь или любимого сериала, а кто-то и новости по ТВ.

  • Встроенная библиотека. С возможностью загружать информацию о фильме/сериале из внешних источников.

  • Торрент-качалка. Обязательно внешнее управление.

  • Аппаратные требования. Платформа x86-64. Работа 24/7/365, бесшумность, управление аэромышью.

  • Требования к ПО. Полноценная ОС, желательно семейства GNU/Linux. Удаленный доступ. Внешнее управление, желательна поддержка android-устройств. Обновления.

3. Аппаратная часть, программная платформа

Все знакомства проводил на виртуальных машинах или мобильном телефоне с Android на борту. Когда поиски были завершены и выбор пал на KODI, нужно было определиться с платформой. На этапе знакомства были испробованы и готовые сборки, с отчасти урезанной ОС, типа LibreELEC и на базе Windows 8/10. Из-за желания использования медиацентра, как полную замену всей начинки телевизора и использования его, лишь как экрана, от Windows пришлось отказаться. Нужна была работа 24/7/365 включил телевизор включился экран, а KODI уже готов к работе, он и не выключался. Из-за надежности, стабильности и небольших навыков в работе, остановился на Ubuntu с окружением рабочего стола KDE Plasma Kubuntu 20.04 LTS.

К слову, вариант с одноплатным компьютером, например Raspberry Pi, не рассматривал. Учитывая ARM-платформу, не высокую производительность и SD-карту под хранилище, с моими задачами не справился бы.

3.1. Неттоп

Был приобретен мини-ПК на AliExpress, благо выбор различных исполнений и комплектующих огромен. Накопители в комплект не входили - из собственных запасов. Меньший по объему отдал под ОС, больший под основное хранилище. Габариты неттопа очень компактные, блок питания внешний. Охлаждение пассивное, корпус выполнен из металла и сам по себе является большим радиатором. Учитывая отсутствие воздушного охлаждения и даже жестких дисков, мой медиацентр не будет издавать ни малейшего шума или щелчков головки HDD. Полная тишина.

Характеристики, внешний вид и внутреннее устройство:

ЦП - Intel Celeron J1900, 4 ядра, 4 потока, 2 ГГц
ОЗУ - 4 Гб DDR3L 1333 МГц
SSD - 500 Гб (SATA III)
SSD - 64 Гб (mSata)
LAN 1 Гбит/с
HDMI 1.4
VGA
2xUSB 2.0
2xUSB 3.0



Забегая немного вперед, с уверенностью могу сказать, что такая конфигурация даже избыточна. В самые пики, максимальное значение LA, которое мне удалось увидеть редко превышало 3. Оперативной памяти 4 Гб также с большим запасом чуть более 3 Гб это максисимум, сколько могла загрузить система. По температурам также все отлично, в простое 36-40 С, при нагрузках 48-52 С.


Покупка на то время обошлась в 110 долларов с доставкой в г. Минск.

3.2. Пульт ДУ

Для управления нужна была аэромышь, и она же пульт вкл/выкл телевизора (ИК), дабы не плодить количество устройств и все управление совместить в одном. Там же, в поднебесной, был заказан пульт G10 со встроенным гироскопом, голосовым вводом и подсветкой кнопок. Адаптер USB в комплекте, с подключением не возникло никаких проблем.

Единственное, что не смог подружить головой ввод и Ubuntu. На Android все работает из коробки. Если к-то смог с этим делом разобраться поделитесь.

Все кнопки управления работали по своему предназначению, конфликтов с Ubuntu и KODI не было. Необходимо было только запрограммировать кнопку вкл/выкл на нужный ключ, чтобы им управлять питанием телевизора Samsung. Для этого удерживая кнопку вкл/выкл на аэромыши поднести пульт от телевизора и также зажать кнопку вкл/выкл. LED-индикатор медленно замигает это будет означать, что пульт закончил обучение.

Уже потом, в ходе эксплуатации, обратил внимание на слишком большие шаги кнопок регулировки громкости. Этот параметр также можно подкорректировать.

Регулировка скорости клавиш управления звуком:

  • От медленной к быстрой: нажмите и удерживайте кнопки "OK" и "Volume+". Скорость регулируется на быструю, пока горит LED-индикатор.

  • От быстрой к медленной: нажмите и удерживайте кнопки " OK " и "Volume-". Скорость регулируется на медленную, пока горит LED-индикатор.

4. Операционная система

Так как с операционной системой я определился в предыдущем разделе, перейдем к ее установке и настройке.

4.1. Подготовка и установка Kubuntu 20.04 LTS

Являясь пользователем Windows на домашнем ПК, готовил загрузочный flash-накопитель с помощью Rufus. Скачать последнюю версию, в том числе и портативную, всегда можно с официального сайта rufus.ie. Сам ISO-образ загружаем по ссылке kubuntu.org, я использовал 64-битную версию системы с длительной поддержкой (20.04.2 LTS).

Не думаю, что стоит подробно описывать ход установки ОС. Инструкция со скриншотами доступна в разделе Wiki на сайте Ubuntu. Для Kubuntu актуальной версии отличия будут лишь незначительные и то косметические в интерфейсе.

По завершении установки обязательно выполнить обновление системы

sudo apt-get update && sudo apt full-upgrade

4.2. Первичная настройка, удаление лишнего и установка пакетов для работы с системой

Устанавливаем минимальный набор программ для работы с системой. Я использую файловый менеджер midnight commander со строенным текстовым редактором mcedit, htop утилита мониторинга, ssh для удаленного управления, net-tools утилита для работы с сетевыми интерфейсами, landscape-common - отображает системную информацию в приветствии, при подключении по SSH

sudo apt-get install mc htop ssh net-tools landscape-common

Изначально, сетевой интерфейс работает по DHCP. Рекомендую сразу же присвоить статический IP-адрес, дабы в какой-то момент времени он не сменился, и вы не потеряли доступ к своему медиацентру.

Определяем все доступные сетевые интерфейсы в системе

ifconfig

Вывод:

kodi@kodi-pc:~$ ifconfigenp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500        inet 192.168.0.19  netmask 255.255.255.0  broadcast 192.168        inet6 fe80::8461:dcf8:d2c6:2d48  prefixlen 64  scopeid 0x20        ether 40:62:31:0a:11:a5  txqueuelen 1000  (Ethernet)        RX packets 3417519  bytes 5024924041 (5.0 GB)        RX errors 0  dropped 2  overruns 0  frame 0        TX packets 1059086  bytes 169628765 (169.6 MB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

В моем случае интерфейс enp1s0, ему назначен IP-адрес 192.168.0.19.

Назначим ему статический адрес 192.168.0.50 и будем дальше работать именно с ним, для этого необходимо отредактировать файл конфигурации netplan:

sudo mcedit /etc/netplan/00-installer-config.yaml

Привести к виду:

network: ethernets:  enp0s3:   addresses:    - 192.168.0.50/24   gateway4: 192.168.0.1   nameservers:    addresses: [192.168.0.1, 1.1.1.1]   optional: true version: 2 renderer: networkd

Где:
addresses IP-адрес, который будет назначен нашему сетевому интерфейсу
gateway4 IP-адрес нашего роутера
nameservers DNS сервера. Первый - наш роутер, 1.1.1.1 общедоступный DNS от Cloudflare

Сохраняем изменения и для надежности перезагружаем систему и проверяем (командой ifconfig). IP-адрес должен быть 192.168.0.50.

Для удобства, дальше работу продолжаю с домашнего ПК под управлением Windows 10 с помощью утилиты PuTTY по SSH-протоколу. SSH у нас уже установлен, используем порт 22.

SSH/SFTP-клиент для android-устройств

Среди домашних гаджетов у меня в обиходе есть планшет под управлением Android, который также иногда использую для администрирования. Могу порекомендовать очень удобного, но, к сожалению, платного клиента Termius.

Удаляем ненужные медиацентру приложения

sudo apt remove libreoffice-draw skanlite okular kpat ksudoku kmahjongg kmines kdeconnect konversation krdc ktorrent thunderbird firefox elisa vlc libreoffice-math libreoffice-calc libreoffice-writer usb-creator-kde kwalletmanager

Удаляем неиспользуемые пакеты из кэша, очищаем кэш утилиты apt и ненужные зависимости

sudo apt autoclean && apt clean && apt autoremove

Устанавливаем Google Chrome на замену Firefox

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb

В качестве торрент-клиента использую qBittorrent. Устанавливаем

sudo apt install qbittorrent

4.3. Монтирование основного диска для хранения данных

В моем медиацентре используется два SSD-накопителя (64 и 500 Гб). Меньший по объему уже используется и размечен под систему и приложения. Хранить все медиа-данные, торренты буду на накопителе большего объема. Для этого смонтируем его в файловую систему.

В моем случае накопитель sda1 отформатирован и имеет один раздел (ext4). Определяем его UUID

ls -l /dev/disk/by-uuid

Вывод:

lrwxrwxrwx 1 root root 10 мар 14 18:01 40792859-581c-46cb-be9d-ad9d9e6ce843 -> ../../sdb1lrwxrwxrwx 1 root root 10 мар 14 18:01 4f311605-04ff-4e66-8121-187f270a51f4 -> ../../sdb5lrwxrwxrwx 1 root root 10 мар 14 18:01 760198b6-694e-4d6f-b21c-ea0c530398c3 -> ../../sda1lrwxrwxrwx 1 root root 10 мар 14 18:01 c53e5dd8-c36a-48b1-8591-3aeb4bce60a0 -> ../../sdb7lrwxrwxrwx 1 root root 10 мар 14 18:01 f09293e9-209e-4dce-ba4f-56d2e33657e8 -> ../../sdb6

Все устройства на медиацентре буду монтировать в каталог /mnt. Вложенный каталог (например, kodi), куда непосредственно необходимо смонтировать раздел, создаем вручную и назначаем права

sudo mkdir /mnt/kodisudo chmod -R 0777 /mnt/kodi

Открываем для редактирования fstab

sudo mcedit /etc/fstab

и в конец файла добавляем параметры монтирования для нашего накопителя

UUID=760198b6-694e-4d6f-b21c-ea0c530398c3 /mnt/kodi ext4 rw,nosuid,nodev,relatime 0 0

Все, можно перезагрузить систему и проверить, что накопитель автоматически монтируется при старте.

4.4. Сетевые каталоги

Так как медиацентр, в моем случае, предполагает работу 24/7, удобно использовать его как общий ресурс для обмена данными между всеми домашними устройствами.

Я использую два каталога:

  • /mnt/smb каталог для обмена между устройствами. Удобно для обмена файловой информации между домашним ПК, ноутбуками и android-устройствами. На ПК с Windows 10 каталог примонтирован в систему, как сетевой диск. На мобильном телефоне использую файловый менеджер X-Plore, в котором также примонтирован этот каталог, всегда быстро и удобно скопировать информацию.

  • /mnt/kodi/qbittorrent каталог для загрузки торрентов с помощью qBittorrent (не забыть настроить сам qBittorrent на использование этого каталога, по умолчанию используется стандартный каталог загрузок). Так как загружать планирую не только видео-контент для просмотра на телевизоре, удобно использовать медиацентр как торрент-качалку, работающую 24/7. А забрать скачанную информацию всегда можно по средствам все того же смонтированного сетевого диска в Windows 10.

Создаем каталоги и назначаем права на чтение и запись

sudo mkdir /mnt/smbsudo mkdir /mnt/qbittorrentsudo chmod -R 0777 /mnt/smbsudo chmod -R 0777 /mnt/qbittorrent

Для расшаривания каталогов необходимо установить samba

sudo apt-get install samba

Конфигурируем samba

sudo mcedit /etc/samba/smb.conf

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

[smb]comment = smbpath = /mnt/smbbrowsable = yeswritable = yesguest ok = yesread only = noforce user = nobodyforce group = nogroupforce create mode = 0777force directory mode = 0777[kodi-qbittorrent]comment = kodi-qbittorrentpath = /mnt/kodi/qbittorrentbrowsable = yeswritable = yesguest ok = yesread only = noforce user = nobodyforce group = nogroupforce create mode = 0777force directory mode = 0777

И перезапускаем сервис samba

sudo /etc/init.d/smbd restart

Можно проверить с других устройств доступность каталогов и наличие прав на чтение и запись.

4.5. Установка и настройка VNC-сервера

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

Решено было использовать VNC-сервер, устанавливаем

sudo apt install x11vnc

Устанавливаем пароль

x11vnc -storepasswd "kodi" /etc/x11vnc.passsudo chmod ugo+r /etc/x11vnc.pass

Запускаем сервер

/usr/bin/x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass -bg

Для подключения я использую Real VNC Viewer для Windows или Android. Порт по умолчанию - 5900.

К сожалению, после перезагрузки системы VNC-сервер автоматически сам не запустится. Добавим в автозагрузку вручную.

Создаем крипт

sudo mcedit /usr/bin/VNCserver-start

Вставляем содержимое

#!/bin/sh/usr/bin/x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass -bg

Делаем скрипт исполняемым

sudo chmod u+x /usr/VNCserver-start

Реализовать автозапуск VNC-сервера с помощью systemd так и не удалось. С автозапуском любого другого скрипта проблем нет, именно с VNC не смог разобраться с авторизацией.

Поэтому сделал не совсем красиво, но вариант рабочий. Параметры системы -> Рабочая среда -> Запуск и завершение -> Автозапуск. Добавить, как сценарий наш скрипт /usr/VNCserver-start.

4.6. Настройка профиля HDMI в PulseAudio

У меня телевизор подключен к мини-ПК через HDMI, а аудио разъем акустической системы подключен к разъему для наушников телевизора, но PulseAudio настаивает на том, что он отключен. Вручную в микшере можно выбрать выходное устройство. Все корректно, но после ближайшей перезагрузки системы профиль снова слетает. Решить проблему можно иначе - отключить модуль switch-on-port-available в конфигурационном файле PulseAudio

sudo mcedit /etc/pulse/default.pa

Закомментировать параметр

#load-module module-switch-on-port-available

После этих изменений с выводом звука не было никаких проблем.

Будем считать, основа нашего медиацентра ОС в лице Kubuntu 20.04 готова. Можно приступать к установке и запуску KODI!

5. Установка и базовая настройка KODI

Переходим непосредственно к KODI. Он есть в официальных репозиториях Ubuntu, но я бы рекомендовал использовать репозиторий стабильных версий сообщества XBMC (так до 2014 года назывался медиацентр). Например, на момент написания этого материала в середине марта 2021 года, в репозиториях Ubuntu версия KODI была 18.7, тогда как в репозитории сообщества уже была версия 19.0 Matrix.

Добавляем репозиторий, обновляем список пакетов и устанавливаем KODI

sudo add-apt-repository ppa:team-xbmc/ppasudo apt updatesudo apt install kodi

KODI установлен, запускаем. Нас приветствует стартовая страница медиацентра и несколько предложений включить неактивные дополнения. Отвечаем Yes только на дополнении PVR IPTV Simple Client, остальные отклоняем. Также будет предложено сразу настроить это дополнение пропускаем, им займемся позже.

Первым делом меняем язык, благо KODI поддерживает различные языки интерфейса, русский/белорусский/украинский не исключение.

Settings/Interface/Regional/RussianSettings/Interface/Regional/Russian

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

В настройках стиля включаем:

  • Использовать скользящую анимацию. Интерфейс будет больнее привлекательно сменять страницы, диалоговые окна и выводить уведомления.

  • Включить автопрокрутку для сюжетов и обзоров. В библиотеке и видеодополнениях информация о фильме/сериале/серии длинное описание будет плавно прокручиваться.

  • Режим касания. Добавит кнопки управления на экран. Необходимо, при использовании мыши/аэромыши.

  • Выбрать рейтинг для показа мультимедийных элементов Рейтинг. В медиатеке и видеодополнениях на эскизе фильма/сериала/серии будет добавлена пиктограмма с рейтингом TVDB (чуть позже установим и его).

Настройки/Интерфейс/Стиль/Настроить стильНастройки/Интерфейс/Стиль/Настроить стиль

Установим и настроим дополнение погоды. В этом же разделе включаем Показывать сведения о погоде на верхней панели. Вы будете направлены на страницу выбора дополнения, нажимаем Еще и устанавливаем Gismeteo.

Установка дополнения GismeteoУстановка дополнения Gismeteo

После установки будет предложено сразу и настроить. Вводим название города, выбираем его из списка. Информация о погоде должна отображаться сверху под часами и на главном экране в разделе Погода. Если сразу этого не произошло перезапустите KODI.

Раздел погода на главном экранеРаздел погода на главном экране

Возвращаемся к настройке стиля и в разделе Элементы главного меню. Отключаем лишнее. Я оставил лишь фильмы, сериалы, ТВ, дополнения, избранное.

Настройки/Интерфейс/Стиль/Настроить стиль/Элементы главного менюНастройки/Интерфейс/Стиль/Настроить стиль/Элементы главного меню

В разделе Картинки можно выбрать и установить набор фанартов из стандартного репозитория. Это фоновые изображения всех страниц медиацентра. Можно установить любой из понравившихся в списке с префиксом Skin Backgrounds - .

Настройки/Интерфейс/Стиль/Настроить стиль/КартинкиНастройки/Интерфейс/Стиль/Настроить стиль/Картинки

Какое-то время у меня был установлен набор Darkwood Design. Со временем, из нескольких официальных наборов репозитория Kodi.tv собрал самые удачные в дополнение, которое можете также установить себе - resource.images.skinbackgrounds.arbuzov.zip.

Что касаемо самих стилей, их предостаточно даже в официальных репозиториях. Но перебрав их все, остался на стиле по умолчанию Estuary, с цветовой схемой Midnight.

Оставшиеся параметры системы оставляем по умолчанию, кроме Настройки/Система/Дополнения Неизвестные источники. Этот параметр включить обязательно. Потребуется для установки некоторых дополнений из файлов.

Параметры Проигрывателя я также оставлял без изменений.

Переходим в раздел Настройки/Службы. В Управлении разрешаем удаленное управление по HTTP и устанавливаем пароль. Это нам понадобится для управления KODI с других устройств. Чуть позже разберемся, как это сделать.

Настройки/Службы/УправлениеНастройки/Службы/Управление

В разделе Сведения о системе можно наблюдать за состоянием вашего медиацентра. Здесь и общая информация о системе, накопителях, температурах, сети, а также о каналах PVR.

В разделе Сведения есть счетчик общего времени наработки KODI. Любопытная информация. Мой медиацентр уже наработал 284 дня.

Настройки/Сведения о системе/СведенияНастройки/Сведения о системе/Сведения

Раздел с наиболее значимой информацией Оборудование. Из коробки температура ЦП у меня отображалась также, как и сейчас частота ЦП - -1C. Частоту побороть так и не смог, а вот с температурой разобраться удалось.

Настройки/Сведения о системе/ОборудованиеНастройки/Сведения о системе/Оборудование

Необходимо KODI указать, где брать информацию о температуре. Настраивается в конфигурационном файле advancedsettings.xml. В нем вообще много чего интересного, можно прочесть на официальной странице KODI/Wiki.

Если файла нет создаем его самостоятельно

mcedit /home/имя_пользователя/.kodi/userdata/advancedsettings.xml
<advancedsettings><cputempcommand>sed -e 's/\([0-9]*\)[0-9]\{3\}.*/\1 C/' /sys/class/thermal/thermal_zone0/temp</cputempcommand></advancedsettings>

После перезапуска KODI, температура отображается верно. Какой параметр использовать, например, для Raspberry Pi можно прочесть здесь.

6. IPTV. Как установить и настроить, какой сервис выбрать

Для вещания IPTV в KODI потребуется дополнение PVR IPTV Simple Client, которое мы согласились включить при первом запуске.

Что делать, если при первом запуске дополнение не было предложено включить и сейчас его вообще нет в списке дополнений или было включено, но не запускается и отмечено, как неактивное, а попытки запустить вручную завершаются ошибкой?

Ошибка при попытке включить дополнение PVR IPTV Simple ClientОшибка при попытке включить дополнение PVR IPTV Simple Client

Трудно сказать с чем связано, но на этапе тестирования на виртуальных машинах и установке на боевой сервер год назад у меня возникли проблемы с его запуском из коробки (при первом запуске KODI ничего не предложил и в списке моих дополнений его не было).

Установку выполнил вручную. Обязательно использовать последнюю версию deb-пакета. Смотрим актуальную версию здесь - pkgs.org/download/kodi-pvr-iptvsimple. Не забыть верно выбрать дистрибутив и архитектуру.

В моем случае последняя версия 7.5.0 скачиваем для Ubuntu 20.04 LTS (Focal Fossa) и устанавливаем

wget http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/pool/main/k/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple_7.5.0-1~focal_amd64.debsudo dpkg -i ./kodi-pvr-iptvsimple_7.5.0-1_focal_amd64.deb

После установки запускаем KODI, проверяем установлен и запущен ли наш PVR IPTV Simple Client.

Прежде, чем перейдем к настройкам клиента, необходимо определиться с сервисом. На просторах сети их достаточно большое количество, как платных, так и бесплатных, с архивами и без, хороших и плохих. Какое-то время пользовался бесплатными самообновляемыми плейлистами. Мне показалось это дорогой в никуда. Много не рабочих каналов, иногда и вовсе не работал ни один, низкая скорость передачи, постоянная буферизация, особенно в вечернее время и на выходных. К набору каналов, особенно в HD качестве, также есть вопросы.

Был найден оптимальный вариант - ILookTV. Сервис платный 1$/месяц. За эту неподъемную сумму я получил просто огромный список каналов, чуть более 100 из которых в HD-качестве. За год использования не было ни одного сбоя в работе. Что касается скорости передачи, то при моем интернете 25 Мбит/с - проблем не возникало ни разу. Каналы открываются мгновенно, без буферизации. Также хочется отметить качественные логотипы каналов. У других сервисов с этим явные проблемы, во всяком случае, у тех которыми пользовался я.

С регистрацией и оплатой, думаю, проблем возникнуть не должно. Описывать подробно это не буду. Первые сутки, кстати, можно попробовать бесплатно.

В личном кабинете в разделе Плейлист рекомендую выбрать только нужные вам группы каналов (много зарубежных, не русскоговорящих). Помимо выбора групп, также рекомендую пройтись и по самим каналам и отключить не нужные. Это сделать можно в разделе Конструктор. Так, например, изначально мой плейлист составлял 1800+ каналов. После выключения лишних осталось 593 канала.

Будем считать плейлист готов, можно подключать в KODI. Переходим в личном кабинете в раздел Плейлист/Скачать. Использовать можно как ссылку, так и m3u8-плейлист. При использовании ссылки возможны проблемы с доступом к сервису из-за блокировок провайдера. Скачиваем плейлист.

IPTV-плейлист готов, скачиваемIPTV-плейлист готов, скачиваем

Переходим к настройкам клиента Дополнения/Мои дополнения/Клиенты PVR/PVR IPTV Simple Client.

В разделе Основные указываем локальное расположение нашего плейлиста

В разделе EPG указываем ссылку на программу передач (ГИД):

http://epg.it999.ru/edem.xml.gz

При некорректном взаимодействии с часовыми поясами и разницей во времени, можно вручную настроить смещение +/- в часах.

В разделе Channel Logos расположение не трогаем, для Channel logos from XMLTV установить Предпочтительно M3U.

Применяем настройки и перезапускаем KODI. При старте KODI выполнит сканирование плейлиста и обновит программу передач. Об этом будет информировать нас в верхнем правом углу. По завершении переходим в раздел ТВ и наблюдаем все наши каналы, наслаждаемся просмотром.

Раздел "ТВ" на главном экране KODIРаздел "ТВ" на главном экране KODIСписок каналов, справа подробная информацияСписок каналов, справа подробная информацияТВ-программаТВ-программаВ разделе Сведения о системе/Служба PVR также должна появиться общая информация о каналахВ разделе Сведения о системе/Служба PVR также должна появиться общая информация о каналах

7. Библиотека KODI. Что это такое и как настроить

Библиотека KODI великолепна по своему функционалу и автоматизации всех процессов. Для меня это просто находка. Она структурирует по разделам Фильмы/Сериалы/Музыка и т.д. ваши медиа-данные, загружая автоматически со сторонних ресурсов трейлеры, постеры, информацию о сюжете, актерах, рейтинг и прочее, прочее... Лично я не использую офлайн-медиа, так как локально у меня не хранятся ни фильмы, ни сериалы. Но библиотека отлично взаимодействует и с другими видеодополнениями для просмотра онлайн, в частности с Elementum, который установим чуть позже.

Прежде, чем будем настраивать библиотеку, необходимо установить несколько дополнений с источниками сведений. Мой медиацентр работает с TVDB и КиноПоиск.

Дополнения KinoPoisk в официальных репозиториях нет. Необходимо установить сторонний репозиторий Seppius (скачиваем по ссылке). В браузере дополнений выбрать установку из файла ZIP и указать путь к только что скачанному архиву.

По завершении установки репозитория, возвращаемся назад и выбираем Установить из репозитория/Все репозитории/Источники сведений и устанавливаем в разделе Сведения о сериалах TVDB (new), а в разделе Сведения о фильмах - KinoPoisk.

Дополнения установлены, переходим к настройке библиотеки. Создаем два каталога, для раздельного хранения информации о фильмах и сериалах, например:

/mnt/kodi/library/Movies библиотека фильмов
/mnt/kodi/library/Shows библиотека сериалов

Далее переходим в Настройки/Медиа/Медиатека/Видео и нажимаем добавить Видеоисточник. Добавляем каталог с фильмами, даем произвольное название источнику.

В типе содержимого указываем, что этот каталог содержит фильмы, источник сведений KinoPoisk. Параметры сканирования, как на скриншоте.

Аналогично поступаем и с источником для сериалов. Обратите внимание на отличие в настройках и параметрах сканирования, это важно.

Настройка библиотеки завершена. Пока она пуста, после установки Elementum сможете добавить в нее несколько фильмов/сериалов и проверить, верно ли все настроено. Таким же образом вы можете добавить и локальные (или сетевые) каталоги с фильмами/сериалами/клипами/музыкой, KODI просканирует ваши медиафайлы, и они уже будут отображаться на главном экране в соответствующих разделах. Не забудьте только для работы с клипами и музыкой установить нужные дополнения источников сведений.

8. Elementum и Burst. Настраиваем просмотр контента торрент-онлайн

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

Итак, все по порядку. В официальных репозиториях Elementum нет. Его необходимо скачать с сайта разработчика - elementum.surge.sh, выбрав платформу (у нас Linux x64).

Устанавливаем также из файла ZIP, как устанавливали репозиторий для Кинопоиска, при подготовке библиотеки. По завершении установки KODI сам предложит установить дополнение Burst соглашаемся.

Переходим к настройкам Elementum. Привожу свои настройки на скриншотах. Обязательно указать пути для загрузок, торрентов, включить интеграцию с библиотекой KODI и указать путь к самой библиотеке (ее создавали в предыдущем разделе).

Что касается настроек загрузок, то мой накопитель в 500 Гб совершенно не лимитирует. Я установил параметры в использование файлов, максимальное. Файлы автоматически не удаляются после просмотра. Их периодически удаляю вручную.

Настройки BitTorrent оставил по умолчанию. Торренты загружаются и сидируются без ограничений по скорости. Прокси-сервер не включаем, это важно.

Переходим к настройкам провайдера Burst в Дополнения/Программные дополнения. Прокси также не используем. В разделах Разрешение и Качество выбрал только 1080p/720p и качество выше Screener/SCR, так как телевизор не поддерживает 2K/4K, а экранки не смотрю.

Настройки Elementum BurstНастройки Elementum Burst

И самое главное, указываем трекеры, с которыми будем работать. Я использую следующие (остальные отключил, так как большее количество трекеров увеличит время поиска и, как показала практика, ничего стоящего они дают в выдачах):

Открытые:
MegaPeer

Закрытые (нужна регистрация на сайте, в настройках Burst указать логин/пароль):
Rustorka
NNM-Club
RuTracker
Кинозал

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

Применяем настройки и запускаем Elementum.

Главное меню дополнения ElementumГлавное меню дополнения Elementum

Перейдите, например, в раздел Фильмы/Самые просматриваемы и выберите любой фильм.

Если все верно настроено Burst просканирует, указанные вами трекеры, и предложит выбрать стрим.

Список раздачСписок раздач

Выбрав стрим, Elementum буферизирует порядка 20-50 Мб (в зависимости от общего размера фильма) и начинает его воспроизведение.

Если завершить просмотр, согласно нашим настройкам, скачивание продолжится в фоновом режиме, информация о прогрессе будет в верхнем правом углу. Этот параметр можно отключить в настройках Elementum, тогда при остановке просмотра, загрузка будет останавливаться (или останавливаться и удаляться торрент + файл).

Для того, чтобы добавить фильм/сериал из Elementum в библиотеку из контекстного меню выбрать Добавить в библиотеку.

Котекстное меню фильма/сериала в ElementumКотекстное меню фильма/сериала в Elementum

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

"Сериалы" на главном экране"Сериалы" на главном экранеСписок серий в разделе "Сериалы"Список серий в разделе "Сериалы"Раздел "Фильмы" на главном экранеРаздел "Фильмы" на главном экране

На главном экране будут отображаться лишь недавние и просматриваемые. После того, как фильм/сериал просмотрен, он пропадает с главного экрана и находится уже в общей библиотеке, в соответствующем разделе. Указывается общее количество фильмов и сериалов, режим отображения и сортировки можно настроить под себя.

Все фильмы библиотекиВсе фильмы библиотеки

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

В следующей публикации поговорим о возможности внешнего управления KODI/Elementum и qBittorrent с помощью веб-интерфейса и Android-устройств. А также внедрим в наш медиацентр функцию учета трафика с возможностью отображения и анализа в веб-интерфейсе. Не забудем и о резервном копировании, как операционной системы, так и самого KODI.

Подробнее..

KODI. Как я собирал свой самый удобный и функциональный медиацентр для дома. Часть 2

24.03.2021 18:04:11 | Автор: admin

Продолжаем "изобретать" свой медиацентр. Начало здесь - KODI. Как я собирал свой самый удобный и функциональный медиацентр для дома. Часть 1.

Содержание:

  1. Просмотр YouTube

  2. Внешнее управление медиацентром и системой

    1. Управление qBittorrent (веб-интерфейс и мобильное приложение для Android)

    2. Управление KODI Android-устройством (Yatse, Kore)

    3. Веб-интерфейс KODI и Elementum

  3. Учет трафика медиацентра (vnStat + веб-интерфейс)

  4. Резервное копирование KODI

1. Просмотр YouTube

Было бы странно иметь современный медиацентр без возможности просмотра роликов на самом популярном видеохостинге - YouTube. Для этого есть одноименное дополнение из официального репозитория. Дополнение отлично взаимодействует и синхронизирует историю, каналы, подписки и прочее. Все как у всех. Что-то особо описывать и обозревать не вижу смысла.

Единственное, с чем могут возникнуть проблемы с авторизацией на сервисе. Для этого необходимо в консоли приложений Google создать API-проект и получить идентификатор клиента, ключ API и cсекретный код клиента. Только имея эти данные вы сможете авторизовать дополнение. На просторах сети достаточное количество пошаговых инструкций. Например, одна из них на overclockers.ru.

Но есть куда более элегантный, удобный и быстрый способ проигрывания YouTube-роликов на медиацентре KODI с помощью мобильного телефона и стандартного приложения YouTube в нем. Никаких дополнений и настроек в самом медиацентре, при этом, не требуется. К этому мы вернемся чуть позже, когда будем рассматривать управление медиацентром с помощью мобильного телефона.

2. Внешнее управление медиацентром и системой

Построив такой умный медиацентр, было бы не лишним иметь возможность управлять всеми процессами не только с самого медиацентра и подключенного в него пульта ДУ или клавиатуры/мыши.

Возможность удаленного администрирования Ubuntu по SSH-протоколу реализовали, VNC-подключение есть. Все исправно работает как с Windows, так и c Android-устройств (если пропустили, смотрите разделы 2 и 5 предыдущей публикации).

2.1. Управление qBittorrent (веб-интерфейс и мобильное приложение на Android)

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

Для этого в настройках qBittorrent включить использование веб-интерфейса, задав логин/пароль и порт. Я указываю 8081, если помните порт 8080 мы указывали в настройках KODI, он уже занят.

Теперь можем проверить доступность веб-интерфейса. Он полностью повторяет интерфейс самого приложения, работает без нареканий - рекомендую!

Помимо веб-интерфейса, использую и приложение на android-устройствах - qBittorrent Controller. Настроить подключение к вашему серверу не сложно. Вам понадобиться все тот же порт, логин и пароль.

2.2. Управление KODI Android-устройством (Yatse, Kore)

С управлением системой и торрент-качалкой разобрались, осталось самое главное управление KODI. С этим у вашего медиацентра будет полный порядок.

Для Android-платформ на выбор есть два варианта:
Kore официальное бесплатное приложение;
Yatse стороннее платное ($3.56). Большинству будет достаточно и бесплатного функционала.

Оба варианта отлично справляются со своими задачами. Для подключения используется порт 8080 и логин/пароль, заданный при первоначальной настройке KODI. Оба приложения позволяют управлять просмотром IPTV и контента из библиотеки, дополнениями. Библиотека кэшируется и доступна без подключения к медиацентру, просматривать информацию о фильмах и сериалах можно за пределами домашней сети. Хочется отметить, что Yatse с этим справляется немного лучше. Например, моя библиотека, наполненная исключительно онлайн контентом из Elementum, отображается со всеми постерами и изображениями, Kore отображает только локальные. С логотипами каналов из m3u8-плейлиста IPTV не справляется ни одно приложение, если логотипы локальные отобразят оба.

Из отличительного функционала обоих приложений, хотелось бы выделить интеграцию с Android. На любом медиафайле из контекстного меню можно выбрать пункт Воспроизведение на медиацентре KODI. Итого, любую фотографию, видео или аудиофайл, буквально в несколько кликов вы можете отправить на большой экран вашего телевизора. Еще более приятно - из приложения YouTube на своем телефоне/планшете вы можете нажать Поделиться и также выбрать Воспроизведение на медиацентре KODI - видеоролик мгновенно начнет воспроизведение на вашем телевизоре. По этой причине, кстати, я не использую дополнение YouTube, о котором недавно шла речь, хоть оно установлено и подключено к аккаунту. Гораздо удобнее и быстрее проигрывать ролики с телефона, чем из дополнения.

Виджеты рабочего стола поддерживает только Yatse. Только он еще, кстати, умеет отправлять текст на медиацентр. Удобно при необходимости набора текста на телефоне куда быстрее набрать, чем вводить с экранной клавиатуры, даже аэромышью.

Какое выбрать решать вам. Лично я отдаю предпочтение Yatse. Больше возможностей даже в бесплатной версии, гибкие настройки и более привлекательный интерфейс.

Скриншоты Yatse
Таким не хитрым способом можно проиграть любой медиа-файл с вашего телефона на телевизоре. Это же работает и в приложении YouTubeТаким не хитрым способом можно проиграть любой медиа-файл с вашего телефона на телевизоре. Это же работает и в приложении YouTube
Скриншоты Kore

2.3. Веб-интерфейс KODI и Elementum

Также для удаленного управления у медиацентра есть и веб-интерфейс. Для доступа необходим все тот же порт (8080) и логин/пароль. Функционал довольно-таки ограниченный, но его вполне достаточно для просмотра и запуска контента из библиотеки и IPTV. Взаимодействие с дополнениями также поддержано. Внешний вид веб интерфейса можно изменить, доступно несколько вариантов из стандартного официального репозитория KODI.

Свой веб-интерфейс также имеет и дополнение Elementum. Позволяет просматривать текущее состояние торрентов, добавлять новые из файла или magnet-ссылки, а также удалять уже имеющиеся. Из него также можно напрямую запустить воспроизведение торрента на медиацентре.

Скриншоты веб интерфейсов KODI и Elementum

3. Учет трафика медиацентра (vnStat + веб-интерфейс)

Мониторинг объемов входящего/исходящего трафика для медиацентра, конечно, не совсем актуален, но на длинной дистанции - любопытная информация. Для реализации этой задачи существует множество программ, в том числе и для Ubuntu. Если оставить в этом списке лишь те, которые имеют в своем составе графический интерфейс (веб, например) и анализ данных подходящего совсем немного, из-за своей масштабности, так как это будут полноценные приложения администрирования сети с огромным набором возможностей и, как следствие, высокой ресурсоемкостью. Нагружать медиацентр, ненужными в домашних условиях инструментами, не хотелось бы.

Для простого учета и отображения статистики отлично подойдет vnStat - легковесная программа для мониторинга сетевого трафика для операционной системы Linux с использованием интерфейса командной строки. Программа будет следить не за нашим KODI, а за сетевым интерфейсом. Это именно то, что нужно, так как помимо KODI, работает еще и qBittorrent.

Из коробки поставляется без веб-интерфейса, но благодаря энтузиастам, в сети есть несколько вариантов, отлично взаимодействующих с vnStat. Мне понравился вариант jsvnstat. На сайте разработчика также есть раздел Demo, в котором можно пощупать, как это выглядит и работает.

jsvnstat разработан в далеком 2013 году и, к сожалению, с тех пор не обновлялся. В связи с этим, актуальную версию самого vnStat веб-интерфейс не поддерживает. Не проблема нам будет достаточно возможностей и более старых версий.

Методом перебора нашел последнюю поддерживаемую версию vnStat 1.14. В репозиториях Ubuntu ее уже нет. Можно скачать из репозитория моего GitHub.

Скачиваем и устанавливаем нужную версию

wget https://github.com/arboozov/kodi/raw/master/vnstat_1.14-1ubuntu2_amd64.debsudo dpkg -I vnstat_1.14-1ubuntu2_amd64.deb

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

sudo apt-mark hold vnstat

Создаем БД для нашего сетевого интерфейса (в моем случае это enp1s0)

vnstat -i -u enp1s0

Устанавливаем и запускаем веб-сервер

sudo add-apt-repository ppa:ondrej/phpsudo apt-get updatesudo apt-get install apache2 php5.6 php5.6-gd wget libapache2-mod-php5.6sudo service apache2 restart

Теперь необходимо загрузить и разместить сам веб-интерфейс на нашем медиацентре. Можно использовать оригинальный вариант с сайта разработчика, либо немного измененный мой вариант. Глобальных правок я не вносил, но немного подправил внешний вид, цвета, убрал лишнее и скорректировал расчет суммарного объема входящего/исходящего трафика в ТБ.

Загружаем, например, мой вариант

wget https://github.com/arboozov/kodi/raw/master/jsvnstat.zip

Распаковываем архив по пути /var/www/html/stat/

unzip jsvnstat.zip -d /var/www/html/stat/

Задаем параметру $interface наш сетевой интерфейс, с которым будем работать, сохраняем изменения

mcedit /var/www/html/stat/settings.php

Настройка завершена, переходим по адресу http://IP-адрес_вашего_медиацентра/stat/. Если все сделано верно отобразится наш веб-интерфейс с анализом трафика с момента установки пакета. БД по умолчанию будет обновляться автоматически каждые 5 минут.

4. Резервное копирование KODI

Медиацентр с KODI на борту, обросший дополнительными возможностями на базе Kubuntu 20.04, полностью настроен и готов к работе. На этом этапе стоит задуматься над резервным копированием и сохранением всего, что сделано, в этом первоначальном состоянии. Не будем недооценивать стабильность и надежность работы нашей операционной системы, но на случай выхода из строя аппаратной части, того же SSD-накопителя, например, хотелось бы иметь возможность быстро восстановить работу, причем в том же состоянии, с наименьшими усилиями. С нуля производить установку и настройку снова сомнительное удовольствие.

Рекомендую иметь хотя бы одну копию (например, первоначального состояния) всей системы. Я сохранил образ диска с помощью Clonezilla. Имея такую копию, без особого труда, можно сказать в пару кликов, меняем накопитель и поднимаем Kubuntu со всеми настройками. Подробно описывать порядок снятия или установки образа не буду. Кто не сталкивался с работой Clonezilla хорошая инструкция на русском языке со скриншотами на losst.ru.

Что касается резервирования самого KODI, то я выполняю копирование с помощью программного дополнения Backup из официального репозитория в автоматическом режиме 1 раз в неделю. Никакого участия от меня в этом не требуется, нужно лишь один раз все правильно настроить.

Так как у меня медиацентр работает и подключен к сети круглосуточно, работу планировщика настроил на еженедельное копирование всех данных KODI в понедельник в 4:00 с хранением двух копий в архиве. То есть, условно, на третей неделе, при резервном копировании будет удалена самая старая копия (с первой недели).

Но где же хранить резервные копии? Хранить под собой на том же диске выстрел себе в ногу, на такой бэкап можно даже не тратить время. Сетевой каталог на другом домашнем хосте в моем случае не вариант, ночью все ПК выключены, днем тоже нет постоянного графика. Включать, например, в ночь каждого понедельника (по моему расписанию) домашний компьютер сомнительная автоматизация. Хотелось бы не участвовать в этом процессе от слова совсем.

Dropbox

Дополнение поддерживает интеграцию с этим популярным файловым хостингом. Подключение не сложное. Необходимо через консоль в личном кабинете сервиса создать приложение для работы с API, предоставить ему необходимый доступ (чтение, запись и удаление), а полученные ключи указать дополнению и авторизоваться. Для авторизации Backup сгенерирует ссылку, перейдя по которой Dropbox сгенерирует код валидации для подтверждения. Работает все очень хорошо, за одним исключением. Авторизации хватает на одну сессию. После перезапуска KODI авторизоваться необходимо повторно. Без авторизации, понятное дело, резервная копия не будет загружена на хостинг. Как итог, процесс опять же требует нашего вмешательства вариант нам не подходит.

Яндекс.Диск

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

В разделе Управление аккаунтом Яндекс.Диска создаем пароль приложения по WebDAV API.

Для работы с WebDAV API в Ubuntu, устанавливаем в систему пакет davfs2

sudo apt-get install davfs2

Создаем каталог, куда будем монтировать наш Яндекс.Диск и назначаем права

sudo mkdir /mnt/yandex.disksudo chmod -R 0777 /mnt/yandex.disk

Добавляем аккаунт нашего Яндекса в davfs2, где:
логин имя пользователя в сервисе Яндекс, без @домена
пароль ID, созданный в паролях приложений аккаунта Яндекс.Диск

echo "https://webdav.yandex.ru логин пароль" >> /etc/davfs2/secrets

Монтируем в директорию /mnt/yandex.disk

sudo mount -t davfs https://webdav.yandex.ru /mnt/yandex.disk

Конфигурируем fstab, чтобы монтирование Яндекс.Диска в наш каталог происходило автоматически, при старте системы

sudo mcedit /etc/fstab

Вставить в конец файла

https://webdav.yandex.ru:443 /mnt/yandex.disk davfs user,rw,_netdev 0 0

Осталось лишь указать наш каталог в настройках дополнения Backup.

Не будем дожидаться ближайшей ночи понедельника и запустим создание резервной копии вручную. После года работы KODI, объем данных для резервирования у меня составляет 1.61 Гб, после архивации 1.35 Гб. В верхнем правом углу будет выводиться информация о ходе выполнения резервной копии.

Google Drive

По аналогии можно настроить бэкап KODI и на сервис от Google. Отличие будет лишь в монтировании его в систему. Приступаем.

Нам понадобится пакет google-drive-ocamlfuse. Добавляем в систему репозиторий, обновляем список пакетов и устанавливаем

sudo add-apt-repository ppa:alessandro-strada/ppasudo apt-get updatesudo apt-get install google-drive-ocamlfuse

Создаем директорию, куда будем монтировать и назначаем права

sudo mkdir /mnt/google.drivesudo chmod -R 0777 /mnt/google.drive

Теперь необходимо из-под пользователя (не sudo), авторизованного в системе из консоли выполнить команду

google-drive-ocamlfuse /mnt/google.drive

Вы будете перенаправлены в браузер для авторизации. По ее завершении Google у вас спросит разрешить ли KODI управлять вашим диском подтверждаем.

Готово, можно перейти в директорию /mnt/google.drive и увидеть там свои файлы в облаке.

Как и в случае с Яндекс.Диском, Google Drive после перезапуска системы автоматически не смонтирует ваш диск. Настроим автомонтирование самостоятельно.

Создаем скрипт

mcedit /usr/bin/gdfuse

Вставляем содержимое

#!/bin/bashgoogle-drive-ocamlfuse -label $1 $*exit 0

Назначаем права на выполнение и копируем в root

sudo chmod +x /usr/bin/gdfusesudo cp -r /home/имя_пользователя/.gdfuse /root/

Осталось лишь сконфигурировать fstab

sudo mcedit /etc/fstab

Вставляем в конец файла

gdfuse#default /mnt/google.drive fuse allow_other 0 0

Теперь ваш облачный диск всегда будет монтироваться в систему автоматически.

В завершении темы о резервном копировании KODI, хочется добавить, что, помимо стандартных данных для резервирования, можно добавить и свой каталог. С единственным ограничением каталог должен быть по пути /home/имя_пользователя/.kodi/. Например, у меня там находится каталог wiki с какими-то моими заметками, скриптами и настройками. Для этого в настройках дополнения Backup в Типы файлов сменить режим с Simple на Advanced и добавить нужный каталог он теперь также будет добавлен в архив резервной копии.


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

P.S. В планах на втором телевизоре также поднять KODI (вероятно на Raspberry Pi 3/4) и синхронизировать оба устройства с помощью MySQL. Публикация о проделанной работе в этом направлении обязательно будет.

Подробнее..

KODI собираем удобный и функциональный медиацентр для дома. Часть 6. Синхронизация медиатеки. MariaDB

12.04.2021 02:07:50 | Автор: admin

Лирическое отступление

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

Но я все больше погружался в его возможности и постепенно наращивал функционал. Реализовал, казалось бы, простые вещи, но, если сложить все мелкие детали воедино понимаешь, насколько все комфортно, логично и продумано, а главное - функционально. Именно такую оценку я даю всему конечному результату. Для кого-то это будет вовсе не так, конечно, ведь у всех свои фломастеры. Но после первых публикаций я получил массу положительных откликов от аудитории и гостей хабра, и понял, что кому-то пригодился мой опыт. Это приятно. Поэтому, хочется продолжать.

Если вы пропустили предыдущие публикации обязательно загляните в них, возможно и для вас найдется что-то интересное. Если в двух словах установили и настроили с нуля ОС и KODI, настроили просмотр торрент-контента, YouTube, IPTV. Поговорили об управлении с других устройств, резервном копировании, анализе трафика и даже научили KODI запускать ретро-игры.

Все предыдущие публикации:

KODI: собираем удобный и функциональный медиацентр для дома. Часть 1
KODI: собираем удобный и функциональный медиацентр для дома. Часть 2
KODI: собираем удобный и функциональный медиацентр для дома. Часть 3. Ретро-игры
KODI: собираем удобный и функциональный медиацентр для дома. Часть 4. Архив IPTV
KODI: собираем удобный и функциональный медиацентр для дома. Часть 5. Яндекс.Музыка

Зачем это все затевалось?

Среди медиаустройств, в моем домашнем обиходе два телевизора. Основной в гостиной работает с KODI, второй на кухне под управлением Tizen OS. Мысль о том, что последнего также нужно посадить на KODI возникла спустя пару недель после запуска медиацентра на основном телевизоре. Но руки все никак не доходили

Каждый раз, переключая ужасного качества каналы кабельного ТВ на кухне, я вспоминал о своей затее. И вот пришло время воплотить ее в жизнь. Для этой задачи в поднебесной был заказан Raspberry Pi 3 и все та же аэромышь, как и для основного телевизора (подробнее о ней в первой части).

Итого, в гостиной KODI на базе неттопа с Kubuntu 20.04 на борту, на кухне LibreELEC на базе третьей малинки.

Кухонный медиацентр должен выполнять всего две задачи:
просмотр IPTV. Буду использовать все тот же сервис ilook и дополнение PVR IPTV Simple Client. К слову, сервис позволяет использовать плейлист на двух устройствах без дополнительной платы за тариф.
просмотр торрент-видео. Потому как локальной библиотеки фильмов и сериалов у меня нет.

О том, как установить LibreELEC на малинку описывать, думаю, не стоит. А как подключить IPTV и Elementum для просмотра торрентов я рассказывал в другой публикации.

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

KODI позволяет реализовать синхронизацию медиатеки на разных устройствах. Для этого потребуется MySQL-сервер, на котором и будет храниться эта медиатека. Сервер может быть поднят на совершенно сторонней машине, хоть под управлением Windows. В моем случае, основной медиацентр работает 24/7, аппаратные ресурсы позволяют сервером назначает его, на нем и будем поднимать базу данных.

Надеюсь, суть и прелести такой архитектуры домашних медиацентров понятна.

Подготовка серверной части. MariaDB

Прочитав Wiki на официальном сайте KODI, решил, что все довольно просто и понятно бери и делай. Но на практике оказалось все иначе БД не наполняется моей медиатекой, в логах ошибки не поддаются пониманию или записей нет вообще, от того понять, что сделано не так достаточно трудно. Второе устройство подключать к БД смысла нет синхронизировать нечего.

В комментариях к предыдущей публикации был затронут этот вопрос и @vyacheslavteplyakov дал понять, что Wiki не обновляется и информация, вероятно, устарела. Но и указал на основные подводные камни и как их обойти.

Особенности:

  • Использовать MariaDB;

  • Медиатека должна быть размещена в сетевом каталоге;

  • Все пути к медиатеке на всех устройствах должны быть абсолютные;

  • Сетевые каталоги NFS или SMB, если вынуждены использовать NTFS, то только с авторизацией по учетной записи с паролем;

  • Версии KODI на всех устройствах должны быть одинаковы.

С задачей и подводными камнями разобрались приступаем к работе. Напомню, сервером у нас будет KODI на неттопе с Kubuntu 20.04.

Устанавливаем сервер MariaDB

sudo apt updatesudo apt install mariadb-server

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

Запускаем скрипт безопасности

sudo mysql_secure_installation

Откроется серия диалогов, где можно внести некоторые изменения в параметры безопасности установки MariaDB. Параметры установите, исходя из собственной безопасности. Учитывая, что моя БД будет наполняться лишь медиатекой и находится она в изолированной домашней сети сделал так:

root@kodi-pc:/# sudo mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user.  If you've just installed MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none):

Пароль не задаем, нажимаем ENTER.

Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.Set root password? [Y/n]

Отклоняем (N).

By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem.  This is intended only for testing, and to make the installationgo a bit smoother.  You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n]

Удаляем (Y).

Normally, root should only be allowed to connect from 'localhost'.  Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n]

Отклоняем (N).

By default, MariaDB comes with a database named 'test' that anyone canaccess.  This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n]

Удаляем (Y).

Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n]

Соглашаемся (Y).

Теперь создадим пользователя, из-под которого будут работать с БД наши медиацентры. Для создания пользователя kodi с паролем kodi запускаем оболочку MariaDB и выполняем команду

sudo mariadbGRANT ALL ON *.* TO 'kodi'@'localhost' IDENTIFIED BY 'kodi' WITH GRANT OPTION;

Разрешаем доступ с любого хоста ко всем базам данных на сервере для пользователя kodi

GRANT ALL PRIVILEGES ON *.* TO kodi@'%' IDENTIFIED BY 'kodi';

Очищаем привилегии, чтобы они были сохранены и доступны в текущем сеансе

FLUSH PRIVILEGES;

Оболочку MariaDB можно закрывать, выполнив команду

exit

Для организации доступа вне локального хоста, необходимо указать порт 3306 и bind-address 0.0.0.0. Открываем конфигурационный файл MariaDB

sudo mcedit /etc/mysql/mariadb.conf.d/50-server.cnf

Раскомментировать параметр

port = 3306

Для параметра bind-address установить 0.0.0.0 (вместо 127.0.0.1)

bind-address = 0.0.0.0

Для применения изменений перезапускаем MySQL-сервер

sudo service mysql restart

На данном этапе можно проверить, верно ли мы все сделали. Для этого лучше всего подключиться к нашему серверу со сторонней машины. Это гарантирует работоспособность доступа к БД вне локального хоста.

Как вариант - MySQL Workbench.

Создаем новое подключение:
Connection Method - Standart (TCP/IP)
Hostname 192.168.0.50 (заменить на адрес вашего сервера)
Port 3306
Username kodi (имя пользователя, если создавали своего)

Нажимаем Test Connection, вводим пароль и в случае, если все корректно получаем соответствующее сообщение:

Подключение к серверу также должно быть успешным. Вы должны увидеть ничего. Это тоже хороший знак. Сейчас мы и займемся наполнением БД.

Подготовка серверной части. KODI

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

Библиотеку мы настраивали еще в первой части. Никуда ее не переносим, пути оставляем прежние:
/mnt/kodi/library/Movies библиотека фильмов
/mnt/kodi/library/Shows библиотека сериалов

Необходимо лишь расшарить каталог /mnt/kodi/library. Конфигурируем samba

sudo mcedit /etc/samba/smb.conf

В конец конфигурационного файла вставляем:

[library]comment = librarypath = /mnt/kodi/library/browsable = yeswritable = yesguest ok = yesread only = noforce user = nobodyforce group = nogroupforce create mode = 0777force directory mode = 0777

И перезапускаем сервис samba

sudo /etc/init.d/smbd restart

Теперь наша библиотека будет доступна всем устройствам в домашней сети.

Важно! В источниках медиатеки также необходимо указать абсолютный путь к директории с файлами библиотеки! Хоть она и находится локально на этом устройстве (сервере).

Переходим в Настройки/Медиа/Медиатека/Видео и в существующих источниках Movies и Shows изменяем пути на нужные, выбрав Добавить сетевой адрес. В качестве логина и пароля используйте данные вашей учетной записи в Kubuntu.

После изменения путей, источники будут отображаться и в KODI, как сетевые.

Теперь дадим понять KODI, что мы хотим работать с базой данных. Для этого в файле advancedsettings.xml (/home/имя_пользователя/.kodi/userdata/) добавить:

<advancedsettings>  <videodatabase>    <type>mysql</type>    <host>192.168.0.50</host>    <port>3306</port>    <user>kodi</user>    <pass>kodi</pass>  </videodatabase>  <videolibrary>    <importwatchedstate>true</importwatchedstate>    <importresumepoint>true</importresumepoint>  </videolibrary></advancedsettings>

Если файл advancedsettings.xml отсутствует создайте его вручную. Параметры изменить в соответствии с вашими настройками, где:
Host IP-адрес вашего MySQL-сервера;
User имя пользователя MariaDB;
Pass пароль пользователя MariaDB.

На стороне сервера всё готово. Можно проверить. Перезапускаем KODI и, в зависимости от объема вашей медиатеки, ждем какое-то время, пока KODI ее обработает.

Информация о моей медиатеке:
Фильмов 322
Сериалов 68

Размер - 380 Кб

Общее количество файлов (nfo и strm) 3826

Моя медиатека обрабатывалась порядка 10 минут. По завершении обновления медиатеки давайте посмотрим на нашу БД. Снова подключаемся к серверу с помощью MySQL Workbench.

Как видим, KODI самостоятельно создал БД MyVideos119 и наполнил ее всеми нашими фильмами и сериалами. Например, в таблице Movie - фильмы. Значит, мы все сделали правильно.

После завершения импорта медиатеки в БД, можно еще оценить и ее ресурсопотребление. Моя медиатека заняла в ОЗУ чуть более 100 Мб. Это дает понять, что, даже значительный рост количества фильмов и сериалов, не скажется на производительности основного моего медиацентра.

Настройка клиентской части

Настройки других устройств, которые необходимо синхронизировать с сервером, очень просты:

  • advancedsettings настраиваем, также как на сервере;

  • добавляем источники в Настройки/Медиа/Медиатека/Видео также, как и на сервере, указывая абсолютные сетевые пути;

  • если вы, как и я используете дополнение Elementum в его настройках также изменить пути на абсолютные до сервера (путь к библиотеке и путь к торрент-файлам). Таким образом, где бы вы не начали смотреть (скачивать) фильм, сохранится он на сервере. Да и в моем случае, не рационально было бы для малинки иметь свое файловое хранилище.

Для упрощения настройки своей малинки я просто перенес конфигурационные файлы с основного медиацентра:

/home/kodi/.kodi/userdata/advancedsettings.xml
/home/kodi/.kodi/userdata/sources.xml
/home/kodi/.kodi/userdata/addon_data/plugin.video.elementum/settings.xml
/home/kodi/.kodi/userdata/addon_data/script.elementum.burst/settings.xml

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

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

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

Всем хорошего времяпрепровождения с медиацентром KODI!

Подробнее..

Перевод - recovery mode Как написать скрипт HelloWorld для Kodi на Python 2.x

01.05.2021 10:11:55 | Автор: admin

1. Введение


Напишите ваш первый скрипт для Kodi/XBMC с помощью этого урока! Если вам нужна помощь с написанием плагина, открывайте урок http://kodi.wiki/view/Audio-video_add-on_tutorial

2. Инструменты


Для вашего первого скрипта выбирайте текстовые редакторы notepad++ или sublime из-за их подсветки синтаксиса. Установите Kodi себе на компьютер.

URL = http://www.sublimetext.com
URL = http://notepad-plus-plus.org

3. Установка


Найдите git-репозиторий официального скрипта HelloWorld здесь https://github.com/zag2me/script.hello.world

и установите его в Kodi отсюда https://github.com/zag2me/script.hello.world/archive/master.zip с помощью zip-файла.

4. Первый запуск


Откройте ваше диалоговое окно с тремя строками текста с помощью команды
Система >> Дополнения >> Мои дополнения >> Программные дополнения >> Hello World.



5. В папке addons


Не закрывая Kodi, откройте папку с вашим скриптом и исправьте его! В Windows она находится здесь: C:\Users\user\AppData\Roaming\XBMC\addons\script.hello.world



Если у вас Mac, ищите ее тут: /Users/<your_user_name>/Library/ApplicationSupport/Kodi/addons/script.hello.world [1]

6. Структура


addon.py пишите здесь вашу программу на Python.

addon.xml опишите здесь ваш скрипт.

changelog.txt обновляйте этот текстовый файл с каждой новой версией.

icon.png нарисуйте знак вашего скрипта в квадрате со стороной 256 или 512 пикселей.

LICENSE.txt расскажите об авторских правах на ваш скрипт.

7. XML


Прежде всего укажите ID, название и версию вашего скрипта, а также имя его автора с помощью первой строки XML-файла. Придумайте уникальный ID, как на скриншоте ниже.

Объясните XBMC с помощью секции Requires, какие модули вы ходите импортировать. Упомяните там скрипт xbmc.python.

Сообщите XBMC тип вашего скрипта с помощью extension point. Поместите туда executable с помощью элемента <provides>.

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



8. Программа


Назовем ее addon.py. Кстати, хотите изучить Python открывайте веб-сайт https://www.codecademy.com/learn/learn-python.

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

Далее идут строки для информирования системы о нашем скрипте и о его имени.

В строках 7, 8 и 9 начинается настоящая магия. С их помощью мы назначим значения трем переменным (line1, line2 и line3).

С помощью крайней строки покажем окно со значениями этих переменных на экране компьютера. Вместе с ними отобразим имя скрипта и сделаем кнопку ОК.



9. Другой код


Умея запускать ваш скрипт, понимая его структуру и зная, что он делает, изменим его!

Откройте папку с вашим скриптом, исправьте код. Будьте готовы запустить его с помощью Kodi, когда сделаете это. Для этого переключитесь между текстовым редактором и Kodi.

Поменяйте значения переменных.
line1 = Goodbye world!

line2 = And welcome back

line3 = My own Add-On!

Сохраните файл и запустите скрипт из Kodi. Вы увидите новые строки.

Поздравляем! Теперь вы XBMC/Kodi-программист!

10. Заключительные соображения


Очевидно, что с помощью интерфейса Python вы получите доступ к большему числу команд Kodi, чем узнали из этого урока. Также для этого имеется интерфейс JSON.

Не стесняйтесь обсуждать этот урок на ветке форума http://forum.kodi.tv/showthread.php?tid=209948, если у вас есть какие-либо вопросы.

11. Кое-что еще


Вы можете найти другие варианты скрипта HelloWorld с помощью гиперссылки http://kodi.wiki/view/GUI_Tutorial.

12. Примечания


1. Userdata https://kodi.wiki/view/Userdata
Подробнее..

Перевод - recovery mode Как написать видео плагин для Kodi

08.05.2021 10:22:37 | Автор: admin

1. Введение


Узнайте, как написать ваше первое видео расширение для Kodi/XBMC из этого урока!

2. Инструменты


Если вы делали урок про то, как написать скрипт HelloWorld, то у вас уже, наверное, установлен текстовый редактор, который нам понадобится и в этом уроке. Может быть, стоит установить еще и видео плеер, раз мы теперь имеем дело с видео. Вдобавок к Kodi установите vlc, такой же замечательный и открытый.

VLC www.videolan.org/vlc

3. Установка


В этом уроке нам понадобятся два достаточно простых видео плагина. Найдите их в git-репозитории.

Можете загрузить себе на компьютер оба zip-файла и установить видеодополнения из zip-файла внутри интерфейса Kodi. Также можете распаковать их в папку userdata/addons.

4. Первый запуск


Выполните команду Система >> Дополнения >> Мои дополнения >> Видео дополнения >> Example Kodi video Plugin и вы увидите несколько тестовых видео с некоего интернет-сервера.



5. Что это было


Видео плагин сделал свое дело. Как?

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

Отправив видеогиперссылку в Kodi, мы передаем управление нашему видеоплееру, который буферизует видео и затем воспроизводит его так же, как из любого другого источника.

6. Структура


main.py вот она, ваша программа на Python.

addon.xml а это ее описание в формате xml.

icon.png значок для вашего плагина. Нарисуйте его в квадрате величиной 256 или 512 пикселей, сделайте это красиво.

Readme.md прочтите это на странице используемого в этом уроке видеодополнения на GitHub, чтобы знать, что и как в общем оно делает, а также откуда его можно скачать.

7. Текст программы


Скоро вы увидите текст видеодополнения. Код на Python, который составляет большую его часть, хранимый в простом текстовом файле.

Дадим Kodi понять, что нам нужно.



Сделаем еще кое-что



Чтобы не заморачиваться с парсингом или API ради ссылок на видеофайлы/потоки с какого-либо веб-сайта или онлайн-ресурса, как это делается в настоящих расширениях Kodi (потому что совсем не за тем был написан этот плагин), берем фиксированный набор свойств.



А теперь объявим это



Сообщим Kodi еще кое о чем



Без списка категорий никуда.



Расскажем Kodi, как мы перечислим наши видео



и где они находятся.



Добавим маршрутизацию в наш плагин



и передадим это Kodi.



8. Изменим код!


Умея запускать ваше расширение, понимая его структуру и зная, что оно делает, изменим его!

Откройте папку с вашим видео плагином, исправьте код. Будьте готовы запустить его с помощью Kodi, когда сделаете это. Для этого переключитесь между текстовым редактором и Kodi.

Откройте main.py из вашей папки userdata и как следует его исправьте.



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

Сохраните файл с помощью вашего текстового редактора и запустите видеодополнение из Kodi. Обратите внимание, как изменились видео в видеодополнении и его структура.

Поздравляем с тем, что ваше видеорасширение теперь воспроизводит новые видео из интернета!

9. Потоковое видео


Как опытный программист, я вам сейчас расскажу кое-что про настоящие видеодополнения.

Во-первых, я бы им не стал без документации на codedocs.xyz, которая поможет и вам не хуже какой-нибудь вики-энциклопедии.

codedocs.xyz/xbmc/xbmc

Кстати о документации. Руководство по ListItem будет вам все время помогать, если вы свяжетесь с потоковым видео.

codedocs.xyz/xbmc/xbmc/group__python__xbmcgui__listitem.html#gac31a08def90f50295146753353cb9541

Сами по себе вы мало что сделаете, полагаясь на стриминговую платформу, которая вам и передаст данные для вывода в Kodi элементов с URL-адресами видео. Когда вашим видео понадобится DRM, полагайтесь на InputStream.Adaptive.

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

получать необходимую информацию из интернета (пусть для начала это будут заголовки и url-адреса);

создавать элементы, которые Kodi будет рассматривать как источники видео (см. об этом xbmcplugin.addDirectoryItem() and xbmcgui.ListItem()).

Знакомство с написанием плагинов для работы с потоковым видео будет неполным без чтения исходников этих самых расширений, таких как AsciiDisco для Nexflix или Sandmann79 для Amazon/AmazonVOD.

Хотите прочитать об этом больше? Идите на ветку форума.

10. Заключительные соображения


На самом деле, написание видеодополнений дело довольно простое, как только вы получите хорошую базовую структуру. Можете парсить с помощью Regex многие онлайн-источники, либо размещать там свои собственные видео. С помощью простых в использовании дополнительных модулей у вас в Kodi появятся видеоклипы с youtube или vevo-видео.

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

11. Кое-что еще


Никогда не вводите табуляцию вместо пробелов в Python. Не спрашивайте почему. Просто запомните это.
Подробнее..

KODI собираем удобный и функциональный медиацентр для дома. Часть 3. Ретро-игры

27.03.2021 22:10:41 | Автор: admin

Продолжаем строить домашний медиа-комбайн на Kubuntu с KODI на борту. О том, как разворачивался медиацентр, как его настраивали и какими дополнительными возможностями он оброс, можно прочесть в предыдущих публикациях:

KODI: собираем удобный и функциональный медиацентр для дома. Часть 1
KODI: собираем удобный и функциональный медиацентр для дома. Часть 2

Сегодня добавим нашему медиацентру еще одну обязанность запуск ретро-игр. Причем, играть будем прямо из KODI и из его библиотеки игр. Загружать сами игры будем там же.

Воплотить идею в жизнь нам поможет RetroArch. Он работает на основе LibRetro API и объединяет множество эмуляторов и игровых движков, а также отлично взаимодействует с KODI то, что нам и нужно. Каких-то особых трудностей в реализации этой связки нет, но учитывая платформу Linux, есть некоторые нюансы, зная которые вы легко сможете повторить установку и настройку на своем медиацентре. Приступаем!

Первым делом необходимо установить сам RetroArch. Устанавливать рекомендую с помощью snap-пакета, потому как RetroArch включает в себя некоторые необходимые зависимости, которые не удовлетворяет (но это не точно) установка из deb-пакета. Если вы не хотите столкнуться, как я, с некорректным отображением кодировки, кривого интерфейса и ручными правками конфигурационных файлов RetroArch используйте установку именно из snap-пакета.

К слову, даже исправив все видимые проблемы и загрузив все эмуляторы - KODI отказывался запускать игры и жаловался на отсутствие эмуляторов.

Так выглядит первый запуск после установки из deb-пакетаТак выглядит первый запуск после установки из deb-пакета

Устанавливаем RetroАrch. Если демон для управления snap-пакетами snapd отсутствует в системе будет установлен автоматически

sudo snap install retroarch

Установка завершена, запускаем RetroArch, выполнив в терминале одноименную команду

retroarch
Так выглядит первый запуск RetroArch, если все установлено корректно. Сравните со скриншотом выше...Так выглядит первый запуск RetroArch, если все установлено корректно. Сравните со скриншотом выше...

Первым делом переходим в раздел Главное меню/Онлайн и обновляем всю конфигурацию:
Обновить информационные файлы ядер;
Обновить ассеты;
Обновить профили контроллеров;
Обновить читы;
Обновить базы данных;
Обновить оверлеи;
Обновить GLSL шейдеры.

Обновляем все доступные конфигурацииОбновляем все доступные конфигурации

В разделе Главное меню/Load Core/Загрузить ядро загрузить необходимые ядра. Под ядром понимаем эмулятор игровой платформы. Для надежности я загрузил все доступные ядра, решив, что хуже точно не будет. Особенно, учитывая большое количество поддерживаемых платформ в KODI, выбирать и искать нужные займет больше времени, чем загрузка и установка всех эмуляторов.

Загружаем все доступные ядраЗагружаем все доступные ядра

Все остальные настройки оставил по умолчанию, кроме Настройки/Драйверы/Оконный режим - Запускать в полноэкранном режиме.

Подготовка RetroArch завершена, можем его закрывать. В дальнейшем KODI будет сам его вызывать при запуске игр, автоматически выбирая нужное ядро (эмулятор).

Переходим к настройке KODI. Для управления играми и их запуска нам потребуется дополнение Internet Archive Game Launcher. Устанавливаем из файла ZIP репозиторий Zach Morris Add-ons, а уже из него нужное нам дополнение.

Если при установке дополнения сталкиваемся с ошибкой Требуемое дополнение vfs.libarchive версии 0.0.0 не найдено - не пугаемся!

Ошибка при установке Internet Archive Game LauncherОшибка при установке Internet Archive Game Launcher

Закрываем KODI и устанавливаем его вручную из терминала Kubuntu

sudo apt-get install kodi-vfs-libarchive

По завершении установки запускаем KODI и он сам спросит, включить ли дополнение соглашаемся и повторно пробуем установить дополнение Internet Archive Game Launcher. Ошибок уже быть не должно.

Дополнение установлено, все успешно, можем перейти к его настройке.

Для начала запускаем мастер настройки Setup Wizard. Сообщаем дополнению, что у нас нет аккаунта archive.org, в качестве лаунчера использовать Kodi Retroplayer и соглашаемся с установкой эмуляторов по умолчанию, а также подтверждаем загрузку всех списков игр.

Далее в настройках указываем размер хранилища для игр, в зависимости от ваших ресурсов (zero кэш выключен, игра будет загружаться каждый раз). Я бы рекомендовал не скупиться и все же использовать кэш, особенно тем, кто решит играть в тяжелые игры от Playstation, например. Размер их исчисляется в ГБ, а скорость загрузки там не самая высокая.

В разделе External Launchers выбираем Linux и указываем пути:
/snap/bin/retroarch/
/home/имя_пользователя/snap/retroarch/423/.config/retroarch/retroarch.cfg

Если у вас не будет возможности указать путь к конфигурационному файлу, расположенному в скрытой директории (.config), то включите эту возможность в системе Настройки/Медиа/Общие/Показывать скрытые файлы и папки.

На этом настройка завершена, запускаем дополнение и проверяем. Сразу хочу оговориться, что запускаются не все типы платформ. Например, при запуске из категории Gameboy, KODI будет жаловаться, что не найден эмулятор. Но проверив несколько десятков игр на других популярных платформах (Dendy, SEGA, SEGA Dreamcast, Nintendo, Playstation, PSP) все успешно запускается, можно ностальгировать.

Как и говорил, загрузка "тяжелых" игр, объемом даже 500-600 Мб, занимает довольно много времени, вне зависимости от вашего канала связи. Вероятно, ограничение сервера на отдачу. При запуске KODI автоматически вызывает нужный эмулятор. С учетом запуска в полноэкранном режиме, кажется, что игра запускается прямо в KODI.

Геймпад, за его отсутствием, не подключал. Но уверен, никаких проблем с подключением и, при необходимости, переназначением кнопок возникнуть не должно.

Хорошего времяпрепровождения!

Подробнее..

KODI собираем удобный и функциональный медиацентр для дома. Часть 5. Яндекс.Музыка

07.04.2021 12:05:29 | Автор: admin

Продолжаем изобретать домашний медиацентр с помощью Kubuntu и KODI. В предыдущих публикациях рассмотрели, как с чистого листа установить и настроить ОС и сам KODI, подключили отличное IPTV с программой передач, возможностью перемотки и просмотра архива IPTV. Также получили возможность играть в ретро-игры прямо на телевизоре с помощью все того же KODI. Ну и конечно просмотр торрент-контента.

Все это и многие другие плюшки подробно рассмотрели ранее. Если пропустили обязательно загляните в эти публикации:
KODI: собираем удобный и функциональный медиацентр для дома. Часть 1
KODI: собираем удобный и функциональный медиацентр для дома. Часть 2
KODI: собираем удобный и функциональный медиацентр для дома. Часть 3. Ретро-игры
KODI: собираем удобный и функциональный медиацентр для дома. Часть 4. Архив IPTV

Сегодняшняя публикация будет совсем короткая, но надеюсь многим полезная. Особенно тем, кто не имеет локальной библиотеки музыки, но не прочь ее слушать на домашнем медиацентре, с подключенной к нему хорошей аудиосистемой.

Речь пойдет о достаточно популярном сервисе Яндекс.Музыка. В особом представлении, думаю он не нуждается. Для интеграции KODI с этим сервисом нам потребуется одноименное дополнение.

Для его установки в KODI версии 19.0 Matrix скачиваем ZIP-файл репозитория Dandy's Kodi Repository (Matrix). Для версии 18.0 Lea - Dandy's Kodi Repository (Lea).

Репозиторий установлен - устанавливаем аудиодополнение Яндекс.Музыка.

Никаких сложных действий далее от нас не требуется. Нужна лишь авторизация. Без авторизации треки играют по 30 секунд (ограничение Яндекса).

В поле логин указать только имя пользователя (без @ и домена).

После авторизации в дополнения становится доступным раздел Моя музыка.

Также доступны:

  • Поиск (только исполнители)

  • Новые плейлисты

  • Новые релизы

  • Чарт

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

Также дополнение поддерживает удаленное управление (Yatse/Kore).

Приятного прослушивания музыки!

Подробнее..

Смотреть фильмы с субтитрами на телефоне?

12.07.2020 20:15:48 | Автор: admin

А почему бы собственно и нет? Идея родилась тогда когда я начал смотреть фильмы в оригинале, но с субтитрами. В какой-то момент я обратил внимание на то, что я совершенно не концентрируюсь на разговорной речи, не пытаюсь ее понять, а только читаю субтитры. Попробовал выключить субтитры, но очень быстро включил обратно, так как просто не понимал на слух. Вот тогда и начала зарождаться идея, чтобы разделить фильм и субтитры.


Сначала хотел сделать, чтобы их можно было легко включать и отключать, но этого было недостаточно, так как надо было еще отмотать обратно, чтобы пересмотреть непонятный участок с субтитрами. Потом возникла идея показывать субтитры таблицей рядом с фильмом, так как иногда в сложных диалогах нужен контекст и мотать туда обратно устанешь. В конце концов когда купил телевизор, решил, что лучше их показывать на телефоне. Когда надо я могу прочитать вперед, назад, когда не надо он рядом лежит. Вот так и родилась идея этой аппликации kodi-remote-subtitles.


Первая мысль была, сделать addon к Kodi, но когда начал читать manual то оказалось, что есть вполне себе годный api которым и решено было использоваться.


Сначала попробовал воспользоваться http, но возникли проблемы с CORS. Так как было желание сделать это как можно просто, то писать серверную часть не хотелось и поэтому я решил воспользоваться websocket у которого такой проблемы нет. В теории хотелось, чтобы была только клиентская версия аппликации которая бы бежала где-то на github pages и любой мог бы воспользоваться, к сожалению это оказалось невозможно. Kodi не поддерживает безопасное соединение 'wss://...' а только 'ws://...' что в итоге вылилось в mixed content. Подымать http сервер я не стал, считаю это не правильно. Для себя я решил, что если увижу, что аппликация помогает и люди пользуются то напишу уже мобильную аппликацию, это же скорее проверка концепции.


Что делает аппликация? Она синхронизируется с Kodi, и если вы загружаете на нее субтитры в формате *.srt (также можно скачать с opensubtitles), то показывает их в виде списка субтитров. Если вы что-то не поняли, то можете остановить просмотр и прочитать, или вернуться. Опять-таки, основная идея смотреть фильмы без, и если не понятно, то можно удобно и быстро проскользнуть глазами и понять о чем речь.



Например, я одновременно на iPad открываю мою аппликацию с google translate, и сразу можно перевести непонятное предложение:



Когда я рассказал другу про нее, то он попросил добавить возможность одной кнопкой включать/выключать субтитры на экране, а также перемотать на 15 секунд назад и включить субтитры одной кнопкой. Для него был сделан basic view режим:



Как установить?


Для запуска проекта нужен локальный http server (аппликация должна отдаваться с http, не https), я просто поставил на mibox s termux, и установил nginx. Проект написан на VueJS и выложен здесь: https://github.com/anatoly314/kodi-remote-subtitles. Для компиляции нужен установленный nodejs. Я выборочно проверил с 12,13 и 14 версиями, проблем не было.


Копируете репозиторий себе


git clone https://github.com/anatoly314/kodi-remote-subtitles.git

затем


cd kodi-remote-subtitlesnpm install && npm run build

Появится папка dist которую вы должны будете поместить на свой http сервер. Если вы планируете поместить аппликацию не в root директорию, то перед компиляцией пропишите название директории в publicPath в файле vue.config.js


Дальше вы должны разрешить удаленное управление Kodi через web interface и прописать ip:port в настройках аппликации. Несколько более подробную инструкцию я написал в README на github.


Удачного просмотра и хотелось бы получить обратную связь :)

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru