Домашний Медиа-плеер: LibreELEC(Kodi) на Raspberry Pi 3B+

Screenshot_1

Здравствуйте,

В своих поисках нормально работающего софта под Raspberry Pi 3B+ для создания простого медиаплеера, который мог бы без проблем работать с Plex Media Server я уже исследовал работу такого плеера под названием Kodi на базе ОС Raspbian
Вот мои изыскания: Домашний Медиа-плеер: Raspbian + Kodi + плагин Plex на Raspberry Pi 3 B+

В этой статье я бы хотел поделиться своими изысканиями в изучении специально разработанного, цельного решения.
Знакомьтесь — LibreELECKodi 17.6

libreelec-maintv
Окно интерфейса программы

LibreELEC (Libre Embedded Linux Entertainment Center) — дистрибутив операционной системы GNU/Linux для организации домашнего кинотеатра на базе ПК, основанный на медиаплеере Kodi (ранее известном как XBMC). Является некоммерческой версией OpenELEC в виде дистрибутива с открытым исходным кодом.
Это ветка OpenELEC образованная в марте 2016 года после раскола команды OpenELEC из-за «разных творческих взглядов», большинство активных разработчиков присоединилось к новому проекту LibreELEC.
Это консервативная версия проекта OpenELEC, в которой основное внимание уделяется тестированию до релиза и управлению изменениями после релиза.
https://libreelec.tv

Это специально разработанная ОС, при запуске которой, включается только плеер Kodi и ничего более.
Она легковесна и не тратит много ресурсов «Малинки», содержит специальный блок настроек, позволяет перезагружать, выключать «Малину» из своего меню(чего в версии под Raspbian нет).

1. Установка и использование ОС LibreELEC
Давайте взглянем на данную операционную систему.
Страница откуда можно скачать последнюю версию ОС https://libreelec.tv/downloads/
На момент написания статьи последняя стабильная версия была LibreELEC-RPi2.arm-8.2.5.img.gz
В Альфа доступе также была версия LibreELEC-RPi2.arm-8.90.006.img.gz которая в итоге станет версией LibreELEC(Leia) 9.0 в ней обновлено ядро ОС и используется версия Kodi 18 вместо 17.6 в LibreELEC 8.2.5

Для её установки из под Windows, macOS и Linux существует специальная утилита LibreELEC.USB-SD.Creator.(Win32/macOS/Linux-32bit/Linux-64bit).(exe/dmg/bin), в которой можно выбрать нужный релиз и программа сама скачает нужный образ и установит его на SD карту или Флешку. Все очень удобно, никаких «танцев с бубнами».
Её можно скачать там же на странице загрузки.

Изображения утилиты LibreELEC.USB-SD.Creator
creator_win-385x400
Windows
creator_mac-383x400
macOS
creator_linux-379x400
Linux

Для запуска утилиты в Windows:
Загрузите LibreELEC USB-SD Creator и запустите файл .exe, из папки в который лежит утилита.

Для запуска утилиты в macOS:
Загрузите LibreELEC USB-SD Creator и запустите файл .dmg, из папки в который лежит утилита. Это позволит установить образ диска на рабочий стол. Вы можете запустить приложение непосредственно с образа диска или скопировать его в папку /Applications.
Если при первом запуске приложения появляется предупреждение о том, что он не был проверен и является подозрительным, вам нужно перейти в «Системные настройки», затем «Безопасность и конфиденциальность» и либо нажать «Открыть в любом случае», либо разрешить «Приложение загружается из любого места».
После запуска приложения будет запрошено ваше имя пользователя и пароль. Это связано с тем, что macOS требует прав суперпользователя (sudo / root) для прямой записи на карту USB или SD.

Для запуска утилиты в Linux:
Загрузите LibreELEC USB-SD Creator. После завершения загрузки откройте терминал и введите следующие команды (предполагая, что «Downloads» — это ваша папка загрузки по умолчанию):
cd ~/Downloads
chmod +x LibreELEC.USB-SD.Creator.Linux-32bit.bin

Теперь вы можете запустить инструмент из командной строки, указав:
sudo ./LibreELEC.USB-SD.Creator.Linux-32bit.bin

Примечание: sudo (root) требуются если необходимы права суперпользователя для корректной записи в /dev/device
Для возможности запускать LibreELEC, Raspian или другие дистрибутивы на Raspberry Pi с одной SD-карты, используйте программное обеспечение NOOBS от Raspberry Pi Foundation.
Чтобы добавить LibreELEC к существующей SD-карте с NOOBS, загрузите файл «LibreELEC-RPi2.arm-8.2.5-noobs.tar» и распакуйте его в папку /os на SD-карте (подразумевается, что NOOBS уже установлен на SD карту!).

