May 20, 2010

Пресональное интернет радио #2

Итак, в продолжение истории о персональном интернет-радио, хочу уточнить ещё 2 вещи:
1. как слушать
2. как управлять
Конечно, дело понятное, что слушать можно практически любым плеером, а управлять через web-интерфейс (ну не по ssh же :) ). Но без нюансов естественно никуда. По первому пункту всё довольно просто и принципиальной разницы нет, хочешь winamp, хочешь foobar, хочешь windos media player. Я же пользовался специальной софтинкой бесплатного характера под названием RadioSure. Так уж получилось, что до построения своего интернет радио, я слушал уже существующие радиостанции именно с её помощью. Там есть встроенный, и довольно обширный, список сущесвующих станций, простенький интерфейс и шкурки по вкусу.
С управлением же, выбор побогаче. На официальном сайте mpd приведён список существующих вэб-морд от минималистичных на чистом HTML, до навароченных с применением AJAX или Flash технологий. Предназначенных для использования на телефоне или смартфоне. С разными рюшечками и фишечками типа скачивания лирики, обложек или интеграцией с last.fm.
Просмотрев весь зоопарк, оставил два - phpmp и Ampache. Первый по причине отсутствия javascript в любом виде, т.к. далеко не все мобильные устройства его правильно обрабатывают и ещё меньше делают это с приемлемой скоростью. А также из-за простоты интерфейса - тупо список директорий с файлами, которые можно добавить в playlist и соответственно его проиграть. Что собственно и требуется. Есть, правда, проблемы с кодировками, но это отдельная тема.
Ampache - антипод предидущего, но при этом работает шустро и не вызывает впечатления толстого и неповоротливого монстра.

В начале всё не так понятно и очевидно. Необходимо создать каталоги с альбомами, указывая пути к реальным директориям на сервере. Также можно удалённо использовать уже существующие каталоги на других серверах Ampache, но это я ещё не пробовал. При создании каталога по указанной маске анализируются имена файлов и директорий, а также мета-данные в самих файлах, и на их основе создаются альбомы, которые потом уже можно добавлять в playlist. Для альбомов автоматически выкачиваются из интернета, или берётся из той же директории, обложки. Но это, если всё заполнено правильно, причём заполнены в правильной кодировке. Если заполнено не правильно или кодировка не та, то в результате вместо хорошо организованной коллекции получится бардак с кракозяблами. Можно потом поправить в ручную, но через web это не очень удобно. Лучше подготовиться заранее используя, например, mp3tag. Как и полагается, есть шкурки, плагины, пользователи с разными привилегиями, поиск, создание (и сохранение) плейлистов, возможность голосовать за любимую композицию и т.д. Но важной особенностью является возможность выбрать несколько типов проигрывания, как то локально на сервере, транслирование через уже имеющуюся связку mpd+icecast или используя встроенный плеер на flash. По сути, он был основным критерием, по которому я решил оставить Ampache. Это несколько проще для персонального использования, так как не надо городить огород с icecast, web-мордой для управления и локальным плеером для прослушивания. Другое дело, когда "радио" слушаю несколько человек. Но это не мой случай. Из недостатков flash плеера пока могу сказать, только проблемы с проигрыванием (точнее отсутствие такового) при использовании HTTPS. Решение вроде есть, но у меня не получилось... пока не получилось. Также flash-плеер не обновляет свой плейлист при изменении его в Ampache, но это не великая беда. Внешне выглядит без особых изысков, но и отвращения не вызывает:

Кстати, пока выбирал подходящий web-клиент, обнаружил, что mpd уже давно сам умеет транслировать аудио-поток и Icecast больше не нужен. Но у меня на сервере стоит версия Ubuntu Server 8.10 (LTS) и mpd в репозиториях несколько устарел за прошедшие 3 года :) Можно, конечно собрать из исходников или обновиться на новую версию дистрибутива (благо на днях вышел новый LTS 10.04), но я довольно хорошо усвоил золотое правило - работает, НЕ ТРОЖЬ! :)

P.S. По ходу изучения Ampache на их сайте наткнулся на новость о подкасте Sourcetrunk, в одном из недавних эпизодов которого рассказывалось про этот плеер. Подкаст заслушал и мне зело понравилось. Мужик из Бельгии с странным (для Бельгийца) именем Димитри на хорошем (понятном) английском языке рассказывает про open source программы, попивая бельгийское же пивко. Причём пиво в каждом эпизоде разное и в начале, он рассказывает немного о его истории, особенностях, а также свои вкусовые предпочтения на этот счёт. В общем подкаст интересный вдвойне, настоятельно рекомендую!

No comments: