четверг, 26 декабря 2013 г.

Медиаплеер из Raspberry Pi

Сегодня у меня, наконец, заработал звук в Raspberry Pi под Gentoo linux, ура!

Раньше сама система работала устойчиво и не зависала, однако попытка проиграть какой-либо звук заканчивалась выводом в dmesg сообщений типа: [AO_ALSA] Playback open error: Operation not permitted, за которыми следовало зависание системы. Порывшись на форумах, я понял, что весь вопрос - в загрузочных файлах (похоже, в файле start.elf), который инициализирует железо при запуске системы. Для устранения проблемы идём на github, скачиваем весь проект firmware в виде zip, распаковываем его, и копируем все файлы, кроме тех, что начинаются с kernel*, в директорию /boot на нашем Pi (вообще, похоже, что играет роль один файл - start.elf, остальные я скопировал только из соображений перестраховки), после чего перезагружаем Pi. Ура, заработало!

Однако, просто рабочий звук - это хорошо, но мало, надо бы добавить функциональности, сделать из Pi медиаплеер, например, для прослушивания интернет-радио. Для этого отлично подойдёт MPD. Устанавливаем его как обычно:

emerge -av mpd

Проверьте USE-флаги, нам потребуются alsa, network, tcpd, остальные - по желанию.
После установки - нужно запустить демона, и добавить его в автозапуск

rc-update add mpd default && /etc/init.d/mpd restart

Теперь у нас есть работающий MPD на Pi, дело за малым - за клиентом.

Клиентов для MPD есть огромное множество. Я для себя выбрал Cantata для ПК, и  MPDroid - для смартфона. Настройки клиентов очень просты, нужно указать только IP-адрес MPD-сервера, и пароль, идентичный указанному в /etc/mpd.conf на сервере.

Интерфейс Cantata

Первая хороша тем, что имеет списочек интернет-радиоканалов, доступный по кнопке "потоки". Накидываем интересующие каналы в правое окно, запускаем проигрывание и закрываем Cantata, можно вообще выключить ПК - дальнейшее управление можно осуществлять со смартфона.
Приятного прослушивания!