Как мы можем видеть вариантов установки LibreELEC достаточно, чтобы чувствовать себя комфортно.

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

libreelec-master-1
 
Во время первой настройки Вам будет предложено установить активность служб SSH и Samba, настроить подключение к сети (например Wi-Fi)

Меню настроек типовое за исключением «плитки» LibreELEC
В ней располагаются специальные системные настройки

libreelec-settings-1
 

Если Вы не настроили подключение сразу, то тут нет ничего страшного, его можно настроить потом.

libreelec-network-1
 
Руский язык можно выбрать только после подключения к Интернету и обновлению репозиториев. Можно подождать некоторое время пока они сами обновятся и потом перезагрузить Raspberry. В настройках должен появится выбор множества языков.

Для взаимодействия с медиа сервером Plex Media Server я предпочитаю использовать приложение Plex

plex-addon
Приложение Plex в дополнениях Kodi

2. Мониторинг LibreELEC через SNMP в MikroTik The Dude

Данный блок рассчитан на тех, кто знает что такое Linux, что такое cat, echo команды и с чем вообще кушать терминал Linux.
Для того, чтобы мониторинг заработал, необходимо установить специальный Addon, который называется NET-SNMP. Он устанавливается из самого меню (не через консоль)
Вернее через консоль тоже можно поставить, но геморроя Намного больше. Для тех кому очень хочется CLI:
https://forum.libreelec.tv/thread/6881-add-on-repositories-installation-via-ssh/
https://kodi.wiki/view/List_of_built-in_functions
После его установки необходимо убедиться в том, что служба NET-SNMP остановлена, делается это командой:
systemctl status service.net-snmp.service
Если служба запущена, её необходимо остановить
systemctl stop service.net-snmp.service

Т.к. LibreELEC это не стандартная ОС, а немного видоизмененная командой LibreELEC Team, то они засунули конфигурационные файлы аддонов далеко и следуя своей логике.
Разработка таких ОС это особый вид задро***ва искусства 🙂

Искомый файл находится по пути:
/storage/.kodi/userdata/addon_data/service.net-snmp/share/snmp/snmpd.conf

Для тех кто хочет покопаться в исходниках Аддона NET-SNMP для LibreELEC:
https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/addons/service/net-snmp/
Там есть интересности 🙂

Скажу сразу, утилита cputemp уже написана самими LibreELEC Team (за что им огромное спасибо)
А вот частоты придется добавлять самим

Создаем папку, где будет лежать скрипт
mkdir /storage/scripts
Создаем сам скрипт
nano /storage/scripts/cpufreq.sh
Код скрипта cpufreq.sh
[shell] #!/bin/bash

case $1 in
1)
CORE=»cpu0″
;;
2)
CORE=»cpu1″
;;
3)
CORE=»cpu2″
;;
4)
CORE=»cpu3″
;;
*)
echo «0»
exit 0;
;;
esac

echo $(cat /sys/devices/system/cpu/$CORE/cpufreq/scaling_cur_freq)

exit 0;
[/shell]  
Делаем его исполняемым
chmod +x /storage/scripts/cpufreq.sh

Для его проверки подаем команды для всех 4-х CPU
/storage/scripts/cpufreq.sh 1
/storage/scripts/cpufreq.sh 2
/storage/scripts/cpufreq.sh 3
/storage/scripts/cpufreq.sh 4

Редактируем пользовательский файл настроек:
nano /storage/.kodi/userdata/addon_data/service.net-snmp/share/snmp/snmpd.conf
В таком виде он представлен у меня
[shell] com2sec public default public
group localgroup v2c public
access localgroup «» any noauth exact all all none
view all included .1 80
syslocation MOSCOW
syscontact mymail@gmail.com
dontLogTCPWrappersConnects yes

extend cputemp «/usr/bin/cputemp»
extend cpufreq_1 «/storage/scripts/cpufreq.sh 1»
extend cpufreq_2 «/storage/scripts/cpufreq.sh 2»
extend cpufreq_3 «/storage/scripts/cpufreq.sh 3»
extend cpufreq_4 «/storage/scripts/cpufreq.sh 4»
[/shell]  

Запускаем сервис NET-SNMP
systemctl start service.net-snmp.service
Можете предварительно проверить через status

Бонус. Добавление в систему мониторинга The Dude
Для корректного отлова SNMP данных температуры и частоты, The DUDE необходимы дополнительные MIB
Качаем: NET-SNMP-EXTEND-MIB.txt
Загружаем в свой RouterOS в папку disk1/dude/files/mibs
Открываем у устройства snmpwalk, ждем окончания сканирования «end of mib», достаем нужный MIB(OID)

