mealsforall 11.08.2011 20:16
How-to`s — Музыкальный сервер Firefly и плеер DAAP на андроиде
Это маленькое руководство с картинками о том, как настроить домашний Linux-сервер и слушать с него музыку в дороге на своём смартфоне. На сервере будет стоять DAAP-сервер Firefly, а на телефоне -- DAAP player.Протокол DAAP (Digital Audio Access Protocol) был придуман оффтопичной яблочной компанией для обмена музыкой между плеерами и компьютерами своего производства, но затем был расшифрован энтузиастами. Он хорош тем, что имеет удобную поддержку плей-листов, и на одном порту позволяет как управлять музыкальной коллекцией, так и слушать её.
Забавно, что родной яблочный сервер огораживается от своих клиентов, не допуская более пяти подключений и не шаря музыку через интернет. Линукс-исполнение не содержит этих ограничений.
Amarok, Banshee, Roku, XBMC и прочие линукс-плееры поддерживают DAAP, так что можно будет слушать музыку не только с андроида, но и с любой линукс-машины.
Необходимые компоненты:
1. Домашний Linux-сервер, доступный из интернета.
2. Домашний интернет без ограничения на upload.
3. Смартфон с Google Android (желательно с 3G-пакетом)
4. Коллекция музыки.
Дополнительно устанавливаем:
1. Firefly media server на сервер. Раньше этот проект назывался mt-daapd, я буду называть его Firefly.
2. DAAP player с маркета Android на смартфон. Бесплатный, обновляется, свежая версия вышла буквально вчера.
Установка и настройка Firefly
На моей домашней системе Ubuntu 11.04 x64 понадобилась одна команда:
1 |
|
Сервер стартует сам и запустит web-интерфейс на порту 3689. Логин и пароль по умолчанию: admin/mt-daapd.
Для любителей ручной настройки все параметры хранятся в /etc/mt-daapd.conf.
Логинимся и настраиваем необходимые параметры. Первая страница -- статус сервера.
Пароль администратора (обязательно) и пароль на подключение к коллекции музыки (опционально):
Ещё можно указать, как часто перечитывать коллекцию музыки и насколько агрессивно шерстить mp3-файлы, чтобы правильно подсчитать их длительность (актуально для VBR).
Для любителей настроек есть Advanced mode:
В общем-то и всё.
Smart Playlists
Это самая классная фишка Firefly -- динамические плейлисты. Например, у меня есть коллекция музыкальных передач "Модель для сборки". Прежде чем включить очередной рассказ, я обычно отсортировываю их по длительности и выбираю тот, на который у меня сейчас есть время. Например, если мой автобус едет полчаса, мне нужен рассказ не длиннее тридцати минут.
Firefly позволяет настроить правила, согласно которым будут формироваться динамические плейлисты. Для моих нужд я создал четыре плейлиста: минирассказы до 5 минут, средние до 15 минут, длинные до 30 и супердлинные свыше 30 минут.
Правила настройки позволяют скомбинировать в одном условии длительность mp3-файла (в миллисекундах :), путь к нему (в моём случае путь должен содержать MDS), и, что особенно классно, счётчик того, сколько раз я уже слушал этот трек. Я хочу слушать только те рассказы, которые ещё не слушал, потому ставлю 0.
В мастере создания правил количество возможных условий и комбинаций очень большое. Можно сделать отдельные плейлисты для занятий на беговой дорожке, для фоновой музыки, и тэдэ, и все они будут автоматическими.
Теперь перейдём к настройке Андроида.
DAAP player на Google Android
1. Устанавливаем DAAP player by Miceli Bros с маркета. Он бесплатный, поддерживает все андроиды начиная с Cupcake (1.5).
2. Добавляем наш Firefly сервер. Я здесь добавлю сразу два, один для домашней сети, второй для доступа через интернет.
Домашний сервер: просто имя, порт и пароль. Мой сервер называется multivac.
Домашний сервер, проброшенный через другой порт через интернет:
Вот и всё. Вот наши два сервера:
Подключаемся:
Теперь можно слушать музыку как просто так, по исполнителям и альбомам, так и по плейлистам.
Это наши smart playlists:
Есть поиск. Вот так выглядит играемая композиция:
То же самое в статусе телефона:
Примерно как музыка сжата, столько и съедается. Firefly не конвертирует их на лету, а играет как есть. Если mp3-файл закодирован на 256K, то 265К/сек и будет съедаться.
Да, давай email. Регистрация через прокси, остальное работает и так.
А сколько траффика примерно съедается за час?