elchupanibrei (elchupanibrei) wrote,
elchupanibrei
elchupanibrei

Category:

Orange Pi Zero, установка Logitech Media Server и SqueezeLite

Продолжаем записи об Orange Pi Zero. После фиаско сделать из старого WIFI роутера интернет-радио проигрыватель, я решил пойти по пути зарубежных гиков - Logitech Media Server и SqueezeLite.



LMS представляет собой бесплатное, кроссплатформенное серверное ПО позволяющее читать все известные аудио-форматы и транслировать звуковой поток по сети на СОВМЕСТИМЫЕ плееры. На официальном сайте есть сборки под все популярные ОС: win, linux и mac. Вся настройка сервера осуществляется через web морду. Для того чтоб заставить LMS отдавать и проигрывать поток локально на самого себя, Adrian Smith и Ralph Irving написали специальный плеер-клиент SqueezeLite. Помимо этого, существует тонны бесплатных клиентов под win, linux, mac и android принимающих аудио поток по сети от LMS. С одного сервера можно раздавать свою музыкальную коллекцию на кучу устройств!

Как всегда загружаем PuTTY, устанавливаем SSH соединение на порту 22 и создаем папку sources и ныряем в нее:

    root@orangepizero:~# sudo mkdir sources
    root@orangepizero:~# cd sources

Качаем стабильную версию Logitech Media Server под Debian от Armbian в текущий каталог, то есть sources. Заменив хттп на http. UDP: С тех пор как была написана эта статья сменилась как минимум 2 версии LMS. Уточняйте что качать. Хорошая новость - процесс установки для всех одинаков.

    root@orangepizero:~# sudo wget хттп://downloads.slimdevices.com/LogitechMediaServer_v7.9.2/logitechmediaserver_7.9.2_arm.deb

Устанавливаем Logitech Media Server :

    root@orangepizero:~# sudo dpkg -i logitechmediaserver_7.9.2_arm.deb

Если во время установки появились ошибки, смотрите UPD в конце статьи.

Теперь надо дать Logitech Media Server права на использование аудио оборудования:

    root@orangepizero:~# sudo usermod -a -G audio squeezeboxserver

Настроить общий уровень громкости и оключить микрофон можно в ALSA микшере:

    root@orangepizero:~# alsamixer

Для того чтоб новые настройки громкости не пропали поле reboot сохраняем их:

    root@orangepizero:~# sudo alsactl store

Устанавливаем кодеки: flac, vorbis, aac, mpeg layer I/II/III:

    root@orangepizero:~# sudo apt-get install -y libflac-dev libvorbisfile3 libfaad2 libmad0

В веб-браузере открываем соединение с Logitech Media Server на порту 9000. В моем случае это выглядит так:

    хттп://192.168.1.250:9000

Заводить учетную запись не обязательно, просто будут недоступны некоторые сомнительные плюшки. Чтоб не затереть флешку до дыр отключаем логирование. Идем в Advanced -> Logging и гасим всех.


внешний вид LMS

Укажите папку для плейлистов и радиостаниций в Basic Settings -> Playlists Folder. Логичнее всего для этого подходит папка /media. Если *.m3u не сохраняются дайте больше прав папке:

    root@orangepizero:~# sudo chmod 777 /media

Поиск выдает кучу копи-пасты с трудным и нудным способом установки SqueezeLite через Linux команды и непонятные репозитории. Зачем? SqueezeLite уже давно ставится через LMS веб морду, но информиции об этом в интернете нет. Пришлось потратить неделю, чтоб разобраться со всеми тонкостями. Идем в Settings -> Plugins и ставим галочку на против Local Player и нажимаем Apply.

Чтоб Logitech Media грузился быстрее деактивируем ненужные плагины.


страница Plugins в LMS

Для того чтобы изменения вступили в силу надо перезапустить LMS:

    root@orangepizero:~# sudo service logitechmediaserver stop
    root@orangepizero:~# sudo service logitechmediaserver start

Обвновляем страницу, жмем Settings напротив Local Player и попадаем на страницу:


страница настройки SqueezeLite в LMS

Выбираем squeezelite-armv6hf и ставим галочку напротив Start Player With Server, жмем Apply. Все, настройка завершена. Теперь, на главной странице, в поле Tune In URL вводим адрес потока. Например Новозеландской Общественной Радиостанции:

    хттп://radionz-ice.streamguys.com/national.mp3

И наслаждаемся, самобытным акцентом.

Как вы уже поняли, управляется Logitech Media Server и SqueezeLite через браузер с любого устройства подключенного к тому же роутеру что и Orange Pi Zero. Для андроида есть куча бесплатных приложений делающих то же самое, но заточенных под сенсорный экран. Например Squeezer.

внешний вид Squeezer

Во время проигрывания стрима, работают 2 из 4 ядер, на частоте 240МГц с нагрузкой 4%-10%. Средняя температура камня - 45 градусов. Потребляемая мощность Апельсина с подключенными Edifier R12U - 4..5 Ватта.

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

UPD: для всех кто поставил LMS v 7.9.0 советую обновиться до 7.9.2 командой:

   root@orangepizero:~# sudo dpkg -i /var/lib/squeezeboxserver/cache/updates/logitechmediaserver_7.9.2_arm.deb

Если во время обновления полезли ошибки:

   dpkg: dependency problems prevent configuration of logitechmediaserver
   :logitechmediaserver depends on libio-socket-ssl-perl;
   however:Package libio-socket-ssl-perl is not installed.
   ....

Произошло это потому что dpkg умеет устанавливать только конкретный logitechmediaserver_7.9.2_arm.deb и не будет устанавливать дополнительный libio-socket-ssl-perl пакет указанные в списке зависимостей внутри .deb файла. У красноглазиков есть отвертка и на этот случай - продвинутый метод apt-get. Это система управления пакетами/Package Management System, которая обрабатывает установку пакетов .deb в дистрибутивах на основе Debian. Позволяет легко решать проблемы с dpkg. Обновим ядро и пакеты:

   root@orangepizero:~# sudo apt-get update
   root@orangepizero:~# sudo apt-get dist-upgrade

Cистема управления пакетами найдет ошибку и предоложит решение:

   logitechmediaserver : Depends: libio-socket-ssl-perl but it is not installed
   You might want to run 'apt-get -f install' to correct these

Останавливаем LMS и запускаем фикс:

   root@orangepizero:~# sudo service logitechmediaserver stop
   root@orangepizero:~# apt-get -f install

На всякий случай переустанавливаем LMS заново:

   root@orangepizero:~# sudo dpkg -i /var/lib/squeezeboxserver/cache/updates/logitechmediaserver_7.9.2_arm.deb

Если обновление прошло успешно, установочный пакет можно удалить командой:

   root@orangepizero:~# sudo rm -r /var/lib/squeezeboxserver/cache/updates/logitechmediaserver_7.9.2_arm.deb

Исходники Logitech Media Server находятся тут.
Tags: #linux, #orange pi, linux, orange pi
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 66 comments