Видео ролики бесплатно онлайн

Смотреть гиг видео

Официальный сайт detisavve 24/7/365

Смотреть видео бесплатно

dementiy 14.02.2010 05:02

How-to`smpd + icecast2 = интернет-радио

Хочу рассказать, каким образом можно поднять у себя дома небольшую радиостанцию. Для этого нам потребуется icecast2 и mpd.
Что такое mpd? Вот определение из Wiki: «MPD — музыкальный проигрыватель с клиент-серверной архитектурой, который читает музыку из указанного каталога, а при помощи клиента можно управлять воспроизведением».

Для того, чтобы установить mpd, необходимо выполнить следующую команду (на примере Ubuntu):

1
sudo apt-get install mpd


Теперь его необходимо настроить. Конфигурационный файл находится в /etc/mpd.conf. Откроем его для редактирования от пользователя root:

1
sudo gedit /etc/mpd.conf


Приведу свой пример конфигурации:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
######################## REQUIRED PATHS ########################
music_directory "/path_to_music" #путь к каталогу с вашей музыкой
playlist_directory "$HOME/mpd/playlists" #папка, где хранятся playlist'ы
db_file "$HOME/mpd/tag_cache" #tag_cache содержит информацию о композициях
log_file "$HOME/mpd/mpd.log"
error_file "$HOME/mpd/errors.log"

######################## OPTIONAL PATHS ########################
pid_file "$HOME/mpd/pid" #pid (номер процесса) mpd
state_file "$HOME/mpd/state" #некоторая информация о текущем состоянии mpd:
#громкость, повторение песен, плейлист и т.д.

######################## DAEMON OPTIONS ########################
user "dimm" #пользователь, который имеет доступ к mpd
bind_to_address "127.0.0.1" #адрес, на котором будет работать mpd
#если у вас указано localhost, то из-за этого
#могут быть ошибки!
port "6600" #номер порта

########################## AUDIO OUTPUT ########################
audio_output {
type "shout" #указываем на то, что это ShoutCast сервер
encoding "ogg" #формат потока
name "Dementiy Shout" #название потока
host "127.0.0.1" #адрес, на котором работает icecast2
port "8000" #№ порта, на котором работает icecast2
mount "/stream.ogg" #точка монтирования потока на сервере icecast2
password "hackme" #пароль, который будет задан в icecast2
quality "5.0" #если указываем quality, то не указываем bitrate
# bitrate "64" #и наоборот
format "44100:16:1" #частота:бит_на_семпл:количество каналов (1/2)
user "source" # optional
description "Dementiy Stream" #описание потока
genre "electronic" #жанр
public "no" # optional
timeout "2" # optional
}

audio_output {
type "pulse" #я использую PulseAudio, если вы используете к примеру alsa или
#oss, то и тип соответственно будет "alsa" или "oss"
name "My Pulse Output"
}

mixer_type "software" #опять же мой выбор был обоснован использованием
#PulseAudio, в противном случае используйте alsa

###################### CHARACTER ENCODINGS #####################
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
######################### OTHER OPTIONS ########################
metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"


если оставить только секцию "shout", то вы не сможете слышать музыку, которая играет в данный момент

Итак, сохранив настройки создаем базу с нашей коллекцией музыки:

1
sudo /etc/init.d/mpd start-create-db


на более старых версиях проигрывателя был префикс --create-db

Теперь осталось только запустить mpd:

1
sudo /etc/init.d/mpd start


Для управления mpd можно поставить какой-либо клиент, коих довольно много, например Sonata (gtk) или ncmpc (console, рис 1.).

dc4863cb3179c38e4f3c05d5d54c9271.jpeg
Рис.1. Консольный клиент для mpd - ncmpc

Теперь перейдем к icecast2. Из Wiki: «Icecast — свободное ПО для организации потокового цифрового аудиовещания». Для его установки выполняем следующую команду:

1
sudo apt-get install icecast2


Настройки хранятся в /etc/icecast2/icecast.xml. Я выбрал для себя такой путь, создать в домашнем каталоге папку icecast2, в которой будут храниться все настройки, следовательно надо скопировать все файлы из /etc/icecast2 в эту папку и выставить на нее права:

1
sudo chown -R icecast2:icecast $HOME/icecast2


Далее открываем файл icecast.xml:

1
sudo gedit ~/icecast2/icecast.xml


Приведу изменения по сравнению с конфигурацией по умолчанию (mpd.conf и icecast.xml довольно хорошо прокомментированы, но все же, перед внесением изменений сделайте их резервные копии):

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<icecast>
...
<authentication>
<!-- Этот пароль должен совпадать с паролем выставленным в mpd.conf -->
<source-password>hackme</source-password>
<relay-password>hackme_relay</relay-password>
<!-- Логин и пароль для доступа к интерфейсу администратора -->
<admin-user>admin</admin-user>
<admin-password>admin_password</admin-password>
</authentication>

<!-- Хост и порт, на котором будет работать icecast2 -->
<hostname>127.0.0.1</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>

<!-- «Точка» монтирования потока -->
<mount>
<mount-name>/stream.ogg</mount-name>
</mount>
...
<!-- Пути к настройкам и интерфейсу icecast2 -->
<paths>
<basedir>$HOME/icecast2</basedir>
<logdir>$HOME/icecast2/log</logdir>
<webroot>$HOME/icecast2/web</webroot>
<adminroot>$HOME/icecast2/admin</adminroot>
<pidfile>$HOME/icecast2/icecast.pid</pidfile>
<alias source="/" dest="/status.xsl"/>
</paths>
...
</icecast>


Теперь, чтобы иметь возможность запускать его через /etc/init.d/icecast2, необходимо в файле /etc/default/icecast2 произвести следующие изменения:

1
2
CONFIGFILE="$HOME/icecast/icecast.xml"
ENABLE=true


Теперь все готово, чтобы запустить icecast2, выполняем:

1
sudo /etc/init.d/icecast2 start


Набираем в браузере http://127.0.0.1:8000/ и мы должны увидеть примерно следующее:

6de960d0b4ca92a342237bcaf32dc24f.jpeg

Как минимум мы теперь знаем о том, что icecast2 работает. Теперь перезапускаем mpd и открываем любую композицию (если вы устанавливали ncmpc, то его можно запустить следующим образом: ncmpc --host=127.0.0.1 --port=6600). В icecast2 заходим в пункт «Administration» (нас попросят ввести login и password), там на первой же «вкладке» (Admin Home) после «Global Server Stats» будет информация о смонтированном потоке:

baee0962f633bbaa2b91e34193556d1a.jpeg

Вот и все, осталось только рассказать своим знакомым, что у вас есть своя интернет-радиостанция, к которой они могут обратиться по адресу http://your_ip_address:8000/stream.ogg.m3u

P.S. Не хотелось углубляться в настройки, целью было поднять mpd + icecast2 с минимальной рабочей конфигурацией (тем более про настройку mpd было уже довольно много сказано, хотя бы тут и тут), от которой в дальнейшем можно было бы шагать. И еще pdf c текстом поста.
P.P.S. Уже по теме кое-что было.


Тэги: icecast2 mpd shoutcast быстрая настройка потоковое вещание
+ 10 -
Похожие Поделиться

booley 14.02.2010 06:39 #
+ 0 -
Плюсую, почти также настроил mpd буквально на днях :)

А слушать можно в VLC (даже под offtopic).
Правда чтобы рулить плеером все равно нужен mpc (любой из зоопарка). Под злостный оффтопик есть Ario и gmpc (ЕМНИП).

Только это не радиостанция, а потокое вещание. Ибо нет передач, если конечно не записывать отдельно. (кстати, может кто напишет статейку по ardour+jack?)
booley 14.02.2010 06:49 #
+ 0 -
Кстати, совсем забыл. Типа постскриптум:
http://farrias.tomsk.ru:8000/mpd.ogg.m3u - это мой mpd :D
ko10ok 14.02.2010 06:54 #
+ 0 -
"???????????µ ????µ??µ??" эммм .. эт амарок мне травит, что поделать?
booley 14.02.2010 07:00 #
+ 0 -
Хм, какая у вас кодировка в амароке по умолчанию?

VLC спокойно отображает, что это всего лишь "Зимовье Зверей" :)
ko10ok 14.02.2010 07:07 #
+ 0 -
амарооке только утф-8 отборный жрет у мменя... =)
booley 14.02.2010 07:10 #
+ 0 -
Хм, я даже не задумывался, какая там кодировка :)

Когда приду к тому компу, гляну.
ko10ok 14.02.2010 07:18 #
+ 0 -
А у меня вот так всегда без испатчканного taglib ><
Все локальную коллекцию переконвертил в УТФ8 чтоб не мучиться
booley 14.02.2010 07:33 #
+ 0 -
Вы сподвигли меня на бравый подвиг - перекодировать все эти 50Gb в UTF-8.

Только это будет не быстро. Постараюсь в начале русскоязычных, затем иностранных, а затем уже и дискографию Эннио Морриконе. :)
ko10ok 14.02.2010 07:46 #
+ 0 -
Возможно, если они в каком нить цп1251, то мпд пытается прочитать их как утф8 что и приводит к сему.
Не горячитесь, попробуйте на альбомчике...

ЗЫ установк таглиб-рцц не особа помогло. >< "???µ??????-??????"
ko10ok 14.02.2010 07:53 #
+ 0 -
Ну почему амарок не хочет по нормальному ><
Как 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


Приношу извинения за него >
booley 14.02.2010 07:58 #
+ 0 -
Не только амарок тупит: XSPF-валидатор кажет такие же кракозяблы.
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  

А значит дело в mpd и коллекции :)
ko10ok 14.02.2010 08:04 #
+ 0 -
Вы думаете что влц и мплеер настолько круты, чтобы распутать кафарное хитросплетение кодировок. ^^
booley 14.02.2010 08:35 #
+ 0 -
Ну... вместе у них получается :)
dementiy 14.02.2010 11:10 #
+ 0 -
Да, это потоковое вещание. Но ведь можно звук подавать и с микрофона или нет? Тогда отличий от интрнет-радиостанции было бы не так много.
booley 14.02.2010 11:16 #
+ 0 -
В MPD? Не знаю точно, но мне кажется что нет.

(можно записывать отдельно и пускать в режиме трека в mpd).

А в IceCast думаю, что конечно. Ему без разницы, откуда контент идет, главное чтобы шел.
dementiy 14.02.2010 11:27 #
+ 0 -
Я конечно же про icecast говорил.

Интересное дело. Настраивал icecast2 + darkice. Не работал darkice, все время с ошибкой вылетал (что-то вроде Darkice.cpp: 1140 can't ... connector <0>). Я и так и сяк крутил конфиг - безрезультатно. А проснувшись утром вижу, что все работает. Как так? Linux все чаще удивляет =)
booley 14.02.2010 11:30 #
+ 0 -
Самозалечивающаяся система =)
what is darkice?
dementiy 14.02.2010 11:38 #
+ 0 -
Darkice подхватывает звук с заданного устройства и посылает на указанный сервер. То есть от mpd можно отказаться.
booley 14.02.2010 11:49 #
+ 0 -
Хитрый план, отказаться от mpd. :D Кто же будет музыку играть?

Тут надо бы заюзать и мпд, и даркайс, связав все это через jack.

То есть идет музыка через мпд, но вот мы переключаем на даркайс, вот обратно. Сумбурно, да :)
dementiy 14.02.2010 11:52 #
+ 0 -
В смсыле кто будет музыку играть? Любой проигрыватель установленный в системе, darkice подхватывает и посылает на сервер (icecast)
booley 14.02.2010 11:58 #
+ 0 -
Мне просто из всех аудиоплееров под Linux импонирует mpd. (под оффтопиком - foobar2000). =)

И к тому же mpd - демон, что есть гуд - радиостанция не будет зависеть от того, запущены ли иксы.
booley 14.02.2010 09:54 #
+ 0 -
Интересено, где проходит грань между "чтобы слушать удаленно mpd" и "интернет-радио".
stogerc 14.02.2010 11:19 #
+ 0 -
Если не хочется мучатся с запоминанием ip или быть может у кого-то ip динамический, настройте себе dyndns и имейте своё радио по адресу http://mydomen.ath.cx:8000/, вообще иметь свой домен на динамическом ip очень приятно, ведь можно удобно подключаться по ssh, можно настроить веб-интерфейс к торрентам и т.д.
booley 14.02.2010 11:21 #
+ 0 -
Хехей, а в моем уютном fibrenet статический айпи и восьмимегабитный анлим ^^
stogerc 14.02.2010 11:25 #
+ 0 -
А в моём замечательном городе всего один провайдер и 256 кбит стоят 20$ =(
booley 14.02.2010 11:29 #
+ 0 -
Мой месяц интернетного счастья стоит 650 рублей России.
x0x01 15.02.2010 10:45 #
+ 0 -
а вы не в курсе что достаточно
audio_output {
type "httpd"
name "mpd music"
encoder "vorbis"
port "8000"
quality "6.0"
format "44100:16:2"
}
в конфиге? версия mpd 0.15.5
dementiy 15.02.2010 11:18 #
+ 0 -
У меня версия mpd 0.14, а эта возможность доступна только с 0.15.
dementiy 15.02.2010 11:27 #
+ 0 -
И вот Вам еще такой вопрос (может проверяли). А поддерживает ли он несколько потоков и "чужие" потоки?
x0x01 15.02.2010 11:30 #
+ 0 -
несколько - да, с разными конфигами, если под чужими понимается другие онлайн потоки - да умеет, снимаю наше радио ежедневно
HTaeD 15.02.2010 11:42 #
+ 0 -
Спасибо. Хоть у меня и 0.15.8, но бо этом не знал.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн