dementiy 14.02.2010 05:02
How-to`s — mpd + icecast2 = интернет-радио
Хочу рассказать, каким образом можно поднять у себя дома небольшую радиостанцию. Для этого нам потребуется icecast2 и mpd.Что такое mpd? Вот определение из Wiki: «MPD — музыкальный проигрыватель с клиент-серверной архитектурой, который читает музыку из указанного каталога, а при помощи клиента можно управлять воспроизведением».
Для того, чтобы установить mpd, необходимо выполнить следующую команду (на примере Ubuntu):
1 |
|
Теперь его необходимо настроить. Конфигурационный файл находится в /etc/mpd.conf. Откроем его для редактирования от пользователя root:
1 |
|
Приведу свой пример конфигурации:
если оставить только секцию "shout", то вы не сможете слышать музыку, которая играет в данный момент
Итак, сохранив настройки создаем базу с нашей коллекцией музыки:
1 |
|
на более старых версиях проигрывателя был префикс --create-db
Теперь осталось только запустить mpd:
1 |
|
Для управления mpd можно поставить какой-либо клиент, коих довольно много, например Sonata (gtk) или ncmpc (console, рис 1.).
Рис.1. Консольный клиент для mpd - ncmpc
Теперь перейдем к icecast2. Из Wiki: «Icecast — свободное ПО для организации потокового цифрового аудиовещания». Для его установки выполняем следующую команду:
1 |
|
Настройки хранятся в /etc/icecast2/icecast.xml. Я выбрал для себя такой путь, создать в домашнем каталоге папку icecast2, в которой будут храниться все настройки, следовательно надо скопировать все файлы из /etc/icecast2 в эту папку и выставить на нее права:
1 |
|
Далее открываем файл icecast.xml:
1 |
|
Приведу изменения по сравнению с конфигурацией по умолчанию (mpd.conf и icecast.xml довольно хорошо прокомментированы, но все же, перед внесением изменений сделайте их резервные копии):
Теперь, чтобы иметь возможность запускать его через /etc/init.d/icecast2, необходимо в файле /etc/default/icecast2 произвести следующие изменения:
1 |
|
Теперь все готово, чтобы запустить icecast2, выполняем:
1 |
|
Набираем в браузере http://127.0.0.1:8000/ и мы должны увидеть примерно следующее:
Как минимум мы теперь знаем о том, что icecast2 работает. Теперь перезапускаем mpd и открываем любую композицию (если вы устанавливали ncmpc, то его можно запустить следующим образом: ncmpc --host=127.0.0.1 --port=6600). В icecast2 заходим в пункт «Administration» (нас попросят ввести login и password), там на первой же «вкладке» (Admin Home) после «Global Server Stats» будет информация о смонтированном потоке:
Вот и все, осталось только рассказать своим знакомым, что у вас есть своя интернет-радиостанция, к которой они могут обратиться по адресу http://your_ip_address:8000/stream.ogg.m3u
P.S. Не хотелось углубляться в настройки, целью было поднять mpd + icecast2 с минимальной рабочей конфигурацией (тем более про настройку mpd было уже довольно много сказано, хотя бы тут и тут), от которой в дальнейшем можно было бы шагать. И еще pdf c текстом поста.
P.P.S. Уже по теме кое-что было.
Кстати, совсем забыл. Типа постскриптум:
http://farrias.tomsk.ru:8000/mpd.ogg.m3u - это мой mpd :D
http://farrias.tomsk.ru:8000/mpd.ogg.m3u - это мой mpd :D
"???????????µ ????µ??µ??" эммм .. эт амарок мне травит, что поделать?
Хм, какая у вас кодировка в амароке по умолчанию?
VLC спокойно отображает, что это всего лишь "Зимовье Зверей" :)
VLC спокойно отображает, что это всего лишь "Зимовье Зверей" :)
Хм, я даже не задумывался, какая там кодировка :)
Когда приду к тому компу, гляну.
Когда приду к тому компу, гляну.
А у меня вот так всегда без испатчканного taglib ><
Все локальную коллекцию переконвертил в УТФ8 чтоб не мучиться
Все локальную коллекцию переконвертил в УТФ8 чтоб не мучиться
Вы сподвигли меня на бравый подвиг - перекодировать все эти 50Gb в UTF-8.
Только это будет не быстро. Постараюсь в начале русскоязычных, затем иностранных, а затем уже и дискографию Эннио Морриконе. :)
Только это будет не быстро. Постараюсь в начале русскоязычных, затем иностранных, а затем уже и дискографию Эннио Морриконе. :)
Возможно, если они в каком нить цп1251, то мпд пытается прочитать их как утф8 что и приводит к сему.
Не горячитесь, попробуйте на альбомчике...
ЗЫ установк таглиб-рцц не особа помогло. >< "???µ??????-??????"
Не горячитесь, попробуйте на альбомчике...
ЗЫ установк таглиб-рцц не особа помогло. >< "???µ??????-??????"
Ну почему амарок не хочет по нормальному ><
Как IE, ну ейбогу! =(
Приношу извинения за него >
Как IE, ну ейбогу! =(
Name : My Cool Stream
Public : yes
Cache size set to 320 KBytes
Cache fill: 17.50% (57344 bytes)
stream 0: audio (Vorbis), -aid 0
Ogg file format detected.
Clip info:
Artist: Зимовье Зверей
Title: Медвежий блюз
Album: Города, которых не стало
Creation Date: 1995
Genre: Rock
Public : yes
Cache size set to 320 KBytes
Cache fill: 17.50% (57344 bytes)
stream 0: audio (Vorbis), -aid 0
Ogg file format detected.
Clip info:
Artist: Зимовье Зверей
Title: Медвежий блюз
Album: Города, которых не стало
Creation Date: 1995
Genre: Rock
Приношу извинения за него >
Не только амарок тупит: XSPF-валидатор кажет такие же кракозяблы.
А значит дело в mpd и коллекции :)
1 <?xml version="1.0" encoding="UTF-8"?>
2
3
4
5
6
7 http://farrias.tomsk.ru:8000/mpd.ogg
8 ????????°?? ?? ??»?µ????°??????
9 ?“????????????°? ?±?°?»?»?°???°
10 Stream Title: My Cool Stream
11 Stream Description: My Stream Description
12 Content Type:application/ogg
13 Quality: 5.00
14 Current Listeners: 2
15 Peak Listeners: 2
16 Stream Genre: various
17
18
19
2
3
4
5
6
7 http://farrias.tomsk.ru:8000/mpd.ogg
8 ????????°?? ?? ??»?µ????°??????
9 ?“????????????°? ?±?°?»?»?°???°
10 Stream Title: My Cool Stream
11 Stream Description: My Stream Description
12 Content Type:application/ogg
13 Quality: 5.00
14 Current Listeners: 2
15 Peak Listeners: 2
16 Stream Genre: various
17
18
19
А значит дело в mpd и коллекции :)
Вы думаете что влц и мплеер настолько круты, чтобы распутать кафарное хитросплетение кодировок. ^^
Да, это потоковое вещание. Но ведь можно звук подавать и с микрофона или нет? Тогда отличий от интрнет-радиостанции было бы не так много.
В MPD? Не знаю точно, но мне кажется что нет.
(можно записывать отдельно и пускать в режиме трека в mpd).
А в IceCast думаю, что конечно. Ему без разницы, откуда контент идет, главное чтобы шел.
(можно записывать отдельно и пускать в режиме трека в mpd).
А в IceCast думаю, что конечно. Ему без разницы, откуда контент идет, главное чтобы шел.
Я конечно же про icecast говорил.
Интересное дело. Настраивал icecast2 + darkice. Не работал darkice, все время с ошибкой вылетал (что-то вроде Darkice.cpp: 1140 can't ... connector <0>). Я и так и сяк крутил конфиг - безрезультатно. А проснувшись утром вижу, что все работает. Как так? Linux все чаще удивляет =)
Интересное дело. Настраивал icecast2 + darkice. Не работал darkice, все время с ошибкой вылетал (что-то вроде Darkice.cpp: 1140 can't ... connector <0>). Я и так и сяк крутил конфиг - безрезультатно. А проснувшись утром вижу, что все работает. Как так? Linux все чаще удивляет =)
Darkice подхватывает звук с заданного устройства и посылает на указанный сервер. То есть от mpd можно отказаться.
Хитрый план, отказаться от mpd. :D Кто же будет музыку играть?
Тут надо бы заюзать и мпд, и даркайс, связав все это через jack.
То есть идет музыка через мпд, но вот мы переключаем на даркайс, вот обратно. Сумбурно, да :)
Тут надо бы заюзать и мпд, и даркайс, связав все это через jack.
То есть идет музыка через мпд, но вот мы переключаем на даркайс, вот обратно. Сумбурно, да :)
В смсыле кто будет музыку играть? Любой проигрыватель установленный в системе, darkice подхватывает и посылает на сервер (icecast)
Мне просто из всех аудиоплееров под Linux импонирует mpd. (под оффтопиком - foobar2000). =)
И к тому же mpd - демон, что есть гуд - радиостанция не будет зависеть от того, запущены ли иксы.
И к тому же mpd - демон, что есть гуд - радиостанция не будет зависеть от того, запущены ли иксы.
Интересено, где проходит грань между "чтобы слушать удаленно mpd" и "интернет-радио".
Если не хочется мучатся с запоминанием ip или быть может у кого-то ip динамический, настройте себе dyndns и имейте своё радио по адресу http://mydomen.ath.cx:8000/, вообще иметь свой домен на динамическом ip очень приятно, ведь можно удобно подключаться по ssh, можно настроить веб-интерфейс к торрентам и т.д.
Хехей, а в моем уютном fibrenet статический айпи и восьмимегабитный анлим ^^
А в моём замечательном городе всего один провайдер и 256 кбит стоят 20$ =(
а вы не в курсе что достаточно
audio_output {
type "httpd"
name "mpd music"
encoder "vorbis"
port "8000"
quality "6.0"
format "44100:16:2"
}
в конфиге? версия mpd 0.15.5
audio_output {
type "httpd"
name "mpd music"
encoder "vorbis"
port "8000"
quality "6.0"
format "44100:16:2"
}
в конфиге? версия mpd 0.15.5
У меня версия mpd 0.14, а эта возможность доступна только с 0.15.
И вот Вам еще такой вопрос (может проверяли). А поддерживает ли он несколько потоков и "чужие" потоки?
несколько - да, с разными конфигами, если под чужими понимается другие онлайн потоки - да умеет, снимаю наше радио ежедневно
А слушать можно в VLC (даже под offtopic).
Правда чтобы рулить плеером все равно нужен mpc (любой из зоопарка). Под злостный оффтопик есть Ario и gmpc (ЕМНИП).
Только это не радиостанция, а потокое вещание. Ибо нет передач, если конечно не записывать отдельно. (кстати, может кто напишет статейку по ardour+jack?)