Скриншоты функций, сборщика и мониторинга из The Dude
snmp-extended-mib
Я взял самые последние значения
libreelec-func
Функция запроса данных по SNMP
libreelec-probe
Сборщик данных с помощью функции
libreelec-services
Список всех сервисов собираемых с LibreELEC на Raspberry PI 3B+
libreelec-loaded
LibreELEC на Raspberry Pi 3B+ работает стабильнее, чем Raspbian с Kodi
Таким не хитрым способом, можно мониторить все что угодно. А что будут отдавать Вам такие скрипты, уже дело Вашей фантазии и возможностей LibreELEC с Raspberry Pi 3B+

В целом LibreELEC мне нравится больше, чем просто Raspbian с установленным поверх него приложением Kodi.
Весь необходимый мне функционал, в том числе и мониторинг системы, присутствует в полной мере. Да и управлять Raspberry Pi 3B+ можно прямо из телевизора =)
Вы же можете наставить еще кучу различных дополнений, которые расширят функционал еще больше.

Благодарю за Ваше время.
Всего хорошего на просторах интернета 😉

Список всех статей в хронологическом порядке: История статей

Поддержка блога
Если Вам не безразлична судьба блога или Вы просто хотите отблагодарить Автора за его труд, смело переходите на страницу Поддержки, там описана вся информация, по тому, как это сделать проще простого =)
Хочешь получать уведомления о выходе новых статей?
Loading
GregoryGost

Мир интересен, если вы достаточно любопытны!!!

Оцените автора
GREGORY GOST
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  1. Alex

    Может ли kodi работать без GUI на мини ПК в серверной, чтобы по LAN все вещать на ТВ, по аналогии с plex приложением?

    Ответить
  2. Сергей

    Добрый день.Столкнулся при воспроизведении на одном блюрей образе с периодической остановкой и подгрузкой в буфер.При попытке скриптом увеличить буфер не сохраняет значения,неудача постигла и с ручной правкой конфигурационного файла из папки etc.Установлен последний образ на Pi3 b+.Как победить или ограничения железа?

    Ответить
  3. shadow999

    Спасибо за ценную инфу !!
    Подскажи еще пожалуйста, как по ощущения железки хватает для воспроизведения тяжелого на битрейт видео ?)

    Ответить
  4. Андрей

    Добрый времени! Заливал образ системы для ASUS Tinker Board S на CD карту, но она не стартует 🙁
    Что делать в такой ситуации?

    Ответить
    1. GregoryGost автор

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

  5. SWANjr

    Доброго времени!
    1. Вообще то управление можно по умолчанию передать ТВ пульту(HDMI-CEC), если есть поддержка такой функции в ТВ. Я думаю про неё полезней рассказать нежели про GPIO интерфейс(танцы с бубном).
    2. Gregory, вы писали про Plex media server на Raspbain, а тут про клиентскую часть. А я хочу внедрить Plex media server на OpenElec, возможно вообще такое? Буду очень признателен такой статье и Вам конечно.

    Ответить
    1. GregoryGost автор

      Здравствуйте,
      Благодарю Вас за отзыв!

      1. Без сомнения это можно сделать. Я не стал об этом писать т.к. у меня данная возможность не работает. Соответственно без полной уверенности в том, что все работает, как необходимо я не могу писать об этом прямо.
      2. Я писал про Plex Media Server на Debian, ни никак не на Raspbian. Все что делалось на Raspbian это установка Plex Media Player (не Server)
      Plex Media Server на LibreELEC(OpenELEC не развивается) скорее всего возможно реализовать, но я бы хотел Вас от этого предостеречь. Мощности малинки для такого рода софта боюсь будет недостаточно.
      Хотя на первых порах может и хватит.
      Мое личное мнение, что серверная часть должна быть на отдельном ПК или mini-ПК. Т.е. там, где мощности и возможностей будет достаточно и ОС будет находиться.
      Более того, сам Kodi имеет в себе настройки DLNA и может выступать аналогичным сервером, хоть и не с таким набором функций, как у Plex Media Server.

      Попробую изучить этот вопрос подробнее! Еще раз спасибо за Ваш комментарий.

  6. skyzzer

    «Да и управлять Raspberry Pi 3B+ можно прямо из телевизора =)» это как?

    Ответить
    1. GregoryGost автор

      Здравствуйте,

      Имелось в виду, что не нужно выходить из приложения, чтобы например перезагрузить Малину или выключить её.
      Также через плагин System Tools можно включить консоль. Есть еще ряд плагинов расширяющих возможности устройства и позволяющих настраивать например GPIO и периферию Малины.