Установка Kodi на Raspbian Buster

18 февраля 2021, 08:43

Введение

При установке Kodi в предыдущих версиях на Raspbian Buster, у меня (и не только) возникали разные проблемы. Основная проблема была связана с тем, что в то время была доступна только общая версия Debian Kodi, скомпилированная для OpenGL. Работало все это очень медленно и конечно, никакой оптимизации не было. Но с недавних пор стабильная версия Kodi стала доступна в самом репозитории raspberrypi.org, к тому же она теперь оптимизирована под Raspberry и, соответственно, скомпилирована для OpenGLES.
Сразу хочу сказать, что некоторые проблемы все равно остались и они в основном заключаются в правильной настройке ОС Raspbian, с чего и мы начнем...

1600x_image.png?1613635872

Подготовка и установка Kodi Media Center

Перед установкой программы, необходимо произвести предварительные настройки. Как всегда, я свел все к минимуму, чтобы процесс долгим не казался. Все что вам нужно, это скопировать набор команд в терминал.
#В случае наличия черной рамки по периметру экрана
sudo raspi-config nonint do_overscan 0
#По умолчанию для графической подсистемы мы выделим 192 Мб.
sudo raspi-config nonint do_memory_split 192
#Проверка и создание необходимых каталогов c применение прав доступа
[ ! -d /home/pi/.kodi ] && sudo mkdir -v -m755 /home/pi/.kodi && sudo chown -v pi:pi /home/pi/.kodi
[ ! -d /home/pi/.kodi/userdata ] && sudo mkdir -v -m755 /home/pi/.kodi/userdata && sudo chown -v pi:pi /home/pi/.kodi/userdata
[ ! -d /home/pi/.kodi/userdata/addon_data ] && sudo mkdir -v -m755 /home/pi/.kodi/userdata/addon_data && sudo chown -v pi:pi /home/pi/.kodi/userdata/addon_data
[ ! -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 /var/lib/apt/lists
sudo apt-get update && sudo apt-get upgrade -y
#Установка Kodi
sudo apt-get install -y kodi kodi-eventclients-kodi-send
#Готово 

Для медиаплеера Kodi доступно множество дополнительных бинарных пакетов, которые расширяют его функционал. Например, добавить поддержку джойстика, новые визуализации, установить PVR для просмотра IPTV и многое другое. Чтобы посмотреть доступные пакеты, можно воспользоваться следующей командой для поиска:

#Вывод доступных дополнительных пакетов
apt-cache search kodi
#Готово 

Ну а дальше ставить то, что вам надо. Например, в моем случае, я дополнительно ставлю поддержку IPTV Simple PVR, а также можно установить, скажем, поддержку сжатых файлов kodi-vfs-nfs, поддержку подключения джойстиков или такого дополнения, как inputtream:

#Установка плагина IPTV Simple PVR
sudo apt-get install -y kodi-pvr-iptvsimple
#Поддержка сжатых файлов Kodi-vfs-nfs
sudo apt-get install -y kodi-vfs-libarchive
#Установка других плагинов при необходимости
sudo apt-get install -y kodi-peripheral-joystick kodi-inputstream-adaptive kodi-inputstream-rtmp
#Готово 

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

Настройка плагина pvr.iptvsimple

Копируем весь код ниже, предварительно заменив в строке:
< setting id="m3uUrl" >https://#PLAYLIST_URL#< /setting >
вместо https://#PLAYLIST_URL#\, на свою URL-ссылку плейлиста от IPTV,  и вставляем в терминал.

#Удаление ранее созданных настроек
sudo rm -rf /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple/settings.xml*
#Создание необходимого каталога, если отсутствует
[ ! -d /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple ] && sudo mkdir -p /home/pi/.kodi/userdata/addon_data/pvr.iptvsimple
#Создание готового файла настроек для плагина 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. Эти расширенные настройки можно использовать для настройки различных вещей, таких как шаблоны именования эпизодов, специальные сетевые порты, особое поведение и многое другое. 

#Удаление ранее созданных настроек
sudo rm -rf /usr/share/kodi/system/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
#Создание готового файла настроек для Kodi и применение необходимых прав
sudo tee -a /usr/share/kodi/system/advancedsettings.xml <<_EOF_
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
  <cache>
    <memorysize>104857600</memorysize>
    <buffermode>1</buffermode>
    <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 daemon-reload
sudo systemctl enable kodi.service
sudo systemctl start kodi.service
#Готово 

Дальнейшее обновление на новые версии...

При использования команды apt-get 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
#Готово 

Теперь вы знаете, как правильно обновляться на новую версию...

1600x_image.png?1613635528

Важные замечания для разных версий плат 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-драйвер рабочего стола» в raspi-config, который в настоящее время используется по умолчанию на изображениях Raspbian для RPi 0/1/2/3. Если вы выберете OpenGL драйвер с открытым исходным кодом, он не будет работать!
  • -Kodi 18 на Raspberry Pi 2/3 поддерживает 10-битные видеофайлы (по крайней мере, h264 и h265 / HEVC), но они декодируются программно. Pi 3B / 3B может работать с низким битрейтом 720p 10bit и 1080p 10bit только на максимуме!
  • -Raspbian по умолчанию не воспроизводит некоторые видео-кодеки, такие как VP6, VP8, MJPEG, Theora и т. д. Чтобы иметь возможность воспроизводить эти кодеки, вам нужно перейти в «raspi-config» -> «Параметры интерфейса» -> «Камера» -> включить или просто добавить новую строку в /boot/config.txt с помощью:

  • -Если у вас RPi 0/1/2 и вы хотите воспроизводить видео h264 со скоростью 50 или 60 кадров в секунду, в зависимости от используемой вами версии ядра / прошивки, вам также может понадобиться добавить новую строку в /boot/config.txt с помощью:

start_x=1

  • -Если у вас RPi 0/1/2 и вы хотите воспроизводить видео h264 со скоростью 50 или 60 кадров в секунду, в зависимости от используемой вами версии ядра / прошивки, вам также может понадобиться добавить новую строку в /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

Обратите внимание, это увеличит энергопотребление и повысит температуру Raspberry Pi. Невозможно вывести 4Kp60 на оба порта micro HDMI одновременно.

Деинсталляция Kodi

Если вам по какой-то причине нужно полностью удалить Kodi, а также затереть конфигурационные файлы и очистить хвосты приложения, ты вы можете сделать это с помощью следующих команд:

kodi-send --action=Quit && sleep 3
sudo rm -Rf /var/lib/apt/lists
sudo apt-get update
sudo apt-get remove kodi -y
sudo apt-get purge kodi -y
sudo rm -rf ~/.kodi/
sudo rm -rf /home/pi/kodi_crashlog*
#Готово

Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Лев Зебузов (WishMaster)
    Лев Зебузов (WishMaster) 5 месяцев назад

    Больше информации по коди.

  2. Дмитрий Карелин (Sirock)
    Дмитрий Карелин (Sirock) 5 месяцев назад

    По личному опыту скажу:

    Если устанавливать Kodi на базовую RaspiOS - видео в 4к будет лагать, и придется приложить ооочень много усилий, чтобы это исправить (RPI4).

    Если же взять и поставить LibreELEC (Специальная OS, настроенная под Kodi) - видео 4к на RPI4 летает и работает на ура.

    • Алексей Фомин (VAFER)
      Алексей Фомин (VAFER) 5 месяцев назад

      Подтверждаю, на LibreELEC+ RPi4 проблем не замечено. Всё летает.

      • Дмитрий Карелин (Sirock)
        Дмитрий Карелин (Sirock) 5 месяцев назад

        Но и минусы есть - ограниченность функционала (нет возможности прикрутить иные функции, помимо Kodi)

  3. (rgarchov)
    (rgarchov) отредактировано 5 месяцев назад
    Подскажите как удалить KODI с автозагрузки, каждый раз когда выхожу из Kodi 
    он перезагружается, и возвращается обратно в интерфейс
К списку статей

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Тематические чаты

Похожие статьи

25 сентября 2020, 11:49
Сенсорный монитор для управления умным домом. Настройка и использование.
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
09 ноября 2020, 19:03
В статье я расскажу о том, как сделать ваши рулонные, в том числе и кассетные шторы, чуточку умнее. Дам ссылки на дешевые аккумуляторные моторы. Расскажу про способы трансляции сигналов 433Мгц в MQTT. И продемонстрирую много фотографий решения и немного видео.
30 июня 2018, 12:17
Добавляем устройства управляемые по ИК через Broadlink RM3 Mini на примере кондиционера.
20 января 2019, 15:09
Использование ESPHomeLib в связке с Home Assistant
29 мая 2019, 23:15
Добавление устройств (выключатели и свет) из Home Assistant в Умный Дом Яндекс
25 сентября 2018, 07:06
Делаем умный замок с интеграцией в HomeKit
04 апреля 2019, 17:48
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.