З Карен (IIKaren) Обновлено
При установке Kodi в предыдущих версиях на Raspbian Buster, у меня (и не только) возникали разные проблемы. Основная проблема была связана с тем, что в то время была доступна только общая версия Debian Kodi, скомпилированная для OpenGL. Работало все это очень медленно и конечно, никакой оптимизации не было. Но с недавних пор стабильная версия Kodi стала доступна в самом репозитории raspberrypi.org, к тому же она теперь оптимизирована под Raspberry и скомпилирована для OpenGLES.
Тихая установка через мною написаный скрипт
Cкрипт, который будет ставить самую свежую версию Kodi Media Center. Так же в скрипте учтены важные моменты и проделаны специальные настройки, чтобы у вас не возникало ни каких проблем во время установки.
Реализованные функции
- Homebridge Config UI X будет запускаться в режиме Standalone. Это автономный режим пользовательского интерфейса, который будет запускаться как отдельный сервис для HomeBridge. Его основным преимуществом является то, что в случае сбоя Homebridge из-за неправильной конфигурации или по какой-либо другой причине вы все равно сможете получить доступ к пользовательскому интерфейсу для просмотра журналов или восстановления резервной копии конфигурации
- Настроены разрешения Homebridge Config UI X для выполнения таких действий, как установка плагинов и перезапуск Homebridge
- Реализовано правильная установка Node.js версии 16.x
- Реализовано установка дополнительных зависимостей, таких как gcc, g++, make, libavahi-compat-libdnssd-dev, python
- Создание резервной копии конфигурационных файлов HomeBridge при его наличии с дальнейшей возможностью восстановления через соответствующее меню UI X конфигуратора
- Автоматическая проверка ранее установленных версии с выводом вариантов, для дальнейших действий
- Учтены и проделаны важные модификации, после которых переустановка HomeBridge, не будут вызывать каких либо проблем
- Применены специальные права для правильного взаимодействия с платой Raspberry Pi
- Реализована возможность полной деинсталляции HomeBridge и его зависимостей
- В конце установки реализовал вывод полезной информации
- Для актуального состояния скрипта, буду постоянно обновлять и дополнять код
ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА
Прежде чем начать, убедитесь, что на вашей Raspberry Pi установлена последняя версия Raspbian OS и обновлены вс пакеты до актуального состояния. Для этого введите следующую команду в консоль терминала:
sudo rm -Rf /var/lib/apt/lists
sudo apt update && sudo apt upgrade -y && sudo apt install git -y
#Готово
УСТАНОВКА
Для запуска в обычном режиме, где будет доступно меню для работы со скриптом, введите следующие команды:
git clone https://github.com/K-a-R-e-N/Kodi-Install-Script
bash ~/Kodi-Install-Script/InstallKodi.sh
#Готово
ТИХАЯ УСТАНОВКА
Также, скрипт поддерживает ключи тихой установки. Для чистой установки на новую систему в тихом режиме, надо скопировать нижние строки и ввести в консоль терминала:
git clone https://github.com/K-a-R-e-N/Kodi-Install-Script
bash ~/Kodi-Install-Script/InstallKodi.sh -i -d
#Готово
Во второй строке, можно изменить ключи тихой установки на другие... Если дописать ключ [-u] перед ключом [-i] - то перед установкой, система будет предварительно очищена от ранее установленных версий. Выглядеть эта команда будет так:
git clone https://github.com/K-a-R-e-N/Kodi-Install-Script
bash ~/Kodi-Install-Script/InstallKodi.sh -u -i -d
Ключи тихой установки:
- -i - Установка Kodi на чистой системе.
- -u - Полное удаление Kodi с очисткой системы.
- -r - Установка Kodi с полным удалением старой версии.
- -d - Самоудаление папки со скриптом установки.
- -h - Вызов справки.
Ключ -r делает тоже самое что и два ключа -u+-i запущение вмест
InstallHB.sh [-i] [-u] [-r] [-d] [-h]
Если поставить перед ключом -u ключ -i, то установщик его нормально отработает, но если поставить ключ -d, то скрипт сработает с ключа который первее, то есть с -i.
Если все таки вам хочеться делать все своими ручками, то читаем статью дальше
Итак если вы все таки дошли до этого раздела и вам интересно все проделать самому, то давайте сначала устраним некоторые проблемы Kodi, которые в основном заключаются в правильной настройке ОС Raspbian
Подготовка и установка Kodi Media Center
Перед установкой программы, необходимо произвести предварительные настройки. Как всегда, я свел все к минимуму, чтобы процесс долгим не казался. Все что вам нужно, это скопировать набор команд в терминал.#В случае наличия черной рамки по периметру экрана
sudo raspi-config nonint do_overscan 0
#По умолчанию для графической подсистемы мы выделим 192 Мб.
sudo raspi-config nonint do_memory_split 192
Теперь перейдем к установке Kodi
#Обновляем кеш данных и индексы репозиторий
sudo rm -Rf /var/lib/apt/lists
sudo apt update && sudo apt upgrade -y
#Установка Kodi
sudo apt install -y kodi kodi-eventclients-kodi-send
#Готово
Для медиаплеера Kodi доступно множество дополнительных бинарных пакетов, которые расширяют его функционал. Например, добавить поддержку джойстика, новые визуализации, установить PVR для просмотра IPTV и многое другое. Чтобы посмотреть доступные пакеты, можно воспользоваться следующей командой для поиска:
#Вывод доступных дополнительных пакетов
sudo apt-cache search kodi
#Готово
Ну а дальше ставить то, что вам надо. Например, в моем случае, я дополнительно ставлю поддержку IPTV Simple PVR, а также можно установить, скажем, поддержку сжатых файлов kodi-vfs-nfs, поддержку подключения джойстиков или такого дополнения, как inputtream:
#Установка плагина IPTV Simple PVR
sudo apt install -y kodi-pvr-iptvsimple
#Поддержка сжатых файлов Kodi-vfs-nfs
sudo apt install -y kodi-vfs-libarchive
#Установка других плагинов при необходимости
sudo apt install -y kodi-peripheral-joystick kodi-inputstream-adaptive kodi-inputstream-rtmp
#Готово
Некоторые устанавливаемые плагины (дополнения), не всегда активизированы изначально, поэтому их надо включать вручную через интерфейс Kodi
Настройка плагина pvr.iptvsimple
Копируем весь код ниже, предварительно заменив в строке:
вместо https://#PLAYLIST_URL#\, на свою URL-ссылку плейлиста от IPTV, и вставляем в терминал.
#Проверка и создание необходимых каталогов c применение прав доступа
[ ! -d /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple ] && sudo mkdir -v -m755 /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple && sudo chown -v pi:pi /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple
#Удаление ранее созданных настроек
sudo rm -rf /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple/settings.xml*
#Создание готового файла настроек для плагина pvr.iptvsimple и применение необходимых прав
sudo tee -a /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple/settings.xml <<_EOF_
<settings version="2">
<setting id="epgCache">true</setting>
<setting id="epgPath" default="true"></setting>
<setting id="epgPathType" default="true">1</setting>
<setting id="epgTimeShift" default="true">0</setting>
<setting id="epgTSOverride" default="true">false</setting>
<setting id="epgUrl">http://epg.it999.ru/edem.xml.gz</setting>
<setting id="logoBaseUrl">http://epg.it999.ru/edem.xml.gz</setting>
<setting id="logoFromEpg">2</setting>
<setting id="logoPath" default="true"></setting>
<setting id="logoPathType" default="true">1</setting>
<setting id="m3uCache">true</setting>
<setting id="m3uPath">/home/pi/.kodi/edem_playlist.m3u8</setting>
<setting id="m3uPathType">1</setting>
<setting id="m3uUrl">https://#PLAYLIST_URL#</setting>
<setting id="startNum">1</setting>
</settings>
_EOF_
sudo chown -v pi:pi /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple/settings.xml
sudo chmod 755 /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple/settings.xml
#Готово
Предварительная настройка Kodi
Теперь создадим файл расширенных настроек и параметров, для которых нет элементов управления графическим интерфейсом внутри Kodi. Некоторые настройки являются экспериментальными или устанавливаются очень редко, поэтому их можно использовать только через файл advancedsettings.xml. Эти расширенные настройки можно использовать для настройки различных вещей, таких как шаблоны именования эпизодов, специальные сетевые порты, особое поведение и многое другое.
#Проверка и создание необходимых каталогов c применение прав доступа
[ ! -d /usr/share/kodi ] && sudo mkdir -v -m755 /usr/share/kodi && sudo chown -v root:root /usr/share/kodi
[ ! -d /usr/share/kodi/system ] && sudo mkdir -v -m755 /usr/share/kodi/system && sudo chown -v root:root /usr/share/kodi/system
#Удаление ранее созданных настроек
sudo rm -rf /usr/share/kodi/system/advancedsettings.xml*
#Создание готового файла настроек для Kodi и применение необходимых прав
sudo tee -a /usr/share/kodi/system/advancedsettings.xml <<_EOF_
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<cache>
<buffermode>1</buffermode>
<memorysize>104857600</memorysize>
<readfactor>10</readfactor>
</cache>
<gputempcommand>/opt/vc/bin/vcgencmd measure_temp | sed -e "s/temp=//" -e "s/\..*'/ /"</gputempcommand>
</advancedsettings>
_EOF_
sudo chown -v root:root /usr/share/kodi/system/advancedsettings.xml
sudo chmod 644 /usr/share/kodi/system/advancedsettings.xml
#Готово
Более подробное описание структуры файла advancedsettings.xml и различные индивидуальные настройки можно изучить по этой ссылке.
Автозапуск Kodi
Теперь, когда все установлено, создаем службу для автоматического запуска Kodi при загрузке системы. Для этого всего лишь нажимаем на на кнопку скопировать и вставляем в терминал ниже приведенный код:
#Автозапуск Kodi
sudo rm -rf /etc/systemd/system/kodi.service
sudo tee -a /etc/systemd/system/kodi.service > /dev/null <<_EOF_
[Unit]
Description = Kodi Media Center
After = remote-fs.target network-online.target
Wants = network-online.target
[Service]
User = pi
Group = pi
Type = simple
ExecStart = /usr/bin/kodi-standalone
Restart = on-abort
RestartSec = 5
[Install]
WantedBy = multi-user.target
_EOF_
#Готово
Ну что, давайте проверять что вышло... Добавляем службу в список автозагрузки и запускаем...
#Добавляем службу в список автозагрузки и запускаем
sudo systemctl -q daemon-reload
sudo systemctl enable kodi.service
sudo systemctl start kodi.service
#Готово
Дальнейшее обновление на новые версии...
При использования команды apt upgrade, в системе обновляются только установленные пакеты, но при этом могут возникнуть конфликты зависимостей, из-за чего могут не установиться необходимые пакеты. Иногда приходиться применять более продвинутую команду, которая комплексно удалит ненужные пакеты, загрузит нужные зависимости, а также новые пакеты при их необходимости.
#Правильное обновляем Kodi Media Center
kodi-send --action=Quit && sleep 3
sudo rm -Rf /var/lib/apt/lists && sudo apt-get update && sudo apt-get dist-upgrade -y
sudo systemctl start kodi.service
#Готово
Теперь вы знаете, как правильно обновляться на новую версию...
Важные замечания для разных версий плат Raspberry
Общие замечания
Для корректного воспроизведения видео в формате FullHD, необходимо выделить минимум 160 Мб для GPU. В случае необходимости, можно расширить до 512 Мб. Но не стоит выставлять больше, так, например, если выставить 896 Мб, система начнет сильно тормозить. Если у вас Raspberry Pi 2/3 или еще новее, то рекомендуется выставить 256 МБ ОЗУ.
Пакет Kodi включает двоичные файлы ARMv6 (для RPi 0 и 1), ARMv7 (для RPI 2 и 3) и ARMv8 (для RPi 4), которые выбираются автоматически в зависимости от того, какая версия Raspberry Pi у вас есть для лучшего представления. Оптимизации, доступные в Open / LibreELEC, такие как ускорение H265 / HEVC NEON, также включены и включаются автоматически, если у вас RPi 2/3/4.
Замечания для Raspberry Pi 3 и ниже
- Kodi на Raspberry Pi 0/1/2/3 будет работать, только с драйвером от Broadcom! Это «Оригинальный не GL-драйвер», который используется по умолчанию в Raspbian для RPi 0/1/2/3.
- Kodi 18 на Raspberry Pi 2/3 поддерживает 10-битные видеофайлы (по крайней мере, h264 и h265 / HEVC), но они декодируются программно.
- Raspbian по умолчанию не воспроизводит некоторые видео-кодеки, такие как VP6, VP8, MJPEG, Theora и т. д. Чтобы их воспроизвести, нужно запустить «raspi-config», перейти в «Параметры интерфейса», далее «Камера» и нажать на включить или откройте /boot/config.txt и просто добавьте новую строку с текстом ниже:
disable_auto_turbo=0
Замечания для Raspberry Pi 4
Kodi на Raspberry Pi 4 будет работать, только если вы используете драйверы с открытым исходным кодом! Это «GL (Fake KMS) OpenGL драйвер рабочего стола с поддельным KMS» в raspi-config, который в настоящее время используется по умолчанию для образов Raspbian для RPi 4. Если вы выберете драйвер Broadcom / Legacy, он не будет работать!Kodi 18 на Raspberry Pi 4 поддерживает до 4K 10-битных видеофайлов h265 / HEVC. Если у вас есть монитор / телевизор 4K, Kodi автоматически ограничит интерфейс GUI до 1080p для более быстрого и лучшего опыта, поскольку рендеринг интерфейса на 4K дает значительный штрафной удар. Видео 4K будет воспроизводиться с таким разрешением без вмешательства пользователя. Если вы хотите, вы всегда можете изменить это, перейдя в Kodi -> Настройки -> Система -> Ограничить размер графического интерфейса.
Если у вас 4K монитор / телевизор, по умолчанию Raspberry Pi 4B выберет частоту обновления 30 Гц. Чтобы разрешить выбор частоты обновления 60 Гц, перейдите в raspi-config -> Advanced Options -> Pi 4 Video Output -> Enable 4Kp60 HDMI или добавьте новую строку в /boot/config.txt со следующим:
hdmi_enable_4kp60=1
Деинсталляция Kodi
Если вам по какой-то причине нужно полностью удалить Kodi, а также затереть конфигурационные файлы и очистить хвосты приложения, ты вы можете сделать это с помощью следующих команд:
#Деинсталляция Kodi
sudo kodi-send --action=Quit > /dev/null 2>&1
sleep 3
sudo systemctl stop kodi > /dev/null 2>&1
sudo service kodi stop > /dev/null 2>&1
sudo killall -w -s 9 -u kodi > /dev/null 2>&1
sudo apt remove kodi -y > /dev/null 2>&1
sudo apt purge kodi -y > /dev/null 2>&1
sudo update-rc.d kodi remove > /dev/null 2>&1
sudo rm -rf /etc/init.d/kodi
sudo rm -rf /etc/systemd/system/kodi*
sudo rm -rf /etc/systemd/system/multi-user.target.wants/kodi*
sudo systemctl --system daemon-reload > /dev/null
sudo rm -rf /home/pi/kodi_crashlog*
sudo rm -rf /home/pi/.kodi*
#Готово
Больше информации по коди.
По личному опыту скажу:
Если устанавливать Kodi на базовую RaspiOS - видео в 4к будет лагать, и придется приложить ооочень много усилий, чтобы это исправить (RPI4).
Если же взять и поставить LibreELEC (Специальная OS, настроенная под Kodi) - видео 4к на RPI4 летает и работает на ура.
Подтверждаю, на LibreELEC+ RPi4 проблем не замечено. Всё летает.
Но и минусы есть - ограниченность функционала (нет возможности прикрутить иные функции, помимо Kodi)