Продолжаем
записи об 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 находятся
тут.