Вы находитесь на странице: 1из 4

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

sudo apt-get install mpd

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

sudo gedit /etc/mpd.conf

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

######################## 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"

state_file

#pid (номер процесса) mpd #некоторая информация о текущем состоянии mpd:

#громкость, повторение песен, плейлист и т.д.

"$HOME/mpd/state"

######################## 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", то вы не сможете слышать музыку, которая *играет в данный момент

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

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

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

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

sudo /etc/init.d/mpd start

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

Sonata (gtk) или ncmpc (console, рис 1.). Рис.1. Консольный клиент для mpd -

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

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

sudo apt-get install icecast2

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

sudo chown -R icecast2:icecast $HOME/icecast2

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

sudo gedit ~/icecast2/icecast.xml

Приведу изменения по сравнению с конфигурацией по умолчанию (mpd.conf и

icecast.xml довольно хорошо прокомментированы, но все же, перед внесением изменений сделайте их резервные копии):

<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 произвести следующие изменения:

CONFIGFILE="$HOME/icecast/icecast.xml"

ENABLE=true

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

sudo /etc/init.d/icecast2 start

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

в браузере 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» будет информация о смонтированном потоке:

о смонтированном потоке: Вот и все, осталось только

Вот и все, осталось только рассказать своим знакомым, что у вас есть своя интернет-радиостанция, к которой они могут обратиться по адресу:

*для тех кто использует роутер придется потратить чуть больше времени